Yoga 系列发布说明¶
14.11.0-21¶
新特性¶
CentOS Stream 8 已经不再受支持。请尝试迁移到 Rocky Linux 9。
升级说明¶
CentOS Stream 8 已经不再受支持。请尝试迁移到 Rocky Linux 9。
错误修复¶
添加了针对内核中禁用 IPv6 的 IPv6 sysctl 设置的条件。在这些系统上更改与 IPv6 相关的 sysctl 设置会导致错误。LP#1906306
修复了在使用自定义 CA 时 Python requests 库的问题,方法是将 REQUESTS_CA 环境变量添加到 kolla-toolbox 容器。请参阅 LP#1967132
更新了所有 Nova 和 Cinder 服务的服务用户令牌的配置,以停止对服务令牌使用管理员角色,并使用服务角色。
有关更多详细信息,请参阅 LP#[2004555] 和 LP#[2049762]。
为 multipath.conf
defaults部分添加了skip_kpartx yes以防止 kpartx 扫描 multipath 设备并解锁 os-brick 的multipathd del map操作以进行卷分离操作。 LP#2078973 <https://launchpad.net/bugs/2078973>`__
修复了一个问题,如果日志中未找到序列号,MariaDB 集群恢复过程将失败。恢复过程现在会检查完整的日志文件以查找序列号并恢复集群。详情请参阅 LP#1821173。
移除了 horizon 容器中的默认 /tmp/ 挂载点。此更改是为了加固容器并防止潜在的安全问题。有关更多信息,请参阅 Bug Report:LP#2068126。
添加 Keystone 服务角色。Keystone 自 Bobcat 版本以来在 bootstrap 阶段创建服务。SLURP 从 Antelope 版本开始需要此角色才能正常工作。此角色也需要在 Antelope 和 Zed 中用于 Cinder,以获得适当的服务令牌支持。LP#2049762
修复了
kolla-toolbox调用内部模块时,数据在标准错误上返回时解析 JSON 输出的问题。 LP#2080544
14.11.0¶
新特性¶
添加警告和支持在 OpenSearch 迁移期间自动清理过时的 Kibana 索引,方法是使用
kolla-ansible opensearch-migration命令,并带有--prune-kibana-indices参数。
添加了新的命令
kolla-ansible rabbitmq-reset-state。它强制重置 RabbitMQ 的状态。主要设计用于启用 HA 队列,请参阅文档:https://docs.openstack.org/kolla-ansible/2025.2/reference/message-queues/rabbitmq.html#high-availability
更新了 apache grok 模式以匹配字节中的响应大小、服务请求所花费的时间和用户代理。
Masakari 协调后端现在可以通过 masakari_coordination_backend 变量进行配置。协调是可选的,现在可以设置为 redis 或 etcd。
通过索引状态管理 (ISM) 为 OpenSearch 设置日志保留策略。文档。
添加了通过
rabbitmq_extra_config配置 rabbitmq 的功能,该配置可以覆盖 globals.yml 中的设置。
在 Senlin 服务的配置模板中,现在默认在
authentication部分设置了cafile参数。这样,使用内部 Keystone 端点上的自签名证书也可以在 Senlin 服务中使用。
升级说明¶
添加了 OpenSearch 中的日志保留,以前由 Elasticsearch Curator 处理。默认情况下,软保留期和硬保留期分别为 30 天和 60 天。如果您正在从 Elasticsearch 升级,并且之前配置了
elasticsearch_curator_soft_retention_period_days或elasticsearch_curator_hard_retention_period_days,则将使用这些变量而不是默认值。您应在 Caracal 版本之前迁移您的配置以使用新的变量名称。
错误修复¶
修复了在抓取 openstack 导出器时发生的 504 超时问题。确保 HAProxy 服务器超时与 openstack 导出器后端的抓取超时相同。 LP#2006051
修复了非持久的 Neutron 代理状态数据。LP2009884
修复了当 cinder_backend_ceph 设置为 true 时,glance-api 无法启动 privsep 守护程序的问题。有关更多详细信息,请参见 LP#2024541。
修复 2024554。将 mariadb_port 添加到 wsrep 同步状态检查中。这样就可以使用非标准端口进行 mariadb 部署。LP#2024554
修复了 glance 镜像导入。LP#2048525
修复了在使用内部 TLS 和 FQDN 时,Prometheus 无法抓取 OpenStack 导出器的问题。 LP#2008208
修复了
sahara_engine容器的 Docker 健康检查。LP#2046268
修复了 Fluentd 错误解析 Horizon WSGI 应用程序日志的问题。Horizon 错误日志现在写入
horizon-error.log而不是horizon.log。请参阅 LP#1898174
添加了 OpenSearch 中的日志保留功能,之前由 Elasticsearch Curator 处理,现在使用 Index State Management (ISM) OpenSearch 捆绑插件。 LP#2047037。
修复了启用 Etcd TLS 时,Prometheus 抓取 Etcd 指标失败的问题。 LP#2036950
14.10.0¶
新特性¶
添加了为 Neutron 指定自定义内核模块的功能:neutron_modules_default:列出默认模块。neutron_modules_extra:用于自定义模块和参数。
添加了 neutron 检查,用于在部署阶段的开头检查 ML2/OVS 和 ML2/OVN 的存在。如果 neutron_plugin_agent 设置为
ovn并且检测到 ML2/OVS 容器,则它将失败。如果 neutron_plugin_agent 设置为openvswitch,则在检测到 ML2/OVN 容器或任何 OVN 特定卷时,检查将失败。
升级说明¶
默认的 keystone 用户角色已从弃用的角色
_member_更改为member角色。
现在
ironic_tftp服务不再绑定到 0.0.0.0,默认情况下它使用api_interface的 IP 地址。要恢复到以前的行为,请在globals.yml中设置ironic_tftp_interface_address: 0.0.0.0。
配置 Nova libvirt.num_pcie_ports 为 16 默认值。Nova 当前将 ‘num_pcie_ports’ 设置为 “0”(默认为 libvirt 的 “1”),这对于使用 ‘q35’ 机器类型进行热插拔是不够的。
Influxdb 变量
infuxdb_internal_endpoint已修复为influxdb_internal_endpoint。操作员可能需要检查相关变量。
将 nova libvirt 驱动程序设置
skip_cpu_compare_on_dest的默认值更改为 true。使用 libvirt 驱动程序时,在实时迁移期间,跳过比较来宾 CPU 与目标主机。当使用 QEMU >= 2.9 和 libvirt >= 4.4.0 时,libvirt 将在实时迁移期间正确检查目标主机上的 CPU 兼容性。
安全问题¶
默认情况下限制对通过 HAProxy 在公共端点暴露的 http Openstack 服务 /server-status 的访问。修复了 Ubuntu/Debian 安装的问题。RockyLinux/CentOS 不受影响。 LP#1996913
错误修复¶
修复了 OVN NB/SB DB 部署的问题,其中需要重新启动第一个节点。 LP#1875223
设置 opensearch-dashboard 数据位置的正确权限 LP#2020152 https://bugs.launchpad.net/kolla-ansible/+bug/2020152
enable_keystone_federation和keystone_enable_federation_openid到目前为止,在 keystone 角色中的各种模板中都没有被显式处理为布尔值。 LP#2036390
修复了当 Kolla 将 producer 任务设置为 None 时的问题,这禁用了所有 designate producer 任务。 LP#1879557
修复了
ironic_tftp,它绑定到系统上的所有 ip 地址。添加了ironic_tftp_interface、ironic_tftp_address_family和ironic_tftp_interface_address参数,以设置ironic_tftp服务的地址。 LP#2024664
修复 OpenSearch 迁移过程,添加了对 Elasticsearch 索引版本过低,无法用于 OpenSearch 2.x 的预检查。
修复了 OpenSearch Dashboards 容器未配置 Docker 健康检查的问题。请参阅错误 2028362。
修复了使用 ‘q35’ libvirt 机器类型 VM 无法一次热插拔多个 PCIe 设备的问题。
14.9.0¶
新特性¶
由于 CVE-2022-29404 已修复,Apache HTTP Server 中 LimitRequestBody 指令的默认值已从 0(无限制)更改为 1073741824(1 GiB)。这限制了上传到 Horizon 的图像的大小(例如)。现在可以通过
horizon_httpd_limitrequestbody进行配置。LP#2012588
添加了部署 OpenSearch 和 OpenSearch dashboards 的支持。这些服务直接取代了已停止维护的 ElasticSearch 和 Kibana。支持将日志发送到远程 ElasticSearch(或 OpenSearch)集群得以保留。
添加了从 Elasticsearch 迁移到 OpenSearch 的支持,方法是运行
kolla-ansible opensearch-migration命令。
etcd 现在通过 HAProxy 在
etcd_client_port上内部暴露。
添加了两个新标志来改变 RabbitMQ 中的行为:* rabbitmq_message_ttl_ms,它允许您为消息设置 TTL。* rabbitmq_queue_expiry_ms,它允许您为队列设置到期时间。有关两者的更多信息,请参见 https://rabbitmq.cn/ttl.html。
添加了配置选项 rabbitmq_ha_replica_count,以允许更改 RabbitMQ 中镜像队列的复制因子。在未设置该标志的情况下,队列将使用“ha-mode”:”all”在所有节点上进行镜像。请注意,只有当标志 `om_enable_rabbitmq_high_availability` 设置为 True 时,此设置才会生效,因为否则队列不会被镜像。
添加了配置选项 rabbitmq_ha_promote_on_shutdown,它允许更改 RabbitMQ 定义 ha-promote-on-shutdown。默认情况下 ha-promote-on-shutdown 为“when-synced”。我们建议将其更改为“always”。这意味着我们不在乎丢失一些消息,而是优先考虑 rabbitmq 的可用性。这在重启 rabbitmq(例如在升级时)时最相关。请注意,即使将此标志的值设置为默认值“when-synced”,也会在下一次部署时重启 RabbitMQ。有关更多详细信息,请参见:https://rabbitmq.cn/ha.html#cluster-shutdown
通过 tooz 使用 etcd3gw 的服务现在通过 haproxy 使用 etcd。这消除了一个单点故障,我们硬编码了第一个 etcd 主机作为 backend_url。
升级说明¶
neutron_tls_proxy和glance_tls_proxy的默认标签已更改为haproxy_tag,因为这两个服务都使用haproxy容器镜像。升级前应更改对这些服务的任何自定义标签覆盖。
安全问题¶
kolla-genpwd、kolla-mergepwd、kolla-readpwd 和 kolla-writepwd 命令现在会创建或使用正确的权限更新 passwords.yml。它们还会显示有关权限不正确的警告消息。
错误修复¶
当
kolla_externally_managed_cert设置为true时,RabbitMQ 的预检查会错误地失败。LP#1999081
修复在配置文件准备好之前创建 sasl 帐户。LP#2015589
将
--db-nb-pid和--db-sb-pid标志更正为--db-nb-pidfile和--db-sb-pidfile。请参阅此处了解参考:https://github.com/ovn-org/ovn/blob/6c6a7ad1c64a21923dc9b5bea7069fd88bcdd6a8/utilities/ovn-ctl#L1045 LP#2018436
现在自动完成使用 etcd3gw 的所有 Nova 和 Cinder 服务的服务用户令牌的配置,以确保块存储卷数据的安全性。
有关更多详细信息,请参见 LP#[2004555]。
添加了必要的配置,以使应用程序凭证访问规则能够正常工作。LP#1965111
修复在使用 Ansible 检查模式时部署的问题。LP#2002661
修复了 Keystone 中 Cyborg 服务的错误端点 URL 和服务类型信息。 LP#2020080
设置 etcd 内部主机名和 cacert,用于启用 TLS 内部的部署。这允许服务在使用 etcd 进行协调的 TLS 内部部署时与 etcd 协同工作。如果没有此修复,协调后端将无法连接到 etcd,并且服务本身将崩溃。
修复 masakari.conf.j2 中缺少 [taskflow] 部分。LP#1966536
修复 opensearch 迁移过程。包括当 elasticsearch 位于常规文件夹而不是 docker 卷中的情况。此外,现在它会检查是否有数据可以迁移。
在升级或部署 RabbitMQ 时,如果 om_enable_rabbitmq_high_availability 设置为 false,则会清除策略 ha-all。
14.8.0¶
新特性¶
添加了标志
om_enable_rabbitmq_high_availablity。将其设置为true将在 RabbitMQ 中启用持久队列和经典镜像队列。请注意,经典队列镜像和瞬态(即非持久)队列在 RabbitMQ 版本 4.0 中已被弃用(发布日期未知)。更改用于经典镜像的模式以排除某些队列类型。此模式为^(?!(amq\\.)|(.*_fanout_)|(reply_)).*。
添加了一个新标志
openvswitch_ovs_vsctl_wrapper_enabled,它将安装一个包装器脚本到/usr/bin/ovs-vsctl,以便 docker exec 进入 openvswitchd 容器。
添加了
ovn-monitor-all变量。一个布尔值,用于指示 ovn-controller 是否应无条件地监视 OVS 数据库中的所有记录。将ovn-monitor-all变量设置为“true”将减少 OVN SouthBound DB 的一些 CPU 负载,但会影响更多更新发送到 ovn-controller。在具有许多计算主机的大型部署中可能有所帮助。
对于 ovn,添加了 ovn-openflow-probe-interval 变量,它设置了 OpenFlow 连接到 OpenvSwitch 集成桥的不活动探测间隔,以秒为单位。如果值为零,则会禁用连接保持活动功能。默认值为 60 秒。
升级说明¶
ovn角色已拆分为ovn-controller和ovn-db角色,ovn_extra_volumes仍然可以使用,但用户需要调整其配置以使用ovn_db_extra_volumes或ovn_controller_extra_volumes在升级到 Zed 时。
对于 ovn,openflow-probe-interval 的默认值已更改为 60 秒。使用 ovn-openflow-probe-interval 变量进行覆盖。
错误修复¶
修复了
kolla_docker模块,该模块没有考虑到 common_options 参数,因此始终存在模块的默认值。LP#2003079
显式将
[oslo_messaging_rabbit] heartbeat_in_pthread的值设置为true用于 wsgi 应用程序,或false用于其他应用程序。
修复了在使用
octavia_auto_configure且genconfig命令时 Octavia 配置生成的问题。请注意,即使在生成配置时,Octavia 自动配置也需要访问 OpenStack API 才能工作。有关更多详细信息,请参见 LP#1987299。
修复 OVN 部署顺序 - 如 OVN 文档中所建议。LP#1979329
修复了一个问题,在检查模式下运行时,某些预检查会失败或无法运行。LP#2002657
14.7.0¶
错误修复¶
修复了
ironic-inspector使用错误的选项来配置用于与 Ironic API 通信的接口的问题。LP#1995246
14.6.0¶
升级说明¶
image_upload_use_cinder_backend = True不再设置为 Cinder 的默认 Ceph RBD 后端,现在使用常见的上游默认值(当前为False)。请参见 LP#1991516
错误修复¶
image_upload_use_cinder_backend = True不再设置为 Cinder 的默认 Ceph RBD 后端。防止了 Cinder 和 Glance 日志中的相关错误和警告。LP#1991516
修复了 Keystone OIDC 无法验证 JWT,因为 Azure auth-oidc 端点缺少密钥。添加了一个包含传递缺失密钥的 JWKS uri 的新变量。LP#1990375
修复了启用后端 TLS 加密时 Ironic API 健康检查的问题。LP#1990819
移除了
dhcp-sequential-ip配置选项,以避免在同时检查多个主机时提供相同 IP 地址的竞争条件。
修复
ironic-neutron-agent使用错误的选项来配置与 Ironic API 通信的接口的问题。 LP#1990675
14.5.0¶
新特性¶
添加了部署
prometheus-msteams的支持,它可以用于将 Prometheus Alertmanager 通知转发到 Microsoft Teams。通过将enable_prometheus_msteams设置为true来启用。
错误修复¶
修复了 AlertManager 外部 Web URL 无法配置的问题。引入了一个新变量
prometheus_alertmanager_external_url,用户可以使用它将 web.external-url 设置为公共地址。
在 Fluentd-ElasticSearch 集中日志记录管道长时间中断的情况下,有可能生成足够数量的未发送日志数据,其传输缓冲区的时间超过默认 Fluentd 请求超时时间(默认 5 秒)。默认请求超时值增加到
60s,并使用新参数fluentd_elasticsearch_request_timeout可进行配置。LP#1983031
14.4.0¶
安全问题¶
Kolla Ansible 以前以非特权 root 用户身份运行 Ironic 的 tftpd。现在,它将显式地使用 nobody 用户。
错误修复¶
修复 1982777。将 multipathd user_friendly_names 设置为“no”,以便 os-brick 能够在线调整卷大小。添加了覆盖 multipathd 配置的能力。 LP#1982777
修复了 bug #1987982。此错误导致在 keystone 升级后数据库 log_bin_trust_function_creators 变量未被重置为“OFF”。
如果
ironic_enabled_notification_topics设置为true,则将ironic_notification_level设置为info,以确保 Ironic 实际发送通知。有关详细信息,请参阅 bug 1969826。
14.3.0¶
新特性¶
添加变量以配置是否应将监控服务暴露到外部
enable_grafana_externalenable_kibana_externalenable_prometheus_alertmanager_external
错误修复¶
修复在多区域环境中,Ironic Inspector 在没有本地 Keystone 服务的区域中被配置而没有身份验证的问题。
14.2.0¶
新特性¶
添加了支持,可以使用
prometheus_openstack_exporter_compute_api_version变量配置 OpenStack 导出器用于 Prometheus 的 Openstack Compute API 微版本。默认值为2.1,以在使用最新导出器版本时保持指标不变。
错误修复¶
修复了在重启 kolla-toolbox 容器时 /run/openvswitch 挂载呈指数增长的问题。 LP#1979295
修复了恢复多节点 MariaDB Galera 集群的问题。
将
prometheus_openstack_exporter_timeout增加到 45 秒,以减少在具有大量 OpenStack 资源的部署中出现抓取失败的可能性。 LP#1976629
14.1.0¶
新特性¶
添加了新的开关来控制 Masakari 监控器的部署。可以通过
enable_masakari_instancemonitor和enable_masakari_hostmonitor独立控制每种类型监控器的部署。默认情况下,当通过enable_masakari启用 Masakari 的部署时,两者都设置为true。
错误修复¶
修复启用 libvirt SASL 时 Masakari 实例监控出现的问题。libvirt SASL 在 Kolla Ansible 的最近一次更改中默认已启用。 LP#1965754
prometheus openstack 导出器现在位于 haproxy 之后,在 prometheus 数据库中提供唯一的时序。同时,确保在任何给定时间间隔内只有一个导出器查询 openstack API。以前的行为是每个 openstack 导出器都在同一时间被抓取。这导致每个导出器同时查询 openstack API,引入了不必要的负载以及由于实例标签对每个导出器都是唯一的,导致 prometheus 数据库中的重复时序。
14.0.0¶
新功能¶
添加了对 VMware NSX Policy 插件的支持
添加了对 openEuler 20.03-LTS-SP2 作为宿主机操作系统分发的支持。
将 prometheus-libvirt-exporter 镜像部署并配置为 Prometheus 监控堆栈的一部分。
添加了对 VMware FCD 作为 Cinder 卷的支持。
为 Prometheus blackbox 导出器添加
tls_connect模块。这可用于测试 TLS 服务器的连接性。
添加了使用 Prometheus 作为 Ceilometer 指标数据库的能力。
调整 Ceilometer 配置,以便可以将指标推送到 Prometheus Pushgateway。 LP#1964135
添加了新的变量供 common role 使用,
cron_logrotate_log_minsize和cron_logrotate_log_maxsize。它们允许配置全局 logrotate 的 minsize 和 maxsize 选项。
允许通过将
designate_enable_notifications_sink设置为no来禁用 Designate Sink 服务(以及与其的通知)。
引入
nova_enable_external_metadata,默认值为no,以控制是否应配置面向外部的元数据 haproxy 前端。
在此版本中,kolla-ansible 不再为 Keystone 以外的任何服务创建管理端点。请确保在应用程序和配置中仅引用公共或内部端点。
允许在 ceph 配置文件和密钥文件中使用变量。这包括但不限于 ansible lookup 表达式。 LP#1959565
实现了 HAProxy 管理套接字。允许操作员设置标志
haproxy_socket_level_admin(默认:“no”),这会将level admin添加到在 HAProxy 容器内的/var/lib/kolla/haproxy/haproxy.sock中创建的套接字中。这允许操作员与 HAProxy 交互,包括但不限于在受控维护操作期间禁用后端服务器。 bug 1960215。
horizon部署现在支持自定义主题。
为 ironic-neutron-agent 服务实现容器健康检查。请参阅 蓝图
实现了 neutron-bgp-dragent 服务的容器健康检查。请参阅 蓝图
实现了 solum 服务的容器健康检查。请参阅 蓝图
实现了 storm 服务的容器健康检查。请参阅 蓝图
实现了 zookeeper 服务的容器健康检查。请参阅 蓝图
支持在 Ironic 中同时启用 PXE 和 iPXE。
添加了支持,可以在宿主机上运行 libvirt 守护程序,而不是在容器中。这通过将
enable_nova_libvirt_container设置为false来完成。目前仅支持没有现有nova_libvirt容器的新部署。
添加了对 libvirt SASL 身份验证的支持。默认情况下已启用。 LP#1964013
添加了对
kolla-ansible certificates命令的支持,用于生成 libvirt TLS 证书,当libvirt_tls为true时。相同的证书和密钥用于 libvirt 客户端和服务器。证书使用与生成的其他证书相同的根 CA,并写入
{{ node_custom_config }}/nova/nova-libvirt/,准备好被 nova-libvirt 和 nova-compute 拾取。
添加了一个新的变量供 common role 使用,
cron_logrotate_schedule。这允许配置 cron 运行 logrotate 的频率。
为 Neutron 服务器添加了一个 SSH 密钥,可用于在外部系统中进行无密码公钥身份验证(例如,用于
networking-generic-switch管理的交换机)。
添加了一个
kolla-ansible nova-libvirt-cleanup命令,可用于清理nova_libvirt容器。如果切换到宿主机 libvirt 守护程序,这可能会很有用。
如果
enable_memcached为True,Keystone OIDC 集成现在使用 memcached 作为缓存后端。可以通过将keystone_oidc_enable_memcached设置为False来禁用此功能。
添加了功能,可以使用
openvswitch_hw_offload变量在 OpenvSwitch 中启用硬件卸载。
添加了变量以定义要传递给 Prometheus 导出器的额外命令行参数
prometheus_blackbox_exporter_cmdline_extrasprometheus_elasticsearch_exporter_cmdline_extrasprometheus_haproxy_exporter_cmdline_extrasprometheus_memcached_exporter_cmdline_extrasprometheus_mysqld_exporter_cmdline_extrasprometheus_node_exporter_cmdline_extrasprometheus_openstack_exporter_cmdline_extras
添加
enable_prometheus_etcd_integration配置参数,可用于配置 Prometheus 以抓取 etcd 指标端点。enable_prometheus_etcd_integration的默认值设置为enable_prometheus和enable_etcd的组合值。
添加了“manila_cephfs_filesystem_name”变量以支持多 fs Ceph Pacific+ 部署。
添加了对 Rocky Linux 8 作为宿主机操作系统分发的支持。
添加了支持,用于配置 Nova 的 Vendordata 文件。这允许用户将任意数据传递给实例。
已知问题¶
现有的 fluentd 日志轮转未能删除旧的 haproxy、swift、glance-tls-proxy 和 neutron-tls-proxy 日志。这些日志将不会被新的 logrotate 配置删除,需要手动删除。
升级说明¶
支持的 Ansible 最低版本现在是
4(ansible-core 2.11)和支持的最高版本是5(ansible-core 2.12)。
恢复了
barbican.conf中max_allowed_request_size_in_bytes的上游默认值。它被设置为 1000000 字节,而不是上游默认的 25000 字节。
如果未部署 Prometheus,RabbitMQ 的 Prometheus 插件不再默认启用。如果使用外部 Prometheus,则需要启用
rabbitmq_enable_prometheus_plugin以获得旧行为。
外部 Nova 元数据服务现在默认禁用。可以通过将
nova_enable_external_metadata设置为yes来启用它。
在此版本中,kolla-ansible 不再为 Keystone 以外的任何服务创建管理端点。如果想要清理现有的云,现有的端点不会被自动删除,可以使用如下命令:
openstack endpoint list --interface admin -f value | \ awk '!/keystone/ {print $1}' | xargs openstack endpoint delete
enable_host_ntp变量已弃用,并已删除。
根据邮件列表通知,已删除部署
vmtp的支持。vmtp项目不再可构建,超出了 OpenStack 命名空间,并且看起来已被废弃。请参阅邮件列表通知
fluentd_binary和fluentd_version变量不再使用,因为 Kolla Ansible 支持所有支持的 Kolla 镜像风味中的单个 fluentd 版本。
从 Yoga 开始,Ironic 已将默认 PXE 从纯 PXE 更改为 iPXE。Kolla Ansible 遵循此上游决策,但允许用户恢复到以前的纯 PXE 默认值。有关详细信息,请参阅 Kolla Ansible 的文档。
在启用 iPXE 期间,Ironic 节点在 UEFI 启动模式下检查期间使用的启动加载程序已从
ipxe.efi更改为snponly.efi。这与 Ironic 自 Xena 版本以来使用的默认 UEFI iPXE 启动加载程序一致。可以通过ironic_dnsmasq_uefi_ipxe_boot_file更改启动加载程序。
与 PXE (TFTP) 和 iPXE & 直接部署 (HTTP) 相关的 Ironic 卷已被重构,以共享在
/var/lib/ironic处的公共父路径。这是为了支持同时使用 PXE 和 iPXE。进行高级自定义的操作员可能需要查看相关的默认部分。
Ironic 升级现在将等待处于
wait状态的节点更改其状态。这样可以改善用户体验,避免中断正在等待处理的过程。可以通过将ironic_upgrade_skip_wait_check设置为yes来禁用此功能。
与 PXE (TFTP) 和 iPXE & 直接部署 (HTTP) 相关的 Ironic 容器已重命名,以更好地反映其作用:
ironic_pxe现在是ironic_tftp,而ironic_ipxe现在是ironic_http。进行高级自定义的操作员可能需要查看相关的默认部分。此外,它们各自的主机组也已类似地更改:ironic-pxe现在是ironic-tftp,而ironic-ipxe现在是ironic-http。
ironic.conf现在设置[pxe]\kernel_append_params,而不是已被弃用的[pxe]\pxe_append_params。如果您正在覆盖旧选项,请覆盖新的配置选项。
添加 libvirt SASL 身份验证需要在
passwords.yml中添加新的密码,即libvirt_sasl_password。可以使用现有的kolla-genpwd和kolla-mergepwd工具生成此密码。
添加 libvirt SASL 身份验证需要同时更新
nova_libvirt和nova_compute容器,使用包含必要的 Cyrus SASL 依赖项的新镜像,以及包含 SASL 凭据的配置。
如果同时启用了 Designate 和 Neutron,Neutron 现在使用
subnet_dns_publish_fixed_ip,而不是更简单的dns扩展,以便支持 DNS 集成中的更多功能。通过neutron_extension_drivers配置选项覆盖,如果这不适合您的部署。
不再可以覆盖删除 Monasca Log Metrics 服务的操作,如果尚未在 Wallaby 版本中删除,它将被自动删除。操作员需要删除任何相关的 docker 卷。
RabbitMQ 配置中已删除经典瞬态镜像队列的策略。升级 RabbitMQ 服务时将自动删除该策略。
已移除
wsrep-notify.sh脚本(在 Wallaby 中已弃用)。
更新 node_custom_config 的默认值为 {{ node_config }}/config,在使用 –configdir 指定时。
弃用说明¶
enable_ironic_ipxe已弃用,推荐使用ironic_dnsmasq_serve_ipxe,后者更能准确地反映其效果。enable_ironic_ipxe将在 Zed 中移除。
enable_ironic_pxe_uefi已弃用,将在 Zed 中移除。此变量未记录在案,会导致 Ironic Inspector 的 PXE 设置出现故障。在 Ironic Inspector 中支持 EFI/UEFI 部署的推荐方法是继续使用 Ironic Inspector 中推荐的默认 iPXE 设置(请参阅关于ironic_dnsmasq_serve_ipxe的文档)。
storage_interface变量已弃用,将在下一个版本中移除,因为它造成了混淆。该变量仅设置swift_storage_interface的默认值,我们现在建议直接设置该值。
安全问题¶
显式地从具有 Neutron L3 Agent 的主机的
/etc/sysctl.conf中删除net.ipv4.ip_forwardsysctl。如果没有其他来源提供此 sysctl,则在下次重新启动后它应恢复为默认值 0。这是对先前更改的后续操作,该更改停止设置 sysctl,但使现有系统保留原始值 1。希望更积极地更改值的部署者可以使用 Kolla Ansible 的 Yoga 版本将
neutron_l3_agent_host_ipv4_ip_forward设置为 0。此选项将在未来版本中删除。任何仍然依赖于先前值的部署都可以将neutron_l3_agent_host_ipv4_ip_forward设置为 1。 LP#1945453
修复了一个问题,即 libvirt 的默认配置未对通过内部 API 网络暴露的 TCP 上的 API 使用身份验证。这允许任何访问内部 API 网络的人员对 libvirt 进行读写访问。虽然内部 API 网络通常是可信的,但此网络上的其他服务通常至少需要身份验证。
默认情况下现在已为 libvirt 启用 SASL 身份验证。Kolla Ansible 自 Train 版本以来就支持 libvirt TLS,建议使用它来提供更高层次的安全性。 LP#1964013
添加了针对 Elasticsearch 中 Apache Log4j2 远程代码执行 (RCE) 漏洞 - CVE-2021-44228 的缓解措施。
错误修复¶
修复了 OIDC 身份验证流程中需要用户进行不必要操作的问题。现在自动重定向到目标 IdP 页面。 LP#930055
删除了
barbican.conf中max_allowed_secret_in_bytes的自定义值。Barbican 中的默认最大大小翻倍,以避免某些证书出现问题。 LP #1957795
修复了使用 Cinder Ceph 支持部署 Zun 的问题。添加了对 Zun 在配置了外部 Ceph 的 Cinder 时访问 cinder 卷的支持。 LP#1848934
通过自定义 RabbitMQ 的
prometheus.tcp.port来解决端口冲突,从而修复了 outward_rabbitmq 的部署失败。 LP #1885106
在 OpenStack 导出器中使用 Volume V3 API。Volume V2 API 已在 OpenStack Wallaby 中移除。 LP#1938194
修复了
cyborg.conf的生成。 LP#1941704
在使用
rabbitmq_userAnsible 模块时,添加了node参数。 LP#1946506
修复了多节点 MariaDB 部署中可能因 Galera 4 的新行为导致 playbook 执行在 WSREP 检查时失败的问题。 LP#1947485。
修复了禁用 HAProxy 的单节点 MariaDB 部署中的问题。有关详细信息,请参阅 bug 1947534。
修复了在部署 MariaDB 节点时使用
--limit时在galera.cnf中生成wsrep_cluster_address的问题。 LP#1947589
修复了 grafana 自定义 home dashboard 文件复制任务。grafana home dashboard 文件的复制任务需要以特权模式运行,否则会发生权限被拒绝错误。 LP#1947710
修复了 placement 角色中的一个错误,该错误阻止在使用了自定义策略文件时部署 placement 服务。 LP#1948835
修复了错误消息中缺少当前的 Ansible 版本。 LP#1948979
修复 octavia 角色未设置 amphora 网络的 gateway_ip LP#1949260
通过将
ovn_sb_connection添加到octavia.conf来修复 Octavia 的“连接被拒绝”错误。 LP#195011
Ironic API 和 Ironic Inspector API 使用单独的策略文件。Ironic 角色已更新,能够分别处理这两个策略。
仅在 ovn-controller 主机上运行
configure ovn in ovsdb任务。该任务将在没有隧道接口的主机(如 controller 节点)上失败。 LP#1953367
即使一个操作失败,也要继续运行 Elasticsearch curator 中的所有操作。 LP#1954720
修复 Placement 没有 logrotate 配置 LP#1954723
修复 Nova 在自定义
migration_interface时调整大小失败的问题。 LP#1956976
修复了当
kolla_enable_tls_external为 true 时无法连接到 zun 控制台的问题。当kolla_enable_tls_external为 true 时,访问任何 zun 容器的控制台都会失败。此修复根据kolla_enable_tls_external的值在zun.conf中设置 wsproxybase_url的协议。 LP#1957117
修复了
Register Identity Providers in OpenStack任务,该任务在 openstack 命令中缺少一个 =,导致任务无法将 IDP 注册到 Keystone。 LP#1959022
修复 Glance 与 Cinder iSCSI 后端由于缺少 lock_path 设置而失败的问题。 LP#1959663
修复 openvswitch 和 prometheus 服务缺少 logrotate 配置的问题。 LP#1961795
修复升级时 Ironic 的 PXE 组件未更新的问题。 LP#1963752
添加了 Fluentd 配置以允许匹配 OpenvSwitch 日志。 LP#1965815
修复 Nova API 日志写入以 -wsgi.log 结尾的文件的问题,这影响了 Fluentd 管道中这些日志的处理。 LP#1950185
修复在 CloudKitty 中使用 Prometheus 收集器时 Prometheus HTTP API URL 的配置。 LP#1961615
修复了 Prometheus 抓取目标时,Ansible inventory 主机名 (
inventory_hostname) 无法解析为可访问 IP 地址的问题。恢复到以前的行为,即使用 IP 地址与目标通信。副作用是目标实例将再次使用 IP 地址而不是主机名进行标记。 LP#1955563
修复在 Debuntu 二进制版本中 aodh 服务的 apache wsgi 配置。 LP#1953059
修复 baremetal 角色以避免错误“无法删除“libvirtd””。现在该角色会创建符号链接 /etc/apparmor.d/disable/usr.sbin.libvirtd。 LP#1960302
现有的 fluentd 日志轮转未能删除旧的 haproxy、swift、glance-tls-proxy 和 neutron-tls-proxy 日志。标准化使用 logrotate 进行日志轮转和删除。
修复了使用基于 OIDC 的 Keystone 联合与具有不同响应类型的 IDP 时的问题。现在可以使用新的变量
keystone_federation_oidc_response_type来设置此项。 LP#1959781
添加了通过 kolla 配置 rabbitmq 集群接口的选项 LP#1900160 <https://bugs.launchpad.net/kolla-ansible/+bug/1900160>
在较慢的节点上,grafana 的初始启动可能会遇到超时失败,因为设置数据库的迁移需要比预期更长的时间。已通过增加默认超时来解决此问题。可以通过新的参数 grafana_start_first_node_delay 和 grafana_start_first_node_retries 来更改超时设置,用于 grafana 角色。 LP#1769962
修复了在使用 Jinja2 3.1.0 时出现的问题。
修复了配置选项,该选项设置了 Neutron 发送请求到 Placement 使用的端点类型。 LP#1960503
修复了 Node Exporter 的配置问题,导致主机的所有文件系统指标都相同。 LP#1961438
修复了一个问题,即任何 Nova 计算服务未能注册自身,将导致只有查询 nova API 的主机失败。现在,只有未能注册的主机会使 Kolla Ansible 运行失败。或者,要使单元中的所有主机在任何计算服务未能注册时都失败,请将
nova_compute_registration_fatal设置为true。 LP#1940119
修复了 RabbitMQ 配置为对所有服务镜像经典 transient 队列的问题。根据 RabbitMQ 文档,这不是受支持的配置,并导致了许多错误报告。 LP#1954925
移除了与 Wallaby 之前的 Manila 使用子文件夹相关的“fix_cephfs_owner.yaml”。Post-wallaby Manila 现在使用 cephfs 卷,因此此文件不再需要。 LP#1938285 LP#1935784
移除了在 Manila 配置中使用“cephfs_enable_snapshots”的方法,因为此选项已在 Wallaby 版本中从 Manila 中移除。
修复 Cinder 升级时 Cinder 服务仍然固定到先前版本 RPC 和对象版本的问题。 LP#1954932
其他说明¶
容器
ironic-dnsmasq现在会创建dnsmasq.log,就像容器neutron-dhcp-agent一样。对于两个日志文件,可以通过openstack_logging_debug或ironic_logging_debug或neutron_logging_debug变量全局或按服务增加详细程度。