In this walkthrough, you will learn the insights on what changes are required to containerize a legacy Java application running on tomcat server. This example uses Konveyor to perform analysis on the application source code, the results of which produce insights needed to containerize the application.
- Konveyor Operator
Konveyor Operator Installation
To install the Konveyor operator in your
minikube cluster, follow these set of instructions.
NOTE: If you are using macOS, please follow along this guide for Konveyor operator installation.To install Konveyor latest, please use the manifest from
Let’s Get started with Analysis Module
1. Create an app entry called
customer-tomcat in the
Analysis tab of the Konveyor UI.
* Fill in the name of the application -
* Expand source code and enter the following
* Repository Type:
* Source Repository:
* Root path:
* Click on the
2. Select the
customer-tomcat app and click on the
* An application analysis wizard will open.
Source Code + dependencies in the dropdown and click
* In the
Set Targets pane, select
Containerization option and click
Application and internal dependencies only
* Keep the defaults in Advanced section
* Move to the
Review pane, and click on
3. You will notice that the status of the app has been updated to
In Progress . Wait until the status changes to
4. Click on the app, and a pop-up pane will appear on the right side of the window with three tabs.
Tags tab, you can see the tags organized by categories that are applicable to this application.
Click on the
Reports tab, and select the
5. The Konveyor Analysis dashboard gets opened in a new tab.
Since we selected
Source code + Dependencies in the Analysis wizard, in addition to the
example-1 app report, we also have a report for the dependencies.
6. Click on the
All Issues tab in the top navigation bar.
Here you can see a list of informational issues and a couple of issues in the cloud mandatory column along with story point estimates.
Click on the issues to expand them. This view provides detailed information regarding
File system - Java IO and
Hard-coded IP address respectively.
7. Let’s look into each of the issues
File system - Java IO: This issue flags that the app is reading from a file location.This creates awareness, so that the migrator/architect is aware of data access and its dependencies. Click on the hyperlink highlighted below,
It will navigate to a page which provides finer details on the location of the identified issue itself.
Hard-coded IP address: To run an app in Kubernetes, it needs to be portable and highly configurable. The application should not have hardcoded values and provide mechanisms to pass the required arguments through a config object or via environmental variables. In this example, we have identified that the app uses a hardcoded IP address and it needs to be changed to make it cloud ready.
If you click on the file, it will show you the exact location of the line with the hard coded static IP address.
Using the above information, the migrator/architect can estimate the amount of effort needed to modernize the application and also have an idea of what changes are needed to be cloud ready.
We have successfully run the
Analysis module on the Java legacy application and found issues that need to be fixed to make this app cloud ready.