Release Notes

Migration Toolkit for Applications 7.0

New features, known issues, and resolved issues

Red Hat Customer Content Services

Abstract

Migration Toolkit for Applications 7.0 accelerates large-scale application modernization efforts across hybrid cloud environments on Red Hat OpenShift. 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 via the user interface.
This document describes new features and improvements, known issues, and resolved issues for the Migration Toolkit for Applications, version 7.0.

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 7.0 accelerates large-scale application modernization efforts across hybrid cloud environments on Red Hat OpenShift. 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 via the user interface.

Chapter 2. MTA 7-0-2

2.1. New features

This section describes the new features and improvements of the Migration Toolkit for Applications (MTA) 7.0.2.

Multiarch support for MTA CLI introduced

In MTA 7.0.2, multiarch support for for MTA CLI is introduced. Multiarch support includes both ARM architecture on Linux machines and Apple Silicon Macs.

2.2. Known issues

Migration Toolkit for Applications (MTA) version 7.0.2 has the following known issues.

Failure to connect to Jira server using basic authentication

In MTA 7.0.2, connecting to a Jira server using basic authentication, meaning username and password, fails. This issue is scheduled to be resolved in MTA 7.0.3. (MTA-2427)

Unable to turn on Enable insecure communication switch

In MTA 7.0.2, it is not possible to turn on the Enable insecure communication switch when creating or editing a Jira instance. This issue is scheduled to be resolved in MTA 7.0.3. (MTA-2426)

For a complete list of all known issues in this release, see the list of Known Issues in Jira.

2.3. Resolved issues

The following highlighted issues have been resolved in Migration Toolkit for Applications (MTA) version 7.0.2.

CVE-2022-1962: Golang: go/parser stack exhaustion in all Parse* functions Security

A flaw was found in versions of the Golang standard library go/parser, before Go 1.17.12 and Go 1.18.4. When calling any Parse functions on the Go source code, which contains deeply nested types or declarations, a panic can occur due to stack exhaustion. This issue allows an attacker to impact system availability.

For more details, see (CVE-2022-1962).

MTA CLI does not function as expected on ARM-based machines

In previous versions of MTA 7.0, there was an issue with the Command-line interface (CLI) not functioning as expected on ARM CPU architecture.

  • MTA CLI does not work on Mac ARM-based machines. (MTA-2160)
  • MTA CLI does not work on Linux ARM-based machines. (MTA-2351)

These issues have been resolved in MTA 7.0.2.

Missing text below graphs on the Reports page

In previous versions of MTA 7.0, the text below graphs was missing on the Reports page. This has been resolved in MTA 7.0.2. (MTA-1868)

Assessment status is In progress instead of Not started

In previous versions of MTA 7.0, the Assessment status was In progress instead of Not started when the application was associated with an archived questionnaire. This has been resolved in MTA 7.0.2. (MTA-1956)

Turning off Use Refresh Tokens breaks MTA UI

In previous versions of MTA, turning off the Use Refresh Tokens, which is a feature in the Red Hat build of Keycloak, could have adversely impacted MTA. This has been resolved in MTA 7.0.2. (MTA-1255)

Exporting a questionnaire includes unnecessary metadata

In previous versions of MTA 7.0, exporting a questionnaire could include unnecessary metadata. This unnecessary metadata had the potential to make reimporting the questionnaire a more difficult task, as it might conflict with already existing data. This has been resolved in MTA 7.0.2, with exports not including any environment-specific data. (MTA-1721)

Source and dependency analysis of applications built with JDKs before 11 fails compilation

In previous versions of MTA, source and dependency analysis of applications built with Java Development Kits (JDKs) earlier than version 11 could fail before compilation was completed. This has been resolved in MTA 7.0.2. (MTA-1785)

Application drawer incorrectly lists assessed archetypes when there are no required questionnaires

In previous versions of MTA 7.0, the application drawer incorrectly showed that the associated archetypes had been assessed, when there were no required questionnaires and when an application was associated with unassessed archetypes. This has been resolved in MTA 7.0.2. (MTA-1967)

Inherited assessment tags should be listed as assessment tags instead of archetype tags on the app drawer

In previous versions of MTA 7.0, inherited assessment tags should have been listed as assessment tags instead of archetype tags on the app drawer. This has been resolved in MTA 7.0.2. (MTA-1972)

Application Assessment status shows Completed instead of Not started for inherited assessment after the questionnaire is archived

