Release Notes
新功能、已知问题和已解决的问题
摘要
使开源包含更多 复制链接链接已复制到粘贴板!
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息。
第 1 章 MTA 7.3.2 复制链接链接已复制到粘贴板!
MTA 7.3.2 部分描述了新功能、功能增强、固定问题以及已知的问题。
1.1. 技术变化 复制链接链接已复制到粘贴板!
Migration Toolkit for Applications (MTA) 7.3.2 中进行了以下技术更改:
- 在 Migration Toolkit for Applications (MTA) 7.3.2 版本后,MTA 的 Eclipse IDE 插件将被弃用,计划在以后的发行版本中删除。红帽将在当前发行生命周期中提供对这个功能的程序漏洞修复和支持,但这个功能将不再获得改进,并将被删除。
1.2. 修复的问题 复制链接链接已复制到粘贴板!
本节提供以下程序错误修复和已解决的问题,它们对 Migration Toolkit for Applications (MTA) 7.3.2 有严重影响。
现在,MTA 在分析大型 .EAR 二进制文件后会生成一致的结果
在以前的版本中,当分析二进制应用程序时,MTA 依赖于 Maven 搜索索引,以确定嵌入的依赖关系是否为应用程序内部还是公开提供(通常归类为开源依赖项)。根据 Maven 搜索索引的可用性,开源依赖项可能会被错误地归类为应用程序内部,并作为分析结果中的依赖关系包含在内。在这种情况下,分析返回更多事件并努力解决依赖关系中发现的问题。通过在 analyze 命令中添加 flag- -disable-maven-search,在 MTA 7.3.2 中解决了这个问题。禁用后,分析将统一分类依赖项。(MTA-5588)
1.3. 已知问题 复制链接链接已复制到粘贴板!
本节提供了 Migration Toolkit for Applications (MTA)版本 7.3.2 中突出显示的已知问题。
当您在分析后根据标签对依赖项排序时,MTA 用户界面连接中断
当您在 MTA 用户界面中分析应用程序后根据标签对依赖项进行排序时,用户界面会显示有关检索数据的错误。目前,还没有可用的临时解决方案。(MTA-5981)
分析性能可能会在断开连接的环境中降低,或者在 Maven Central 不可用时降低
当您在没有访问 Maven Central 的主机上使用 MTA 运行分析时,且不需要禁用 Maven 搜索索引(--disable-maven-search=false)时,分析性能可能会降低,因为 MTA 会尝试访问它。
作为临时解决方案,可以禁用 Maven 搜索:您可以手动 set -disable-maven-search=true 用于 CLI 分析,并在 MTA operator 的 Tackle 自定义资源中设置 disable_maven_search: true,以便在用户界面中进行分析。(MTA-6045)
当缺少 Maven 凭证时,应用程序分析会更长的时间
如果您没有手动将 Maven 凭证分配给需要它们或不将这些凭证设置为默认值的应用程序,应用程序分析可能会更长的时间。另外,分析器和技术发现步骤会完成并显示以下错误:
error: 'unable to ask for Konveyor rule entry'
error: 'unable to ask for Konveyor rule entry'
要临时解决这个问题,请为应用程序分配 Maven 凭证,或者在运行应用程序分析前将这些凭证设置为默认值。
第 2 章 MTA 7.3.1 复制链接链接已复制到粘贴板!
此 MTA 7.3.1 部分列出了新功能、增强功能、固定问题以及已知的问题。
2.1. 新功能 复制链接链接已复制到粘贴板!
本节提供 Migration Toolkit for Applications (MTA) 7.3.1 的新功能和改进。
MTA 现在支持 FIPS
FIPS(Federal Information Processing Standards)是美国联邦政府根据联邦信息处理标准(FISMA)开发的一组计算机安全标准。
Migration Toolkit for Applications (MTA)已在启用了 FIPS 的 MTA 集群中进行测试并可以正常工作。
2.2. 修复的问题 复制链接链接已复制到粘贴板!
本节提供以下程序错误修复和已解决的问题,以及对 Migration Toolkit for Applications (MTA) 7.3.1 有严重影响的其他问题。
在 CLI 分析后生成的 MTA 报告现在显示问题描述
在以前的版本中,在 CLI 中运行分析后,MTA 会错误地显示事件消息,并带有静态报告中列出的问题问题描述。在 MTA 7.3.1 中解决了此问题。(MTA-5293)
MTA 用户界面现在在具有较低资源的集群中完成应用程序分析
在以前的版本中,当您在较慢的磁盘 I/O 或较低存储的集群中运行容器化应用程序分析时,技术发现需要更长的时间,分析会失败,因为规则执行超时并显示错误。在 MTA 7.3.1 中解决了此问题。(MTA-5369)
现在,在没有 pom 文件的应用程序中会触发自定义规则
在以前的版本中,MTA 不会为没有 pom 文件的应用程序触发自定义规则。在 MTA 7.3.1 中解决了此问题。MTA-5049
MTA 现在触发用于应用程序分析的自定义规则
在以前的版本中,在分析应用程序时,MTA 不会触发自定义规则。在 MTA 7.3.1 中解决了此问题。(MTA-4885)
MTA 现在分析 Java 应用程序,且没有误报
在以前的版本中,MTA 有时通过匹配 Java 文件的第 1 行 生成一个假正。在 MTA 7.3.1 中解决了此问题。(MTA-4918)
MTA CLI 分析现在针对带有依赖项的多模块二进制文件进行了优化
在以前的版本中,当您在 MTA CLI 中分析多模块二进制文件时,如果依赖项解析失败,分析可能需要很长时间才能完成。在 MTA 7.3.1 中解决了此问题。(MTA-5398)
MTA CLI 现在允许禁用依赖项规则进行分析
在以前的版本中,MTA CLI 在应用程序分析过程中运行依赖关系规则,而无需跳过此类规则。在 MTA 7.3.1 中解决了此问题。(MTA-5399)
MTA 用户界面现在允许 Git 存储库的 SSH URL 作为源
在以前的版本中,MTA 用户界面不允许输入 Git 存储库的 SSH URL 作为源应用程序。在 MTA 7.3.1 中解决了此问题。(MTA-5385)
MTA 用户界面现在会创建一个需要身份验证的自定义资源
在以前的版本中,在 MTA 用户界面中,使用 feature_auth_required 字段设置为 true 的 Tackle CR 会失败。在 MTA 7.3.1 中解决了此问题。(MTA-5386)
现在,当分析 Windows 中的 Java 二进制文件时,MTA 会运行 Java 规则
在以前的版本中,当您对 Windows 中编译的 Java 应用程序时,MTA 不匹配 Java 规则并生成 Java Model (代码 969)错误。因此,一些规则不会在分析报告中触发问题。在 MTA 7.3.1 中解决了此问题。(MTA-5427)
MTA CLI 现在在容器化模式下分析非 Java 应用程序
在以前的版本中,当您分析非 Java 应用程序时,MTA 以无容器模式启动分析。在 MTA 7.3.1 中解决了此问题。(MTA-5068)
现在,所有 pod 都存在资源限值和请求
以前,在 MTA 7.3.1 中,mta-operator 和 Operator 的 pod 创建的所有 pod 都设置了资源限值和请求。这样,它们也可以在需要资源限值和请求的环境中工作,例如,当项目定义了资源配额时。(MTA-5426)
2.3. 已知问题 复制链接链接已复制到粘贴板!
本节提供了 Migration Toolkit for Applications (MTA)版本 7.3.1 中突出显示的已知问题。
在大型 .EAR 二进制文件上运行分析会获得不同的结果
在分析二进制应用程序时,MTA 依赖于 Maven 搜索索引来确定依赖项是否在应用程序内部,或者应用程序是否作为开源依赖项安装。根据 Maven 搜索索引的可用性,假设开源依赖项是应用程序内部的,并在分析结果中包含依赖项。在这种情况下,分析会返回更多事件并努力解决依赖项中找到的问题,即使用户不会预期查看这些结果。(MTA-5588)
MTA CLI 在 Windows 中的 Java 二进制分析后生成日志的进程错误
在 Windows 中分析 Java 二进制文件时,MTA CLI 会在将解编译的文件移到 Java 项目路径后,在删除展开的目录中的文件时生成进程错误。这个错误不会影响分析结果。目前,这个问题还没有临时解决方案。(MTA-5355)
MTA CLI 不会检测 Gradle 项目的依赖关系
当您以无容器模式分析 Gradle 项目时,MTA CLI 在分析过程中不会检测到依赖项。(MTA-4033)
MTA 用户界面静态报告不会在事件中显示规则描述
在分析后在静态报告中找到的事件中,MTA 用户界面不会描述触发该事件的规则。(MTA-5643)
.NET Framework 应用程序分析在 MTA CLI 中失败
当您使用 MTA CLI 在 Windows 容器中分析 .NET Framework 应用程序时,分析会失败,用于以下环境变量:
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
临时解决方案:使用以下 Dotnet 供应商镜像版本:
设置 DOTNET_PROVIDER_IMG=quay.io/konveyor/dotnet-external-provider:v0.5.0 (MTA-5203)
有关所有已知问题的完整列表,请参阅 JIRA 中的 MTA 7.3.1 已知问题 列表。
第 3 章 MTA 7.3.0 复制链接链接已复制到粘贴板!
MTA 7.3.0 部分列出了新功能、增强功能、技术预览功能和开发人员预览功能、固定问题以及已知问题。
3.1. 新功能 复制链接链接已复制到粘贴板!
本节提供 Migration Toolkit for Applications (MTA) 7.3.0 的新功能和改进。
MTA CLI 中提供资产生成(开发者预览)
从 MTA 7.3.0 开始,您可以在 CLI 中运行 discover 和 generate 命令:
-
discover命令生成发现清单,该清单保留 Cloud Foundry (CF)应用程序清单中定义的平台和运行时配置。 -
generate命令使用发现清单以 Kubernetes 原生格式生成部署清单,以便为 Red Hat OpenShift Container Platform 部署准备它。您还可以使用命令生成非 Kubernetes 清单,如 Dockerfile。
(MTA-4610)
MTA 使用红帽构建的 Keycloak 进行用户身份验证
MTA 7.3.0 使用 红帽构建的 Keycloak (RHBK) 实例进行用户身份验证和授权。MTA Operator 管理 RHBK 实例,并使用必要的角色和权限配置专用域。对于 RHBK,机密和 pod 名称已更改。RHBK 的 pod 名称更改为 rhbk-operator。(MTA-4540)
用于列出应用程序中的所有语言的 CLI 标志(开发者预览)
在 MTA 7.3.0 中,您可以使用 CLI 中的 -list-languages 标志列出应用程序中的所有语言。在分析应用程序时,没有支持的提供程序的语言需要自定义规则集和 --override-provider-settings 标志。
(MTA-4798)
支持 Python 和 Node.js 语言提供程序(技术预览)
除了 Java 和 Go 语言供应商外,对于 MTA 7.3.0 中的应用程序分析,现在还支持 Python 和 Node.js 语言提供程序。现在,您可以在 MTA 用户界面(UI)中对这些提供程序执行以下操作:
- 添加自定义迁移目标。
- 运行自定义规则。
(MTA-4542)
3.2. 技术预览功能 复制链接链接已复制到粘贴板!
本节列出了 Migration Toolkit for Applications (MTA) 7.3.0 中提供的所有技术预览功能。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
支持 Python 和 Node.js 语言提供程序
除了 Java 和 Go 语言供应商外,对于 MTA 7.3.0 中的应用程序分析,现在还支持 Python 和 Node.js 语言提供程序。现在,您可以在 MTA 用户界面(UI)中对这些提供程序执行以下操作:
- 添加自定义迁移目标。
- 运行自定义规则。
(MTA-4542)
3.3. 开发人员预览功能 复制链接链接已复制到粘贴板!
本节列出了 Migration Toolkit for Applications (MTA) 7.3.0 中提供的所有开发人员预览功能。
有关红帽开发人员预览功能的支持范围的更多信息,请参阅 开发人员技术预览功能支持范围。
MTA CLI 中提供了资产生成
从 MTA 7.3.0 开始,您可以在 CLI 中运行 discover 和 generate 命令:
-
discover命令生成发现清单,该清单保留 Cloud Foundry (CF)应用程序清单中定义的平台和运行时配置。 -
generate命令使用发现清单以 Kubernetes 原生格式生成部署清单,以便为 Red Hat OpenShift Container Platform 部署准备它。您还可以使用命令生成非 Kubernetes 清单,如 Dockerfile。
(MTA-4610)
列出应用程序中的所有语言可用
在 MTA 7.3.0 中,您可以使用 CLI 中的 -list-languages 标志列出应用程序中的所有语言。在分析应用程序时,没有支持的提供程序的语言需要自定义规则集和 --override-provider-settings 标志。
(MTA-4798)
3.4. 修复的问题 复制链接链接已复制到粘贴板!
本节提供以下程序错误修复,并解决了对 Migration Toolkit for Applications (MTA) 7.3.0 产生严重影响的问题和其他问题。
现在,在分析编译的 Java Maven 项目时,MTA CLI 排除目标文件夹
在以前的版本中,对于编译的 Java Maven 项目,MTA CLI 通过分析目标文件夹包含事件。这会在运行 mvn-clean-package 命令前后为 Java Maven 项目生成了不同的报告。在 MTA 7.3.0 中解决了此问题。(MTA-5078)
应用程序凭证更新现在会触发一个新的发现任务
在以前的版本中,当您为应用程序更新源或 Maven 凭证时,在 MTA 用户界面中不会触发新的发现任务。在 MTA 7.3.0 中解决了此问题。(MTA-5121)
3.5. 已知问题 复制链接链接已复制到粘贴板!
本节提供了 Migration Toolkit for Applications (MTA)版本 7.3.0 中突出显示的已知问题。
.NET Framework 应用程序分析在 MTA CLI 中失败
当您使用 MTA CLI 在 Windows 容器中分析 .NET Framework 应用程序时,分析会失败,用于以下环境变量:
-
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
临时解决方案:使用以下版本的 Dotnet 供应商镜像: 设置 DOTNET_PROVIDER_IMG=quay.io/konveyor/dotnet-external-provider:v0.5.0
在 MTA CLI 中,非 Java 应用程序在无容器模式下分析
当您分析非 Java 应用程序时,MTA 会在无容器模式下启动分析。
临时解决方案:设置 -run-local=false 标志来分析非 Java 应用程序。(MTA-5068)
应用程序分析无法获取 MTA UI 中的 Node.js 的依赖项列表
当您使用 MTA user-interface (UI)为 Node.js 语言供应商运行应用程序分析时,分析会完成,并在分析日志中显示以下错误:
level=error msg="failed to get list of dependencies for provider" error="dependency provider path not set" provider=nodejs'
level=error msg="failed to get list of dependencies for provider" error="dependency provider path not set" provider=nodejs'
临时解决方案:将 Analysis Mode 设置设为 仅源。
Node.js 供应商没有依赖项功能。因此,无法生成依赖项列表。这也适用于 Python 供应商。
(MTA-5070)
分析中自定义规则文件的依赖关系规则不会被触发
没有触发自定义依赖关系规则,且没有找到相关的迁移问题。(MTA-3863)
对资源没有多用户访问限制
分析器任务对资源没有多用户访问限制。例如,用户创建的分析器任务可由任何其他用户取消。(MTA-3819)