Chapter 1. Migration toolkit for applications 8.2
This Release Notes section provides high-level coverage of the improvements and additions that have been implemented in migration toolkit for applications (MTA) 8.2.
1.1. MTA 8.2.1 Copy linkLink copied to clipboard!
The MTA 8.2.1 section lists the issues fixed in this release.
1.1.1. Fixed issues Copy linkLink copied to clipboard!
Review issues that have been fixed in migration toolkit for applications (MTA) version 8.2.1.
mta-ops transformuses the--overwriteflag for consistent behaviorBefore this update, the
mta-ops transformcommand used a--forceflag. This flag functioned only with the--instructions-fileoption. Without an instructions file, plugin stage directories were silently overwritten. Additionally, custom stage directories blocked the pipeline with no way to proceed. With this release, the--forceflag was replaced with--overwrite. This change aligns thetransformcommand with othermta-opssubcommands. As a result, all stage directories require the--overwriteflag to replace existing content. This gives you explicit control over data replacement during a pipeline re-run.- The MTA Operator delegates authentication to the external Keycloak instance after an upgrade
Before this update, an
IdentityProvidercustom resource (CR) that was not created by the Operator could specify theprimary: trueparameter. When this parameter wastrue, authentication was completely delegated to the external identity provider (IdP). As a result, only the external IdP login page was presented. However, theIdentityProviderCR created by the Operator during an upgrade did not specifyprimary: true. With this release, the Operator setsprimary: trueby default in the managedIdentityProvider. Additionally, the Tackle CR supports theidp_primaryfield that is propagated to the Operator-managedIdentityProvider.
1.2. MTA 8.2.0 Copy linkLink copied to clipboard!
Review new features, enhancements, deprecated features, fixed issues, and known issues in migration toolkit for applications (MTA) 8.2.0.
1.2.1. New features and enhancements Copy linkLink copied to clipboard!
Review new features and enhancements in migration toolkit for applications (MTA) 8.2.0.
- The
mta-opscommand-line interface for stateless workload migrations The
mta-opscommand-line interface (CLI) is a new standalone tool that migrates stateless Red Hat OpenShift workloads. It uses a multi-stage pipeline to locally export, transform, and render your application manifests. As a result, you can safely generate and validate manifests before using standard deployment tools.For more information, see Migrating stateless workloads by using the mta-ops CLI.
- An OIDC-compliant Hub provider for authentication and authorization
The MTA Hub implements an OpenID Connect (OIDC) standards-compliant provider that offers local user authentication and federation to other providers. You can use any of the following authentication methods:
- The Hub OIDC for basic local authentication to reduce infrastructure management and configuration. You do not require any additional configuration to use basic local authentication.
- An LDAP-backed authentication by using a declarative YAML configuration file.
An identity provider with MTA.
You can integrate Google, Okta, Microsoft Entra ID, or a Keycloak instance you provision independently as an identity provider. If you deployed Keycloak in the MTA namespace in earlier versions before an upgrade, MTA automatically configures your instance as the identity provider.
For more information, see Authentication and authorization.
- MTA introduces new commands and reorganized subcommands
The MTA command-line interface (CLI) introduces a reorganized command model to streamline major tasks you perform by using the CLI. You can use the main command and associated subcommands to complete specific tasks.
For more information, see About the MTA commands.
- C# provider uses the .NET Compiler Platform (Roslyn) analyzer for analyses
The C# provider uses the .NET Compiler Platform (Roslyn) analyzer to analyze C# applications. As a result, you do not need external tools to analyze project dependencies. The updated C# provider uses regular expressions for inheritence-aware symbol resolution. The symbol resolution improves application analysis by detecting references of the
usingdirectives, object creation, annotations, method invocations, and type declarations. The C# provider also handles dynamic member access and tracks value flow in the source code.
1.2.2. Deprecated features Copy linkLink copied to clipboard!
This section provides a list of all features deprecated in migration toolkit for applications (MTA) 8.2.0.
The following MTA command-line interface (CLI) commands are deprecated:
| Command | Feature or component | Alternative action |
|
| Analyze command option to list target technologies. |
Use the |
|
| Analyze command option to list source technologies. |
Use the |
|
| Analyze command option to list providers for application analysis. |
Use the |
|
| Test command to perform a dry run on default or custom ruleset. |
Use the |
|
| Transform command to update Java libraries and frameworks in source code. |
Use the |
1.2.3. Known issues Copy linkLink copied to clipboard!
Migration toolkit for applications (MTA) version 8.2.0 is affected by the following newly identified and previously known issues. A known issue is listed in all future release notes until resolved, at which point it is published as a fixed issue.
1.2.3.1. mta-ops command-line interface Copy linkLink copied to clipboard!
kubectl applyoverwrites existing target resources without warningWhen you deploy exported manifests with the
kubectl applycommand, existing resources in the target namespace are silently overwritten. This is standardkubectl applybehavior and not specific to themta-opscommand-line interface (CLI). As a consequence, you might accidentally overwrite existing workloads on the target cluster.To work around this problem, manually verify that the target namespace does not have conflicting resources before deployment.
mta-ops transformdoes not accept the--overwriteflagThe
mta-ops transformcommand does not currently support the--overwriteflag. If a custom stage directory already exists, the pipeline stops. As a consequence, you cannot automatically overwrite existing custom modifications during a pipeline re-run.To work around this problem, manually delete the existing transform or custom stage directory before you re-run the
mta-ops transformcommand.
1.2.3.2. MTA authentication Copy linkLink copied to clipboard!
- Keycloak administrators logging in to MTA cannot create a user
After authenticating to the MTA web console as a Keycloak administrator, you cannot perform user management tasks because these tasks require new scopes for the user, role, and tokens resources in MTA. A local user with
adminrole can create and manage users.To work around this problem, add the following scopes for administrator users in Keycloak:
-
users:get -
users:post -
users:put -
users:delete -
roles:get -
roles:post -
roles:put -
roles:delete -
tokens:get -
tokens:post -
tokens:delete scopes:get
-
- MTA does not automatically redirect to the external identity provider for authentication
After you configure an external identity provider (IdP) for authentication, MTA does not automatically redirect to the IdP login page. As a consequence, you must click the Sign in with <identity_provider> option on the MTA login page to access the IdP login page.
To work around this problem, set the
idp_primaryfield totruein the Tackle custom resource (CR). The MTA Hub identifies the external IdP as the primary authentication method and automatically routes to its login page for authentication.
1.2.3.3. MTA analysis Copy linkLink copied to clipboard!
- MTA analysis does not match rule patterns when import statements have a wildcard
When you use a wildcard to import packages used by an annotation in your Java source code, an MTA analysis does not trigger a violation for such annotations. As a consequence, you are unable to fix all occurrences of an annotation defined in a rule because MTA triggered no incidents for some annotations.
No known workaround exists.
- MTA web console completes tech discovery and analysis with errors
The MTA web console completes tech discovery and analysis of certain projects with errors. As a consequence, the tech discovery does not generate all relevant tags and the analysis could miss triggering issues.
To work around this problem, ensure that you have a Gradle or a Maven build file at the root directory of your project.
- Custom rules do not trigger a violation in compiled binary application analysis
When you run an analysis by using a custom YAML rule for a compiled Java binary in the MTA web console, MTA does not trigger a violation.
No known workaround exists.
1.2.4. Fixed issues Copy linkLink copied to clipboard!
Review issues that have been fixed in migration toolkit for applications (MTA) version 8.2.0.
1.2.4.1. MTA command-line interface Copy linkLink copied to clipboard!
- MTA analysis generates a record when you use an HTTP or HTTPS proxy
Before this update, MTA did not generate an analysis log when you used the
--http-proxyor--https-proxyoption in an MTA CLI analysis. As a consequence, you could not verify if MTA routed the analysis through the proxy. With this fix, you can verify proxy use because MTA analysis records the use of a proxy.
1.2.4.2. MTA web console Copy linkLink copied to clipboard!
- MTA discovers Maven applications that use self-signed certificates
Before this update, after you enabled the option to Consume insecure artifact repositories in the MTA web console, MTA discovery for Maven applications that use self-signed certificates failed. As a consequence, you could not generate deployment assets for the affected applications. With this fix, MTA connects with Maven application repositories that use a self-signed certificate and completes application discovery.
- MTA web console validates YAML custom rules
Before this update, the MTA web console did not validate the custom YAML rules you upload for an analysis or in custom targets. As a consequence, if a rule contained invalid keys or syntax errors, you did not see an error message. With this fix, MTA improves user experience by validating the custom rules you upload in the web console.
- MTA triggers violation for open source dependencies in Gradle applications
Before this update, MTA did not trigger violations for open source dependency libraries when analyzing Gradle applications. As a consequence, a
source+dependencyanalysis generated fewer incidents in the static report. With this fix, MTA includes violations on open source dependencies in the Gradle analysis results.