4.2. RHBA-2023:0271 - Red Hat OpenStack Platform 17.0.1 程序错误修复和安全更新
对 openstack-aodh 组件的更改:
- 在此次更新之前,A Alarming 服务(aodh)使用已弃用的 gnocchi API 来聚合指标。这会导致 gnocchi 结果中的 CPU 用量的指标测量不正确。在这个版本中,在 gnocchi 中使用动态聚合,它支持重新聚合现有指标,以及根据需要进行和转换指标的能力,从而解决这个问题。gnocchi 中的 CPU 使用会被正确计算。(BZ#2133029)
对 openstack-designate 组件的更改:
- 在此次更新之前,当启用 TLS-everywhere 时,Red Hat OpenStack Platform (RHOSP) DNS 服务(designate)无法启动其中央进程。这是因为无法通过 TLS 连接到 Redis。在 RHOSP 17.0.1 中更新,这个问题已被解决。(BZ#2121634)
对 openstack-ironic-python-agent 组件的更改:
- 在此次更新之前,在 UEFI 模式中部署 RHEL 8.6 镜像会在使用 ironic-python-agent 时造成失败,因为 ironic-python-agent 服务不知道 RHEL 8.6 UEFI 引导装载程序提示文件。在这个版本中,您可以在 UEFI 模式中部署 RHEL 8.6。(BZ#2135549)
对 openstack-nova 组件的更改:
- 在此次更新之前,一个底层的 RHEL 问题会导致对实例的 UEFI 引导出现已知问题。在这个版本中,底层 RHEL 问题已被修复,实例的 UEFI 安全引导功能现在可用。(BZ#2106763)
对 openstack-octavia 组件的更改:
- 在此次更新之前,Octavia 中发生了一个竞争条件,这可能会导致 OVN 供应商负载均衡器在特定情况下卡住 PENDING DELETE。这会导致负载均衡器不可变且无法更新。在这个版本中,解决了竞争条件来解决这个问题。(BZ#2123658)
对 openstack-tripleo-heat-templates 组件的更改:
- 在此次更新之前,Podman 日志内容的不可用会导致健康检查状态脚本失败。在这个版本中,对健康检查状态脚本的更新通过使用 Podman 套接字而不是 Podman 日志解决了这个问题。因此,通过 Service Telemetry Framework 的 sensubility 提供的 API 健康检查现在可以正常工作。(BZ#2091076)
目前在 RHOSP 17.0 中存在一个已知问题,其中 Free Range Router (FRR)容器在重启它的主机后不会启动。此问题是由 BGP 配置中缺少的文件造成的。临时解决方案:创建文件
/etc/puppetlabs.d/run-frr.conf
,并添加以下行:d /run/frr 0750 root root - -
完成此更改后,Demo
会
在每次重启后重新创建/run/frr
,并且 FRR 容器可以启动。(BZ#2127965)
对 python-os-vif 组件的更改:
-
在此次更新之前,
ovsdb
连接超时会导致nova-compute
代理变得无响应。在这个版本中,这个问题已被解决。(BZ#2085583)
对 python-ovn-octavia-provider 组件的更改:
-
在此次更新之前,当成员子网与负载均衡器 VIP 子网不同时添加没有子网信息的成员会导致 ovn-octavia 供应商错误地将 VIP 子网用于
subnet_id
,这会导致没有错误但没有与成员的连接。在这个版本中,检查成员的实际 IP 属于 VIP 所属的同一 CIDR,而没有子网信息可以解决这个问题。如果两个 IP 地址不匹配,则操作将被拒绝,要求输入subnet_id
。(BZ#2122926) 在此次更新之前,如果在 LS (neutron 网络)中创建 ovn-lb (VIP 和成员),其 2 个子网(IPv4 和 IPv6),且此 LS 连接到 LR,则从 LR 中删除 LS 会导致从 LS 中删除 ovn-lb,因此将其从 OVN SB DB 中删除,因为它没有与任何数据路径关联。将 LS 重新添加到 LR (路由器网络和子网)时,ovn-lb 无法正确与 OVN 级别的 LR/LS 关联,且不会有连接
在这个版本中,会检查 IP 版本,以便不会考虑属于其他子网的路由器端口,并且 ovn-lb 不会从 LS 中删除。这会导致 ovn-lb 在从路由器中删除子网时正确连接。这解决了这个问题。(BZ#2135270)
对 tripleo-ansible 组件的更改:
当前存在一个已知问题,这会导致在初始置备后不会应用 tuned 内核配置。
临时解决方案:您可以使用以下自定义 playbook 来确保应用了 tuned 内核命令行参数。将以下 playbook 保存为 undercloud 节点上的
/usr/share/ansible/tripleo-playbooks/cli-overcloud-node-reset-blscfg.yaml
:- name: Reset BLSCFG of compute node(s) meant for NFV deployments hosts: allovercloud any_errors_fatal: true gather_facts: true pre_tasks: - name: Wait for provisioned nodes to boot wait_for_connection: timeout: 600 delay: 10 tasks: - name: Reset BLSCFG flag in grub file, if it is enabled become: true lineinfile: path: /etc/default/grub line: "GRUB_ENABLE_BLSCFG=false" regexp: "^GRUB_ENABLE_BLSCFG=.*" insertafter: '^GRUB_DISABLE_RECOVERY.*'
在节点定义文件
overcloud-baremetal-deploy.yaml
中配置角色,以在设置kernelargs
的 playbook 前运行cli-overcloud-node-reset-blscfg.yaml
playbook:- name: ComputeOvsDpdkSriov count: 2 hostname_format: computeovsdpdksriov-%index% defaults: networks: - network: internal_api subnet: internal_api_subnet - network: tenant subnet: tenant_subnet - network: storage subnet: storage_subnet network_config: template: /home/stack/osp17_ref/nic-configs/computeovsdpdksriov.j2 config_drive: cloud_config: ssh_pwauth: true disable_root: false chpasswd: list: |- root:12345678 expire: False ansible_playbooks: - playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-node-reset-blscfg.yaml - playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-node-kernelargs.yaml extra_vars: reboot_wait_timeout: 600 kernel_args: 'default_hugepagesz=1GB hugepagesz=1G hugepages=32 iommu=pt intel_iommu=on isolcpus=1-11,13-23' tuned_profile: 'cpu-partitioning' tuned_isolated_cores: '1-11,13-23' - playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-openvswitch-dpdk.yaml extra_vars: memory_channels: '4' lcore: '0,12' pmd: '1,13,2,14,3,15' socket_mem: '4096' disable_emc: false enable_tso: false revalidator: '' handler: '' pmd_auto_lb: false pmd_load_threshold: '' pmd_improvement_threshold: '' pmd_rebal_interval: '' nova_postcopy: true
(BZ#2107896)
-
在此次更新之前,Bare Metal 置备定义的
network_config
模式不允许设置num_dpdk_interface_rx_queues
参数,这会导致阻止 Bare Metal 节点置备过程的模式验证错误。在这个版本中,当使用 'num_dpdk_interface_rx_queues' 参数时,模式 validaton 错误将不再发生。这解决了这个问题。(BZ#2140881)