第 3 章 程序错误修复
在此 Red Hat Trusted Profile Analyzer (RHTPA)发行版本中,我们解决了以下 bug。除了这些修复外,我们还列出了我们修复的早期版本中已知的问题描述。
- 为 SBOM 获取软件包的性能不佳
- 从软件 Bill of Materials (SBOM)文档检索数千个软件包时会导致性能不佳,需要几分钟时间将数据加载到 RHTPA 中。在这个版本中,我们优化了查询,从而导致数千软件包加载(以秒为单位),而不是分钟为单位。
spec.image的默认值可防止 RHTPA Operator 升级-
自定义资源(CR)模板中的
spec.image的默认值包含 RHTPA 服务容器的硬编码镜像版本。任何使用这个值的用户创建 CR 配置都不会自动升级,从而导致 RHTPA Operator 升级。在这个版本中,我们从 CR 模板中删除这个值。要为现有 CR 解决这个问题,您需要从spec中删除镜像密钥。例如,运行以下命令对 CR 模板进行补丁:
oc patch rhtpa/trustedprofileanalyzer-sample --type=json -p '[{"op":"remove", "path":"/spec/image"}]'
$ oc patch rhtpa/trustedprofileanalyzer-sample --type=json -p '[{"op":"remove", "path":"/spec/image"}]'
- 改进了删除 SBOM 文档时的性能
- 在这个版本中,RHTPPA API 调用删除 Software Bill of Materials (SBOM)文档,现在通过从其执行路径中移除 Garbage Collector 来更有效地运行。在此次更新之前,会在每次 API 调用中触发 Garbage Collector,从而导致删除调用的扩展完成时间。Garbage Collector 会尝试识别并删除所有孤立的软件包,而不是删除由特定 SBOM 文档引用的软件包。在本发行版本中,我们将 Garbage Collector 与 API 调用分离,与进行 SBOM 删除的 API 调用分离,这会显著提高 API 的响应速度。
- 在协调循环中的
rhtpa-operator-controller-managerpod - 在这个版本中,我们修改了 RHTPA Operator Controller Manager,以每分钟触发协调,而不是每秒触发一次协调。此更改减少了对 RHTPA 部署而生成的更改的频率,从而减少事件和日志条目。这种减少会导致手动配置更改容易发生冲突。另外,应用更改的增加时间窗口现在可以更精简地进行手动调整。
- Importer pod 处于待处理状态
-
启动 importer pod 时,OpenShift 没有为持久性卷声明(PVC)设置默认存储类。这会导致 PVC 进入待处理状态。我们通过添加
modules.importer.storageClassName和storage.storageClassName字段解决了这个问题。您可以在 Red Hat OpenShift 上部署 RHTPA 之前或之后配置这些字段。这允许 PVC 按预期激活。
- 从 Quay 导入镜像时,镜像标签过期时会出现一个错误
- 在执行 RHTPA Quay importer 期间,对 Quay registry 中的容器镜像的更改可能会导致镜像过期或被删除,从而导致 Quay importer 失败。在这个版本中,我们修复了导入程序来主动管理潜在的镜像或镜像标签问题,使其可以在其全面的日志报告中在不中断的情况下完成并报告各个镜像的问题。