Web Console Guide
Use the Red Hat Application Migration Toolkit's web console to group your applications into projects for analysis.
Abstract
Chapter 1. Introduction
1.1. About the Web Console Guide
This guide is for engineers, consultants, and others who want to use Migration Toolkit for Applications (MTA) to migrate Java applications or other components. It describes how to install and use the web console to manage migration projects and analyze applications.
1.2. About Migration Toolkit for Applications
What is Migration Toolkit for Applications?
Migration Toolkit for Applications (MTA) is an extensible and customizable rule-based tool that helps simplify migration of Java applications.
MTA examines application artifacts, including project source directories and application archives, then produces an HTML report that highlights areas needing changes. MTA can be used to migrate Java applications from previous versions of Red Hat JBoss Enterprise Application Platform or from other containers, such as Oracle® WebLogic Server or IBM® WebSphere® Application Server.
How Does Migration Toolkit for Applications Simplify Migration?
Migration Toolkit for Applications looks for common resources and highlights technologies and known trouble spots when migrating applications. The goal is to provide a high-level view into the technologies used by the application and provide a detailed report organizations can use to estimate, document, and migrate enterprise applications to Java EE and Red Hat JBoss Enterprise Application Platform.
How Do I Learn More?
See the Getting Started Guide to learn more about the features, supported configurations, system requirements, and available tools in the Migration Toolkit for Applications.
1.3. About the Web Console
The web console for Migration Toolkit for Applications is a web-based system that allows a team of users to assess and prioritize migration and modernization efforts for a large number of applications. It allows you to group applications into projects for analysis and provides numerous reports that highlight the results.
Chapter 2. Installing the Web Console
The web console can be installed either using the ZIP distribution or on OpenShift.
2.1. ZIP Installation
When installed using the ZIP distribution, the MTA web console is deployed on Red Hat JBoss Enterprise Application Platform, uses Red Hat Single Sign-On for authentication, and is backed by an H2 database for storage.
2.1.1. Prerequisites
Verify that you meet the following prerequisites.
- Java Platform, JRE version 8+
- A minimum of 8 GB RAM; 16 GB recommended
If you are running macOS, it is recommended to set the maximum number of user processes, maxproc
, to at least 2048
, and the maximum number of open files, maxfiles
, to 100000
.
2.1.2. Install the Web Console
- Download the web console from the MTA Download page.
Extract the ZIP file to a directory of your choice.
The path to the directory created by unzipping this file is referred to as
RHAMT_HOME
throughout this guide.
2.1.3. Start the Web Console
Run the script to start the web console.
$ RHAMT_HOME/run_rhamt.sh
In a Windows environment, use the run_rhamt.bat
script.
You can now access the web console from a browser.
2.1.4. Access the Web Console
Once started, the web console is accessible from a browser by default on the local host at http://localhost:8080/rhamt-web.
Figure 2.1. Welcome Page