In previous versions of MTA 7.0, the Application Assessment status showed Completed instead of Not started for inherited assessment after the questionnaire was archived. This has been resolved in MTA 7.0.2. (MTA-1973)

Application inventory page shows no applications after accessing dependencies

In previous versions of MTA 7.0, the Application inventory page showed no applications after accessing dependencies. This has been resolved in MTA 7.0.2. (MTA-2007)

Dependencies does not filter and navigate to the affected applications

In previous versions of MTA 7.0, dependencies did not filter and navigate to the affected applications, instead of showing only the affected applications. This has been resolved in MTA 7.0.2. (MTA-2008)

Analyzer unable to connect message seen on the Single Application issues page

In previous versions of MTA 7.0, on an analysis clicking on Issues and then navigating to the Single application page, no data was shown and an Unable to connect message was shown. There was an error retrieving data, showing a Check your connection and try again error. This has been resolved in MTA 7.0.2. (MTA-2047)

Issues contain variable names instead of values

In previous versions of MTA 7.0, issues occasionally contained variable names instead of values. This has been resolved in MTA 7.0.2. (MTA-2067)

Rules from technology usage appear as issues

In previous versions of MTA 7.0, rules from technology usage appeared as issues. This has been resolved in MTA 7.0.2. (MTA-2099)

MTA CLI does not have a version flag

In previous versions of MTA 7.0, there was no version flag for the MTA CLI, such as mta-cli --version to show the current version installed. This has been resolved in MTA 7.0.2. (MTA-2201)

Application list in the Archetype side drawer does not scale well

In previous versions of MTA 7.0, the Application list in the Archetype side drawer did not scale well when a large number of applications were associated with the archetype. It is likely that a massive number of applications could cause the drawer not to load properly. This has been resolved in MTA 7.0.2. (MTA-2283)

For a complete list of all issues resolved in this release, see the list of Resolved Issues in Jira.

2.4. Upgrade notes

The following are upgrade notes for Migration Toolkit for Applications (MTA)

Upgrade from MTA 6.2.1 to MTA 7.0.2

Upgrade directly from MTA 6.2.1 to MTA 7.0.2.

Pathfinder assessment migration fails on upgrade from MTA 6.2.1 to MTA 7.0.0

In previous version of MTA 7.0.0, when MTA 6.2.1 is installed, and you attempt to switch the channel to stable-7.0, the operator upgrade succeeds, but a task in the operator pod fails. This failure resulted in existing pathfinder assessments not being migrated to MTA 7.0.0. As this bug has been resolved in MTA 7.0.1, it is suggested to upgrade directly from MTA 6.2.1 to MTA 7.0.2. MTA-2139

Enabling questionnaire for assessments

On upgrading from MTA 6.2.1 to MTA 7.0.1 , completed assessment are shown as In progress. Enable the legacy Pathfinder questionnaire to see the completed status of assessment.

Hub database volume size

In version 7.0.2 of MTA, the default size of the hub database volume has been increased to 10GiB.

If your storage class does not support volume expansion, then an upgrade from 6.2.1 to 7.0.2 will result in a failure due to the operator trying to change the volume size from 5GiB to 10GiB.

To avoid this issue, you can directly set the volume size by setting:

...
hub_database_volume_size: 5Gi
...

By doing this, you will avoid the operator trying to resize the volume.

If this value was set when the previous version was deployed, there is no need to take any action, as it will work as expected.

Existing data

When upgrading to MTA 7.0.0, all existing data will be retained, except for individual analysis reports for applications.

As both the analysis and reporting engines have been replaced with this version, you will be required to conduct a re-run of the analysis in order to obtain data on issues and dependencies.

Chapter 3. MTA 7-0-1

3.1. Known issues

Migration Toolkit for Applications (MTA) version 7.0.1 has the following issues.

MTA CLI does not function on machines using ARM based architecture

MTA CLI does not function on machines using ARM based architecture. The workaround is to use the upstream images, which will function as expected as they are built using multi-arch. To do this, issue:

RUNNER_IMG=quay.io/konveyor/kantra:latest CMD_NAME=kantra ./mta-cli analyze ...

Delayed permission update and user deactivation in RBAC

When deleting, deactivating or degrading the role of a user, such as changing the user from Admin to Migrator, the change can take several minutes to take effect. This delay in changing the user status can pose an operational or security risk. MTA-1809

Re-enabling Keycloak breaks MTA

