Release Notes
New features, known issues, and resolved issues
Abstract
Making open source more inclusive
Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.
Chapter 1. Introduction
Migration Toolkit for Applications (MTA) 7.3 accelerates large-scale application modernization efforts across hybrid cloud environments on Red Hat OpenShift Container Platform (RHOCP). This solution provides insight throughout the adoption process, at both the portfolio and application levels: inventory, assess, analyze, and manage applications for faster migration to OpenShift Container Platform through the user interface (UI) and command-line interface (CLI).
Chapter 2. MTA 7.3.2
2.1. Technical changes
The following technical changes have been made in Migration Toolkit for Applications (MTA) 7.3.2:
- The Eclipse IDE plugin for MTA is available up to 7.3.2 release. The plugin will be deprecated in future releases.
2.2. Fixed issues
This section provides the following bug fixes and resolved issues that have a significant impact on the Migration Toolkit for Applications (MTA) 7.3.2.
MTA now generates consistent results after analyzing large .EAR binary files
Previously, when analyzing binary applications, MTA relied on the Maven search index to determine whether dependencies are internal to the application or whether the application was installed as an open-source dependency. Depending on the availability of the Maven search index, it was assumed that an open-source dependency was internal to the application and includes the dependency in the analysis results. In this case, analysis returned more incidents and greater effort to address issues found in dependencies, even if the user did not expect to see those results. This issue has been resolved in MTA 7.3.2. (MTA-5588)
MTA does not generate false positives when analyzing Java applications
Previously, MTA generated a false positive issue after analyzing a Java application dependency. This issue has been resolved in MTA 7.3.2. (MTA-4025)
Chapter 3. MTA 7.3.1
3.1. New features
This section provides the new features and improvements of the Migration Toolkit for Applications (MTA) 7.3.1.
FIPS is now supported in MTA
Federal Information Processing Standards (FIPS) are a set of computer security standards developed by the United States federal government in line with the Federal Information Security Management Act (FISMA).
Migration Toolkit for Applications (MTA) has been tested and works on FIPS-enabled MTA clusters.
3.2. Fixed issues
This section provides the following bug fixes and resolved issues and other problems that have a significant impact on the Migration Toolkit for Applications (MTA) 7.3.1.
MTA reports generated after a CLI analysis now display the issue description
Previously, after running an analysis in the CLI, MTA incorrectly displayed the incident message with the issue description for issues listed in the static report. This issue has been resolved in MTA 7.3.1. (MTA-5293)
MTA user interface now completes application analysis in clusters with low resources
Previously, when you ran containerized application analysis in a cluster with slower disk I/O or low storage, the technology discovery took longer and the analysis failed because the rule execution timed out with the error unable to ask for Konveyor rule entry
. This issue has been resolved in MTA 7.3.1. (MTA-5369)
Custom rules are now triggered for applications without the pom
file
Previously, MTA did not trigger custom rules for applications without the pom
file. This issue has been resolved in MTA 7.3.1. MTA-5049
MTA now triggers custom rules for application analysis
Previously, MTA did not trigger custom rules when analyzing applications. This issue has been resolved in MTA 7.3.1. (MTA-4885)
MTA now analyzes Java applications without false positives
Previously, MTA sometimes generated a false positive by matching line 1
of a Java file. This issue has been resolved in MTA 7.3.1. (MTA-4918)
MTA CLI analysis is now optimized for multi-module binaries with dependencies
Previously, when you analyzed multi-module binaries in the MTA CLI, the analysis could take a long time to complete if dependency resolution failed. This issue has been resolved in MTA 7.3.1. (MTA-5398)
MTA CLI now allows disabling dependency rules for analysis
Previously, MTA CLI ran dependency rules during application analysis without an option to skip such rules. This issue has been resolved in MTA 7.3.1. (MTA-5399)
MTA user interface now allows the SSH URL of a Git repository as a source
Previously, MTA user interface did not permit you to enter the SSH URL of a Git repository as the source application. This issue has been resolved in MTA 7.3.1. (MTA-5385)
MTA user interface now creates a Tackle custom resource that requires authentication
Previously in MTA user interface, creation of Tackle CR with the feature_auth_required
field set to true
failed. This issue has been resolved in MTA 7.3.1. (MTA-5386)
MTA now runs Java rules when analyzing Java binaries in Windows
Previously, when you performed a containerless analysis of compiled Java applications in Windows, MTA did not match a Java rule and generated a Java Model (code 969) error. As a result, some rules did not trigger issues in the analysis report. This issue has been resolved in MTA 7.3.1. (MTA-5427)
MTA CLI now analyzes non-Java applications in containerized mode
Previously, when you analyzed non-Java applications, MTA initiated the analysis in containerless mode. This issue has been resolved in MTA 7.3.1. (MTA-5068)
Resources limits and requests are now present on all pods
Previously in MTA 7.3.1, all pods created by the mta-operator
and the pod for the operator have resource limits and requests set. This way they also work in an environment where resource limits and requests are required, for example, when a project has resource quotas defined. (MTA-5426)
3.3. Known issues
This section provides highlighted known issues in Migration Toolkit for Applications (MTA) version 7.3.1.
Running analysis on large .EAR
binary files obtains differents results
When analyzing binary applications, MTA relies on the Maven search index to determine whether dependencies are internal to the application or whether the application is installed as an open-source dependency. Depending on the availability of the Maven search index, it is assumed that an open-source dependency is internal to the application and includes the dependency in the analysis results. In this case, analysis returns more incidents and greater effort to address issues found in dependencies, even if the user does not expect to see those results. (MTA-5588)
MTA CLI generates a process error in log after Java binary analysis in Windows
When you analyze Java binaries in Windows, MTA CLI generates a process error when deleting files in the exploded
directory after moving the decompiled files to the Java project path. This error does not affect the analysis results. Currently, there is no workaround for this issue. (MTA-5355)
MTA CLI does not detect dependencies for Gradle projects
When you analyze Gradle projects in containerless mode, the MTA CLI does not detect dependencies during analysis. (MTA-4033)
MTA user interface static reports do not display rule description in incidents
In incidents that are found in the static report after analysis, MTA user interface does not describe the rule that triggered the incident. (MTA-5643)
.NET
Framework application analysis fails in the MTA CLI
When you analyze .NET
Framework applications in Windows containers by using the MTA CLI, the analysis fails for the following environment variables:
DOTNET_PROVIDER_IMG
: quay.io/konveyor/dotnet-external-provider:release-0.7
RUNNER_IMG
: quay.io/konveyor/kantra:latest
PODMAN_BIN
: C:\Program Files\Docker\Docker\resources\bin\docker.exe
Workaround: Use the following version of the Dotnet provider image:
set DOTNET_PROVIDER_IMG=quay.io/konveyor/dotnet-external-provider:v0.5.0
(MTA-5203)
Chapter 4. MTA 7.3.0
4.1. New features
This section provides the new features and improvements of the Migration Toolkit for Applications (MTA) 7.3.0.
Asset generation is now available in MTA CLI
Starting with MTA 7.3.1, you can run the discover
and generate
commands in the CLI:
-
The
discover
command generates the discovery manifest that preserves the platform and runtime configurations defined in the Cloud Foundry (CF) application manifest. -
The
generate
command uses the discovery manifest to generate the deployment manifest in a Kubernetes-native format to prepare it for Red Hat OpenShift Container Platform deployments. You can also use the command to generate non-Kubernetes manifests such as a Dockerfile.
Asset generation is a Developer Preview feature only. Developer Preview features are not supported by Red Hat in any way and are not functionally complete or production-ready. Do not use Developer Preview features for production or business-critical workloads. Developer Preview features provide early access to upcoming product features in advance of their possible inclusion in a Red Hat product offering, enabling customers to test functionality and provide feedback during the development process. These features might not have any documentation, are subject to change or removal at any time, and testing is limited. Red Hat might provide ways to submit feedback on Developer Preview features without an associated SLA.
(MTA-4610)
MTA now uses Red Hat Build of Keycloak for user authentication
MTA 7.3.1 now uses the Red Hat Build of Keycloak (RHBK)
instance for user authentication and authorization. The MTA Operator manages the RHBK
instance and configures a dedicated realm with necessary roles and permissions. For RHBK
, the secret and the pod name have changed. The pod name for RHBK is changed to rhbk-operator
. (MTA-4540)
Listing all languages in an application is now available
In MTA 7.3.1, you can list all languages in an application by using the --list-languages
flag in the CLI. The listed language that has no supported providers requires a custom rule set and the --override-provider-settings
flag when you analyze the application.
Listing all languages in an application is a Developer Preview feature only. Developer Preview features are not supported by Red Hat in any way and are not functionally complete or production-ready. Do not use Developer Preview features for production or business-critical workloads. Developer Preview features provide early access to upcoming product features in advance of their possible inclusion in a Red Hat product offering, enabling customers to test functionality and provide feedback during the development process. These features might not have any documentation, are subject to change or removal at any time, and testing is limited. Red Hat might provide ways to submit feedback on Developer Preview features without an associated SLA.
(MTA-4798)
Support for Python and Node.js language providers is now available
In addition to the Java and Go language providers, support for the Python and Node.js language providers is now available for the application analysis in MTA 7.3.0. As a result, you can now perform the following actions for these providers in the MTA user-interface (UI):
- Add custom migration targets.
- Run custom rules.
Support for Python and Node.js language providers is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.
(MTA-4542)
4.2. Fixed issues
This section provides the following bug fixes and resolves issues and other problems that have a significant impact on the Migration Toolkit for Applications (MTA) 7.3.0.
MTA CLI now excludes the target
folder when analyzing compiled Java Maven projects
Previously, for compiled Java Maven projects, the MTA CLI included incidents by analyzing the target
folder. This generated different reports for Java Maven projects before and after running the mvn-clean-package
command. This issue has been resolved in MTA 7.3.0. (MTA-5078)
Application credential update now triggers a new discovery task
Previously, when you updated the source or Maven credential for an application, a new discovery task was not triggered in the MTA user interface. This issue has been resolved in MTA 7.3.0. (MTA-5121)
4.3. Known issues
This section provides highlighted known issues in Migration Toolkit for Applications (MTA) version 7.3.0.
.NET
Framework application analysis fails in the MTA CLI
When you analyze .NET
Framework applications in Windows containers by using the MTA CLI, the analysis fails for the following environment variables:
-
DOTNET_PROVIDER_IMG
:quay.io/konveyor/dotnet-external-provider:release-0.7
-
RUNNER_IMG
:quay.io/konveyor/kantra:latest
-
PODMAN_BIN
:C:\Program Files\Docker\Docker\resources\bin\docker.exe
Workaround: Use the following version of the Dotnet provider image: set DOTNET_PROVIDER_IMG=quay.io/konveyor/dotnet-external-provider:v0.5.0
Non-Java applications are analyzed in containerless mode in the MTA CLI
When you analyze non-Java applications, MTA initiates the analysis in containerless mode.
Workaround: set the --run-local=false
flag to analyze non-Java applications. (MTA-5068)
Application analysis fails to get a list of dependencies for Node.js in the MTA UI
When you run an application analysis for the Node.js language provider by using the MTA user-interface (UI), the analysis completes with the following error displayed in the analysis log:
level=error msg="failed to get list of dependencies for provider" error="dependency provider path not set" provider=nodejs'
Workaround: Set the Analysis Mode
setting to source-only
.
The Node.js provider does not have a dependency capability. Therefore, a dependency list cannot be generated. The same applies for the Python provider.
(MTA-5070)
Dependency rule of a custom rules file in analysis is not fired
A custom dependency rule is not fired, and no related migration issue is found. (MTA-3863)
No multi-user access restrictions on resources
There are no multi-user access restrictions on resources. For example, an analyzer task created by a user can be canceled by any other user. (MTA-3819)
For a complete list of all known issues, see the list of MTA 7.3.1 known issues in Jira.