The web console uses a default user to automatically authenticate. The default user’s credentials are rhamt
and password
. See Configuring Authentication for the Web Console to require individual users to authenticate in order to access the web console.
2.2. OpenShift Installation
When installed on OpenShift, the MTA web console is deployed on Red Hat JBoss Enterprise Application Platform, uses Red Hat Single Sign-On for authentication, and is backed by a PostgreSQL database for storage.
2.2.1. Prerequisites
Verify that you meet the following prerequisites.
- You must have access to an instance of OpenShift Container Platform version 3.5 or higher.
- Your OpenShift instance must have the middleware image streams installed.
- You must have the OpenShift Container Platform CLI installed on your local machine.
- You must be running Linux or macOS on your local machine. Windows is not currently supported.
See the OpenShift Container Platform documentation for assistance.
2.2.2. Understanding the Web Console OpenShift Image
Red Hat offers containerized images for MTA that are designed for use with OpenShift. Using these images developers can quickly and easily manage migration projects and analyze applications.
The OpenShift images include three separate pods:
- The executor, responsible for running the analysis and generating the reports
- The web console interface and SSO, which provide access to the web console itself
- The PostgreSQL database, which stores the project’s configuraton and analysis tracking information
A separate persistent volume is used for the web console interface and the PostgreSQL pods; however, the executor’s storage is dependent on the template used.
The
web-template-empty-dir-executor.json
is the recommended template. It configures the executor pod to use temporary storage on a single machine, and has no defined persistent volume. The analysis data is sent between the executor and web console pods using a RESTful web service.Figure 2.2.
web-template-empty-dir-executor.json
The
web-template-empty-dir-executor-shared-storage.json
is an alternative template available for use. This template configures the executor pod and the web console pod to use a shared persistent volume. All instances of these pods read and write to the same persistent volume, mounted asReadWriteMany
in OpenShift.Figure 2.3.
web-template-empty-dir-executor-shared-storage.json
OpenShift Template Environment Variables
The OpenShift image environment variables are configured as a baseline for application analysis, and work well in a variety of environments. No additional configuration is required to perform an analysis.
The most common environment variables modified are the CPU and memory resources allocated to each image. These contain a pattern of NODE_NAME
followed by REQUESTED_RESOURCE
. For instance, EXECUTOR_REQUESTED_CPU
indicates the number of CPU cores to request for the executor pod, while EXECUTOR_REQUESTED_MEMORY
indicates the amount of memory to request for the executor pod.
All of the environment variables are found within each template, along with a description of each.
2.2.3. Deploy the MTA Application
- Download the web console from the MTA Download page.
Extract the ZIP file to a directory of your choice.
The path to the directory created by unzipping this file is referred to as
RHAMT_HOME
throughout this guide.Access the OpenShift web console. It should appear similar to the following image.
-
Click the
Import YAML / JSON
button in the top-right corner of the web console. Provide the following information in the window that appears, as seen below.
-
Define a
Project Name
, such asrhamt
. -
Optionally, define a
Project Display Name
to help describe the project. -
Optionally, define a
Project Description
to help provide context on how the project will be used. -
Click the Browse button and import the desired web console template. These are included in
RHAMT_HOME/openshift/templates
. Once imported, the JSON is visible in the bottom text area.
-
Define a
- Click the Create button to proceed to the next screen.
-
If you would like to save the template as a resource for future projects, check the
Save template
box. - Click the Continue button to proceed to the next screen.
-
Review the default values provided, adjusting as necessary. For instance, the
web-template-empty-dir-executor.json
file defines 2 CPUs, 4GB of memory, and a 20GB persistent volume. - Click the Create button to import the template into your project.
Once completed, you can access the web console from a browser.
2.2.4. Access the Web Console
Once the web console has been deployed on OpenShift, you can access it from a browser. The deploy.sh
script outputs the link, shown in the example below as WEB_CONSOLE_URL
, to use to open the web console.
Example: deploy.sh
Output
...
-> Deploy RHAMT Web Console ...
Upload, build and deployment successful!
Open WEB_CONSOLE_URL to start using the RHAMT Web Console on OpenShift (user='rhamt',password='password')
You can also access the web console from the OpenShift console at OPENSHIFT_URL/console/project/rhamt/overview
by clicking the link in the RHAMT WEB CONSOLE HTTP application. If you renamed the OpenShift project when deploying, be sure to replace rhamt
in this URL with the name of your project.
If the web console does not load immediately, check the status of the project in the OpenShift console to see if it is still processing or if there were errors.
Figure 2.4. Welcome Page