Keycloak is enabled by default. If you disable and then re-enable Keycloak, you cannot perform any actions in the MTA web console after logging in again.

This error is caused as the credential-mta-rhsso secret is updated when auth/Keycloak is disabled and re-enabled.

The suggested workaround is to restore the old password in the credential-mta-rhsso secret, after re-enabling auth. MTA-1152

org.apache.derby.derby dependency not analyzed

The org.apache.derby.derby dependency is not analyzed. MTA-1817

Redundant warning on reassessment of applications with inherited assessments

The system repeatedly shows a warning message about overriding an inherited assessment when reassessing an application.

This warning, appropriate for the first assessment, incorrectly reappears on subsequent reassessments, suggesting that the application is still inheriting its assessment, even after it has been overridden. MTA-1825

For a complete list of all known issues in this release, see the list of Known Issues in Jira.

3.2. Resolved issues

The following highlighted issues have been resolved in Migration Toolkit for Applications (MTA) version 7.0.1.

Pathfinder assessment migration fails on upgrade from MTA 6.2.1 to MTA 7.0.0

In previous version of MTA 7.0.0, when MTA 6.2.1 is installed, and you attempt to switch the channel to stable-7.0, the operator upgrade succeeds, but a task in the operator pod fails. This failure resulted in existing pathfinder assessments not being migrated to MTA 7.0.0. This bug is resolved in MTA 7.0.1. MTA-2139

For a complete list of all issues resolved in this release, see the list of Resolved Issues in Jira.

3.3. Upgrade notes

The following are upgrade notes for Migration Toolkit for Applications (MTA)

Upgrade from MTA 6.2.1 to MTA 7.0.1

Upgrade directly from MTA 6.2.1 to MTA 7.0.1.

Pathfinder assessment migration fails on upgrade from MTA 6.2.1 to MTA 7.0.0

In previous version of MTA 7.0.0, when MTA 6.2.1 is installed, and you attempt to switch the channel to stable-7.0, the operator upgrade succeeds, but a task in the operator pod fails. This failure resulted in existing pathfinder assessments not being migrated to MTA 7.0.0. As this bug has been resolved in MTA 7.0.1, it is suggested to upgrade directly from MTA 6.2.1 to MTA 7.0.1. MTA-2139

Enabling questionnaire for assessments

On upgrading from MTA 6.2.1 to MTA 7.0.1 , completed assessment are shown as In progress. Enable the legacy Pathfinder questionnaire to see the completed status of assessment.

Hub database volume size

In version 7.0.1 of MTA, the default size of the hub database volume has been increased to 10GiB.

If your storage class does not support volume expansion, then an upgrade from 6.2.1 to 7.0.1 will result in a failure due to the operator trying to change the volume size from 5GiB to 10GiB.

To avoid this issue, you can directly set the volume size by setting:

...
hub_database_volume_size: 5Gi
...

By doing this, you will avoid the operator trying to resize the volume.

If this value was set when the previous version was deployed, there is no need to take any action, as it will work as expected.

Existing data

When upgrading to MTA 7.0.0, all existing data will be retained, except for individual analysis reports for applications.

As both the analysis and reporting engines have been replaced with this version, you will be required to conduct a re-run of the analysis in order to obtain data on issues and dependencies.

Chapter 4. MTA 7-0-0

4.1. New features

This section describes the new features and improvements of the Migration Toolkit for Applications (MTA) 7.0.0.

Enhanced assessment module with custom questionnaire

In MTA 7.0.0, the assessment module has been enhanced. The assessment module in this release allows you to import questionnaires using a custom YAML syntax for questionnaire definition.

Grouping applications for assessment into archetypes

In MTA 7.0.0, you can assess and analyze entire groups of applications or archetypes, according to common characteristics.

Application archetypes are defined according to criteria tags and application taxonomy. Each archetype selects how the applications are assessed according to its characteristics.

Unlink applications from JIRA

In MTA 7.0.0, you now have the ability to unlink an application from a Jira ticket, so that you can manage the links between applications and tickets more effectively. To unlink an application from a Jira ticket, click the Unlink from Jira icon in the details view of the application or in the details view of a Migration wave.

YAML syntax for new rules

New rules that use YAML syntax to support metadata, message and tag actions, rule conditions, provider conditions for Java and Go providers, and other file tagging and characteristics.

Dynamic reports

MTA 7.0.0 produces dynamic analysis reports that collect aggregated issues and dependencies across the application portfolio. They identify portfolio-wide trends, drill down to specific lines in source code, and fully integrate with MTA User Interface (UI).

Support added for Azure Red Hat OpenShift (ARO)

MTA 7.0.0 introduces support for Azure Red Hat OpenShift (ARO).

Support added for Red Hat OpenShift on AWS (ROSA)

MTA 7.0.0 introduces support for Red Hat OpenShift on AWS (ROSA).

Multi-language analysis

MTA 7.0.0 supports migrating applications written in Java and Golang implemented in Language Server Protocol (LSP).

Important

Multi-language analysis for Golang 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.

4.2. Known issues

Migration Toolkit for Applications (MTA) version 7.0.0 has the following issues.

Pathfinder assessment migration fails on upgrade from MTA 6.2.1 to MTA 7.0.0

If MTA 6.2.1 is installed, when attempting to switch the channel to stable-7.0, the operator upgrade succeeds, but a task in the operator pod fails. This failure results in existing pathfinder assessments not being migrated to MTA 7.0.0. This bug will be resolved in MTA 7.0.1. No assessment data will be lost, it is will simply not be visible in the UI until the release of MTA 7.0.1. MTA-2139

Delayed permission update and user deactivation in RBAC

When deleting, deactivating or degrading the role of a user, such as changing the user from Admin to Migrator, the change can take several minutes to take effect. This delay in changing the user status can pose an operational or security risk. MTA-1809

Re-enabling Keycloak breaks MTA

Keycloak is enabled by default. If you disable and then re-enable Keycloak, you cannot perform any actions in the MTA web console after logging in again.

This error is caused as the credential-mta-rhsso secret is updated when auth/Keycloak is disabled and re-enabled.

The suggested workaround is to restore the old password in the credential-mta-rhsso secret, after re-enabling auth. MTA-1152

org.apache.derby.derby dependency not analyzed

The org.apache.derby.derby dependency is not analyzed. MTA-1817

Redundant warning on reassessment of applications with inherited assessments

The system repeatedly shows a warning message about overriding an inherited assessment when reassessing an application.

This warning, appropriate for the first assessment, incorrectly reappears on subsequent reassessments, suggesting that the application is still inheriting its assessment, even after it has been overridden. MTA-1825

Custom rule for javax.{*} package import is not triggered when uploaded as an XML file

In MTA 7.0.0, some XML custom rule files are converted to the new YAML format during analysis. The root cause is that Java search patterns that use IMPORT as location and end in .{*}, do not function as expected. MTA-2000

To resolve this issue, whenever a custom rule has a pattern ending in .{*} and location IMPORT, the pattern .{*} can be changed to {*} and the location changed to PACKAGE, as in the following example.

Example 4.1. To view the javax-package-custom-target.windup.xml, click here.

<?xml version="1.0"?>
<ruleset xmlns="http://windup.jboss.org/schema/jboss-ruleset" id="javax-package"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://windup.jboss.org/schema/jboss-ruleset http://windup.jboss.org/schema/jboss-ruleset/windup-jboss-ruleset.xsd">
    <metadata>
        <description>
            This ruleset evaluates whether a custom target can be used within a custom rule
        </description>
        <dependencies>
            <addon id="org.jboss.windup.rules,windup-rules-javaee,3.0.0.Final" />
            <addon id="org.jboss.windup.rules,windup-rules-java,3.0.0.Final" />
        </dependencies>
        <targetTechnology id="phil" versionRange="[7,8)" />
    </metadata>
    <rules>
        <rule id="javax-package-custom-target-00001">
            <when>
                <javaclass references="javax{*}">
                    <location>PACKAGE</location>
                </javaclass>
            </when>
            <perform>
                <hint title="CUSTOM RULE for javax.* package import" effort="1" category-id="potential">
                    <message>`javax.*` packages must be renamed to `jakarta.*` for Jakarta EE9 compatibility.</message>
                    <link title="Renamed Packages" href="https://github.com/wildfly-extras/batavia/blob/master/impl/ecl/src/main/resources/org/wildfly/extras/transformer/eclipse/jakarta-renames.properties"/>
                </hint>
            </perform>
        </rule>
    </rules>
</ruleset>

For a complete list of all known issues in this release, see the list of Known Issues in Jira.

4.3. Resolved issues

The following highlighted issues have been resolved in Migration Toolkit for Applications (MTA) version 7.0.0.