Authentication is required in order to access the web console. The default user’s credentials are rhamt
and password
. See Configuring Authentication for the Web Console for more information on configuring authentication for the web console.
2.2.5. Troubleshoot the Web Console OpenShift Install
The following steps discuss common techniques for troubleshooting the web console in an OpenShift environment. These instructions are focused on issues specific to the web console, for OpenShift specific issues refer to the following troubleshooting sections.
2.2.5.1. Ensure Latest Image Version
The first step in troubleshooting in an OpenShift environment is to ensure that the latest image is in use.
If you have deployed the web console by pasting in a JSON template, then no image stream is created and the following steps are not applicable.
From your OpenShift environment perform the following steps.
-
Access the OpenShift console by navigating to
OPENSHIFT_URL/console/project/rhamt/overview
. If you renamed the OpenShift project when deploying, be sure to replacerhamt
in this URL with the name of your project. -
Hover over
Builds
along the left side of the console. -
Click
Images
from the options that appear. -
Ensure that the column under
Tags
indicates that each image is on thelatest
stream. - If the latest image is not in use, follow the steps at OpenShift Installation to redeploy the latest image of the web console.
2.2.5.2. Examine and Collect the Web Console Logs
Each pod is configured to provide detailed logging that assists with narrowing down the precise cause of an issue. The following steps discuss viewing and obtaining these logs.
2.2.5.2.1. Using the OpenShift Console
The following steps walk through the process to examine the logs for each pod.
-
Access the OpenShift console by navigating to
OPENSHIFT_URL/console/project/rhamt/overview
. If you renamed the OpenShift project when deploying, be sure to replacerhamt
in this URL with the name of your project. -
Hover over
Applications
along the left side of the console. -
Click
Pods
from the options that appear. -
Click the name of the pod that you wish to examine. To examine the current web console pod, select the
rhamt-web-console-POD_NAME
that is in aRunning
state. -
Click
Logs
from the options along the top. -
To download the log file navigate to the top of the page and click
Download
.
2.2.5.2.2. Using the OpenShift Client
Determine the pod name by executing
oc get pods
and search for theweb-console
entry with aRunning
status.$ oc get pod sNAME READY STATUS RESTARTS AGE eap-builder-1-build 0/1 Completed 0 1d rhamt-postgresql-1-hfbdn 1/1 Running 0 1d rhamt-sso-1-build 0/1 Completed 0 1d rhamt-web-console-1-build 0/1 Completed 0 1d rhamt-web-console-1-vt7s5 1/1 Running 1 1d sso-1-wjl2n 1/1 Running 1 1d
In the above example this is
rhamt-web-console-1-vt7s5
.Use
oc logs
to examine the current pod’s log.oc logs POD_NAME
The output may be redirected to obtain a copy of the current log.
oc logs POD_NAME > ./rhamt-openshift-POD_NAME.log
2.2.5.3. Common Issues with Web Console OpenShift
2.2.5.3.1. Executor Pod Throws NoRouteToHostException
When accessing the executor pod’s logs the following error is seen.
13:44:03,501 SEVERE [org.jboss.windup.web.messaging.executor.ExecutorBootstrap] (main) Could not start messaging listener due to: Failed to connect to any server. Servers tried: [http-remoting://192.0.2.4:8080 (java.net.NoRouteToHostException: No route to host)]: javax.naming.CommunicationException: Failed to connect to any server. Servers tried: [http-remoting://192.0.2.4:8080 (java.net.NoRouteToHostException: No route to host)] [...]
What it means:
A NoRouteToHostException
indicates that this pod isn’t able to connect to the web console pod.
How to resolve it:
In a new deployment this is expected, as the executor starts before the web console. Otherwise, examine the web console pod and resolve any errors seen here. Once the web console is running successfully this error should be resolved.
2.2.5.3.2. Pod Reports Insufficient Resources
After attempting to deploy Web Console on OpenShift, the pod is unable to start, and the following error is seen in the Events
tab.
0/9 nodes are available: 4 Insufficient cpu, 4 MatchNodeSelector, 9 Insufficient memory.
What it means:
The resource quota for the OpenShift project has been met, and the pod is unable to obtain the requested resources.
How to resolve it:
Perform either of the following:
- Increase the quota for the OpenShift project. For additional information on OpenShift quotas, see Quotas and Limit Ranges and Setting Limit Ranges.
- Reduce the requested resources for the web console OpenShift project. It is recommended to have at least 2 CPUs and 4 GB of memory for the project.
Once the request is within the available quota, attempt the deployment once again.
2.2.5.3.3. Pod Takes Longer than 600 seconds to become available
After attempting a deployment, the -deploy
pods timeout and report the following error.
error: update acceptor rejected rhamt-web-console-executor-1: pods for rc 'rhamt/POD_NAME' took longer than 600 seconds to become available
These errors appear after the pods timeout and are placed into an error state.
What it means:
The deployment pods are unable to successfully launch the pods.
This error can be caused by a number of sources, with the following being the most common:
- The OpenShift instance is currently out of resources to deploy the pod in a timely manner.
- The images were unable to be successfully pulled from the registry.
How to resolve it:
Attempt the deployment again, and view the logs and events of the non deployment pods while they are being created. These messages will provide context to the underlying errors resulting in the deployment pod timeouts.
- To address the first issue reported, where the OpenShift instance is out of resources, follow the instructions in Analyzing Cluster Capacity from the Cluster Administration guide in the OpenShift documentation to determine the cluster capacity. Once the capacity has increased, or there are fewer jobs executing, attempt the deployment once again.
- To address the second issue reported, where the images are unable to be pulled from the registry, access the registry to ensure the images are present. This link also includes instructions on examining the logs for the Docker registry, and can be used to troubleshoot the issue further.
2.2.5.4. Report Issues with Web Console OpenShift
{ ProductName} uses JIRA as its issue tracking system. If you encounter any issues while using the web console, please file a JIRA Issue by following the below instructions.
If you do not have one already, you must sign up for a JIRA account in order to create a JIRA issue.
Open a browser and navigate to the JIRA Create Issue page.
If you have not yet logged in, click the Log In link at the top right side of the page and enter your credentials.
Choose the following options and click the Next button.
- Project: Choose Red Hat Application Migration Toolkit (WINDUP).
- Issue Type: Bug
On the next screen complete the following fields.
- Summary: Enter a brief description of the problem or issue.
- Environment: Indicate that this is an OpenShift installation of the web console, and include any environment variables in use with the image.
- Description: Provide a detailed description of the issue. Be sure to include any errors encountered and exception traces.
Attachment: Include the logs obtained in Examine and Collect the Web Console Logs. At a minimum this should include the logs from each pod.
If the application or archive causing the issue does not contain sensitive information and you are comfortable sharing it with the MTA development team, attach it to the issue using the browse button.
- Click the Create button to create the JIRA issue.
Chapter 3. Using the Web Console to Analyze Applications
In order to use the web console to analyze applications, you must create a project. Each project is a way to group applications for analysis and specifies the settings to use during the analysis of its applications. The analysis process generates reports that provide information about the changes necessary for a migration or modernization effort.
Follow these steps to use the web console to analyze your applications and review the results.
Click the Projects link at the top of the web console to return to the project list at any time. Visit the help menu for an About page and a link to the MTA documentation.
3.1. Add a Project
When you first access the web console, you will be prompted to set up a new project.
Figure 3.1. Home

Click the New Project button to launch the wizard to set up a new migration project.
Figure 3.2. Add Project

Specify a name and an optional description for this project and press Next to continue.
3.2. Add Applications to a Project
Specify the applications to add to this project. You can either upload applications or register a server path that contains applications.
Figure 3.3. Add Applications

- Upload Applications
- You can use the Choose Files button to select applications, or you can drag and drop applications into the area provided. This uploads the selected applications to the MTA server.
- Register a Server Path
Select the Server Path tab and enter a path on the server that contains applications to be included in this project. This does not copy the files to the MTA server, but instead evaluates the applications in the specified location.
This is useful for the following cases:
- You want to register an existing directory on the server that contains applications, for example, from a nightly automatic build process. This way, the MTA server will analyze the latest versions of applications.
- You want to register an application as an exploded Java archive. In this case, be sure to check the Directory is an exploded Java application archive checkbox.
Once you have specified one or more applications for this project, press Next to continue.
3.3. Specify the Analysis Configuration
Configure the settings for the analysis, such as the transformation path, packages, and other advanced options.
Figure 3.4. Configure Analysis

- Transformation Path
Select the transformation path for your applications. The current options are:
Migration to JBoss EAP 7
Execute rules to migrate your applications to Red Hat JBoss Enterprise Application Platform 7.
Migration to JBoss EAP 6
Execute rules to migrate your applications to Red Hat JBoss Enterprise Application Platform 6.
Cloud readiness only
Only execute rules to assess your applications for cloud and container environment.
If you select migration to JBoss EAP, you can also run cloud readiness rules by checking the Cloud readiness analysis checkbox.
- Include Packages
- Select which packages to analyze. If none are selected, all packages will be decompiled and analyzed.
- Exclude Packages
- Select which packages to exclude from analysis.
- Custom Rules
Select which custom rulesets to use during analysis. See Using Custom Rules for instructions on registering and removing custom rules.
Once a custom ruleset has been registered, it may be selected for execution by clicking on the displayed rule to highlight it. Clicking a highlighted rule will deselect it for the project. During execution, all highlighted rules will be included in the analysis.
To select all of the custom rulesets click Select All, and to deselect all of the custom rulesets click Clear All.
- Advanced Options
- Set additional MTA options. See the MTA Command-line Arguments section of the MTA CLI Guide for a description of each MTA argument.
Press Save to save the analysis configuration, or press Save & Run to save and execute the analysis using these settings.
3.4. Execute the Analysis
From the analysis configuration page, click the Save & Run button to execute the analysis.
On the Analysis page, the progress of the analysis that is currently executing is shown. Completed, queued, and in-progress executions are listed in the table. Click the Run Analysis to execute the analysis again with the latest configuration.
3.5. View the Results of an Analysis
Once you have executed MTA analysis on a project, the analysis is listed in a table that provides the analysis ID, status, and date started. Each row includes actions available for that analysis, including viewing the analysis details and generated reports, as well as canceling or deleting the analysis.
Figure 3.5. Analysis List

Click the link in the Analysis column to view the reports or click the information icon in the Actions column to view the analysis details.
3.5.1. Examine Analysis Details
The details of an analysis can be viewed by clicking the information icon in the Actions column of the Analysis Results table.
Figure 3.6. Analysis Details

This page provides the following tabs with information about this analysis.
- Details
- This tab shows the status, start date, and duration of the analysis as well as the configuration settings that were used for this analysis.
- Applications
- This tab lists the applications that were included in this analysis.
- Rules
This tab lists the rules that were evaluated during this analysis.
NoteYou can view all system and custom rules by selecting Rules Configuration from the user drop down.
- Logs
- This tabs shows the output from this MTA analysis engine execution.
3.5.2. Review the Reports
From the analysis table, click the report link in the Actions column to view the reports for this analysis. This opens a new window with the generated MTA reports.
See the Review the Reports section of the MTA CLI Guide for information on the MTA reports and how to use them to assess your migration or modernization effort.
Chapter 4. Using Custom Rules
You can add your own custom rules to use during analysis of your applications. For information on writing custom MTA rules, see the MTA Rules Development Guide.
Select Rules Configuration from the user drop down to view all existing system and custom rules.
Figure 4.1. Add Custom Rules

To add your own custom rules, click the Add button. You can either upload rules or register a server path that contains the rules.
- Upload Rules
- You can use the Choose Files button to select ruleset files, or you can drag and drop the files into the area provided. This uploads the selected ruleset files to the MTA server. Click Add to upload the rules.
- Register a Server Path
- Select the Server Path tab and enter a path on the server that contains rules to be available to projects. This does not copy the files to the MTA server, but instead uses the rules found in the specified location during analysis. This way, if the rules are updated in this location, the MTA server will always use the latest versions of rules during analysis. Click Add to register the rules.
Custom rulesets may be selected individually during a project analysis. To enable these select the ruleset in the Use local custom rules section of the analysis configuration.
Chapter 5. Configuring Authentication for the Web Console
You can configure the web console to require authentication, which is handled by Red Hat Single Sign-On. When enabled, users will be required to authenticate before being granted access to the web console.
It is recommended to complete the following steps to configure authentication for the web console.
Enable authentication for the web console.
NoteIf you have installed web console on OpenShift, authentication is already enabled and cannot be disabled.
- Change the administrative user’s credentials.
- Remove the default web console user.
- Add web console users.
5.1. Enable Authentication for Web Console
If you have installed web console on OpenShift, authentication is already enabled and cannot be disabled.
Run the following script to require users to log in before accessing the web console. This script configures the Red Hat Single Sign-On login page to require users to authenticate before granting access to the web console.
$ RHAMT_HOME/switch_to_authentication_required.sh
In a Windows environment, use the switch_to_authentication_required.bat
script.
Now, whenever you start the web console, users will be required to authenticate to access it.
5.2. Change the Administrative User’s Credentials
When you enable authentication for the web console, a default administrative user is provided with the username admin
and password password
. You should change this password so that only those that are authorized can make further changes to web console users.
Follow these steps to change the default administrative user’s password.
- Make sure that the web console is running.
Open the Red Hat Single Sign-On administration console.
For a ZIP installation:
-
Navigate to
http://localhost:8080/auth/
in a browser. - Select Administration Console to access the Red Hat Single Sign-On administration console.
-
Navigate to
For an OpenShift installation:
Navigate to
OPENSHIFT_URL/console/project/rhamt/overview
in a browser.NoteIf you renamed the OpenShift project when deploying, replace
rhamt
with the name of your project.- Click the link in the SSO HTTPS application and add "/auth" to the end of the URL.
- Select Administration Console to access the Red Hat Single Sign-On administration console.
-
Log in with the default credentials of
admin
andpassword
. - In the upper left corner, select the Master realm from the drop down.
- In the left-side navigation menu, select Users and then click View all users.
- From the admin user’s row, click Edit.
- Select the Credentials tab.
- Enter the new password in the New Password and Password Confirmation fields.
- Change the Temporary field to OFF to not require the user to change the password upon next login.
- Click Reset Password and then click Change password in the popup.
You can also remove this default administrative user completely and create your own administrative users. However, be sure to add the new users before removing the default user.
5.3. Remove the Default Web Console User
A default web console user is provided with the web console with the username rhamt
and password password
. When you enable authentication for the web console, you should remove this user so that the web console can only be accessed by authorized users.
Follow these steps to remove the default web console user.
- Make sure that the web console is running.
Open the Red Hat Single Sign-On administration console.
For a ZIP installation:
-
Navigate to
http://localhost:8080/auth/
in a browser. - Select Administration Console to access the Red Hat Single Sign-On administration console.
-
Navigate to
For an OpenShift installation:
Navigate to
OPENSHIFT_URL/console/project/rhamt/overview
in a browser.NoteIf you renamed the OpenShift project when deploying, replace
rhamt
with the name of your project.- Click the link in the SSO HTTPS application and add "/auth" to the end of the URL.
- Select Administration Console to access the Red Hat Single Sign-On administration console.
-
Log in with an administrative user’s credentials. The default credentials are
admin
andpassword
. - In the upper left corner, select the Rhamt realm from the drop down.
- From the left-side navigation menu, select Users and then click View all users.
- From the rhamt user’s row, click Delete and confirm.
5.4. Add a New Web Console User
When authentication is enabled for the web console, administrators will need to add users so that they can access the web console.
Follow these steps to add a new web console user.
- Make sure that the web console is running.
Open the Red Hat Single Sign-On administration console.
For a ZIP installation:
-
Navigate to
http://localhost:8080/auth/
in a browser. - Select Administration Console to access the Red Hat Single Sign-On administration console.
-
Navigate to
For an OpenShift installation:
Navigate to
OPENSHIFT_URL/console/project/rhamt/overview
in a browser.NoteIf you renamed the OpenShift project when deploying, replace
rhamt
with the name of your project.- Click the link in the SSO HTTPS application and add "/auth" to the end of the URL.
- Select Administration Console to access the Red Hat Single Sign-On administration console.
-
Log in with an administrative user’s credentials. The default credentials are
admin
andpassword
. - In the upper left corner, select the Rhamt realm from the drop down.
- From the left-side navigation menu, select Users and then click Add user.
- Enter the Username, First Name, Last Name, and any other required fields and click Save.
- Once the user has been added, select the Credentials tab.
- Enter a temporary password in the New Password and Password Confirmation fields, and leave the Temporary field set to ON.
- Click Reset Password and then click Change password in the confirmation popup.
The user is enabled by default and will be required to set a new password when they log in to the web console with this temporary password.
Revised on 2022-11-10 16:18:17 UTC