No update notification after editing fields

In previous versions of MTA, no Update Notification appeared at top of window after the fields Application, Job Function, and Business services were updated. MTA-1024

Not possible to create a Jira instance behind a proxy

In previous versions of MTA, it was not possible to create a Jira instance (issues.stage.redhat.com) behind a proxy. MTA-849

CVE-2023-6291: A flaw was found in the redirect_uri validation logic

A flaw was found in the redirect_uri validation logic that allows for a bypass of otherwise explicitly allowed hosts. The problem arises in the verifyRedirectUri method, which attempts to enforce rules on user-controllable input, but can cause a desynchronization in how Keycloak and browsers interpret URLs.

For more details, see (CVE-2023-6291).

For a complete list of all issues resolved in this release, see the list of Resolved Issues in Jira.

4.4. Upgrade notes

The following are upgrade notes for Migration Toolkit for Applications (MTA)

Hub database volume size

In version 7.0.0 of MTA, the default size of the hub database volume has been increased to 10GiB.

If your storage class does not support volume expansion, then an upgrade from 6.2.1 to 7.0.0 will result in a failure due to the operator trying to change the volume size from 5GiB to 10GiB.

To avoid this issue, you can directly set the volume size by setting:

...
hub_database_volume_size: 5Gi
...

By doing this, you will avoid the operator trying to resize the volume.

If this value was set when the previous version was deployed, there is no need to take any action, as it will work as expected.

Existing data

When upgrading to MTA 7.0.0, all existing data will be retained, except for individual analysis reports for applications.

As both the analysis and reporting engines have been replaced with this version, you will be required to conduct a re-run of the analysis in order to obtain data on issues and dependencies.

Version upgrade

You can upgrade to MTA 7.0.0 from 6.2.1. It is not recommended to pursue any alternative upgrade route. If you wish to upgrade from a previous version, it is recommended to proceed in a sequential manner until you finally upgrade from MTA version 6.2.1 to 7.0.0.

4.5. Technical changes

The following technical changes have been made in Migration Toolkit for Applications (MTA) 7.0.0:

  • The Maven Plugin has been deprecated.
  • Language Server Protocol (LSP) Analyzer change.

4.5.1. Rules

Rules can only be written in YAML

Rules written in Groovy and Java are discontinued in MTA version 7.0.0. Some of the previous Groovy Java rules have been converted to YAML rules wherever possible.

An important modification to the rule’s engine is that it is no longer possible to query anything apart from the tags stored within the engine’s internal data structures. This means that all the features that were enabled by using the graph-query element in the rule are no longer available.

Java Class child elements not supported in MTA

The Java Class child elements annotation-list, annotation-type and annotation-literal are not supported in MTA version 7.0.0.

Elements <project> and <dependency> are merged into one dependency condition

The capabilities of <project> and <dependency> elements in the old syntax are merged into one dependency condition in the new rules syntax.

Transformation capabilities of xslt element are discontinued

XML transformation capabilities offered by the xslt element are discontinued.

Explicit iteration element is discontinued

The explicit iteration element is discontinued in MTA version 7.0.0. If a condition returns a list of items via the as construct, iteration is implied.

Test rules not supported in the current version

Test rules are not supported in MTA version 7.0.0.

Overriding a rule discontinued

Overriding a rule is discontinued in MTA version 7.0.0.

Creating custom rule categories discontinued

Creating custom rule categories is discontinued in MTA version 7.0.0.

Information and optional categories of rules are discontinued.

In MTA version 7.0.0, any previous rules of information and optional categories will only create technology tags.

Java analysis capabilities

In MTA version 7.0.0, the following Java analysis capabilities have been deprecated:

  • Ability to match on specific arguments of a Java method constructor is not supported in the current version
  • Matching Java references from JavaServer Pages (JSP) files are not supported in the current version
  • Mavenizing a Java project, meaning write a POM and possibly move code around so that it builds in Maven, is discontinued.

Analysis report changes

The following functionality in Analysis reports has been deprecated:

  • Story points are shown as integers. The “level of effort” view and their mappings are deprecated in MTA version 7.0.0.
  • Transactions reports are deprecated in MTA version 7.0.0.
  • The view for “Archives shared by multiple applications” is deprecated in MTA version 7.0.0.
  • The view for “Review rule providers execution overview” deprecated in MTA version 7.0.0.

Legal Notice

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.