2024.1 系列发布说明¶
2024.1-eom¶
错误修复¶
修复了 PodmanWorker 在创建新容器时未设置 KOLLA_SERVICE_NAME 环境变量的问题。此外,两个方法从 DockerWorker 移动到 ContainerWorker,因为它们适用于两种引擎。
修复了一个问题,当 Memcached 节点之一不可用时,Horizon 返回 HTTP 500 错误,方法是将缓存后端中的
ignore_exc设置为True。 LP#2106557
添加了对
octavia_notification_topics的缺失覆盖,以便操作员可以为 Octavia 添加自己的通知主题。默认情况下,当启用 ceilometer 时,它会将通知发送到 ceilometer。
18.8.0¶
安全问题¶
通过单个前端拒绝访问 /server-status。 LP#2121626
错误修复¶
修复了错误 LP#2118452,该错误阻止了 RabbitMQ 从版本 3.13 升级到 4.1,即使它受支持。
修复了当网络节点与控制器分离时后端 TLS 配置的问题。 LP#2117084
减小 fluentd 缓冲区的大小,以避免在将日志发送到 opensearch/elasticsearch 时出现 HTTP 413 错误。 所选值基于看似合理的大小。 可以通过编辑
fluentd_bulk_message_request_threshold和fluentd_buffer_chunk_limit_size变量来自定义这些值。 LP#2079988
18.7.0¶
新特性¶
使用仲裁队列处理瞬态/扇出队列。这有助于 OpenStack 服务更能抵抗消息代理故障。此功能默认禁用。您可以通过在
globals.yml中设置以下内容来启用它:om_enable_rabbitmq_transient_quorum_queue: true。请注意,这将为所有瞬态/扇出消息交换启用仲裁队列,并可能提高系统的弹性。另请参阅 LP#2078339。
现在,您可以启用 RabbitMQ 中所有扇出队列的流队列的使用,方法是将
om_enable_rabbitmq_stream_fanout设置为true。
升级说明¶
添加了对所有使用 RabbitMQ 的服务使用 oslo.messaging 队列管理器的支持。默认情况下禁用此功能,但可以使用
om_enable_queue_manager进行配置。
当
om_enable_rabbitmq_transient_quorum_queue和om_enable_rabbitmq_quorum_queues都为true时,RabbitMQ 中的扇出队列流(由om_enable_rabbitmq_stream_fanout变量控制)默认启用。
添加了对
Ubuntu Noble Numbat 24.04作为宿主机操作系统的支持。
错误修复¶
修复了
ovs-dpdk角色中处理程序调用失败的问题。 LP#2088197
18.6.0¶
新特性¶
用户角色分配现在可以自定义域和系统范围。
kolla-ansible 现在在通过
kolla-ansible -i $inventory validate-config调用时验证 Prometheus 配置文件。通过运行promtool check config命令来完成此验证。有关kolla-ansible validate-config命令的详细信息,请参阅 文档。
升级说明¶
服务用户
ironic-inspector现在被分配了系统范围all。 如果您已覆盖默认的角色分配列表,您也应进行此更改。
错误修复¶
修复了 Redis Sentinel 配置,以确保 Octavia jobboard 的正确高可用性功能。 LP#2100927
服务用户
ironic-inspector现在被分配了系统范围all。 这使其能够在节点检查期间再次创建裸机端口。 LP#2064655
18.5.0¶
错误修复¶
修复了 Apache 和 placement 写入相同日志文件的问题。 Apache placement VirtualHost ErrorLog 已重命名为
placement-api-error.log(与其他服务类似)。 LP#[2095607]
修复了一个问题,当设置
openstack_cacert时,cinder.conf 中的 etcd3gwbackend_url将无效。 LP#2085908
通过删除硬编码的版本号修复了 Grafana 数据源更新的问题。 这可确保正确配置数据源更新。 LP#[2096664]
18.4.0¶
新特性¶
生成一个系统范围的
public-openrc-system.sh文件。这允许针对公共 API 运行 Ironic 命令,当无法访问内部 API 时很有用。 LP#2051837
错误修复¶
修复了 fluentd 解析器在 Python 跟踪信息上失败的情况。 OpenStack 服务正则表达式已重新设计,以包含 global_request_id 并处理带有 Python 跟踪信息的情况。 LP#2044370
修复了 busy libvirt 的 secret volume 在 secret 更改时的问题。 LP#2073678
添加了一个检查,以防止部署/升级 RabbitMQ 容器导致 RabbitMQ 版本的降级。
修复了一个问题,RabbitMQ 版本检查由于缺少身份验证而无法拉取新镜像。 LP#2086171
修复了一个错误,其中变量
kolla_same_external_internal_vip的 IP 地址比较没有正确进行。修复比较以使用ipaddr过滤器代替。有关详细信息,请参阅 LP#2076889。
18.3.0¶
新特性¶
添加了在 Ironic Inspector DHCP 服务器中为多个 DHCP 范围提供 NTP(时间源)服务器的能力。
升级说明¶
删除了通过设置
kolla_ansible_setup_any_errors_fatal为true提前失败执行(如果任何主机上的事实收集失败)的支持。这是因为 Ansible 的any_errors_fatal参数没有被模板化,导致即使kolla_ansible_setup_any_errors_fatal的默认值为false,该值始终被解释为true。可以通过将最大失败百分比设置为 0 来实现等效行为。这可以通过专门为事实收集使用
gather_facts_max_fail_percentage或全局使用kolla_max_fail_percentage来完成。
错误修复¶
修复了 ironic dnsmasq 在使用 podman 部署中无法启动的问题,因为它需要 NET_RAW 功能。请参阅 LP#2055282。
修复了 kolla-ansible 移除放置在
/etc/kolla/<inventory>中的 inventory 文件的问题。有关更多详细信息,请参阅 LP#2052706。
修复了在使用联合身份验证时 keystone 服务配置的 haproxy 问题。 LP#2058656
修复了由于在 mariadb_backup_history 表上缺少 CREATE 权限导致的 mariadb 备份失败问题。 LP#2061889
修复了当 kolla-ansible 从 docker 容器运行时 MariaDB 恢复问题。 LP#2073370
修复了 #2080552。
openvswitch角色现在将external-ids:hostname设置为{{ ansible_facts.fqdn }}而不是{{ ansible_facts.hostname }},因为 Neutron 在requested-chassis字段中使用基于 FQDN 的主机名。 LP#2080552
修复了由于 mysql_ifaces 配置中 IPv6 地址格式不正确导致 ProxySQL 无法绑定。 LP#2081106
为 redis 添加了缺少的 logrotate 配置。 LP#2084523
修复了在使用
--limit参数进行事实收集时的问题,如果一台主机的事实收集失败,可能会导致另一台主机在委托事实收集期间失败。
为 multipath.conf
defaults部分添加了skip_kpartx yes以防止 kpartx 扫描 multipath 设备并解锁 os-brick 的multipathd del map操作以进行卷分离操作。 LP#2078973 <https://launchpad.net/bugs/2078973>`__
修复了 2067036。添加了
octavia_interface_wait_timeout以控制 octavia-interface.service 超时时间,以便能够等待 openvswitch 代理同步完成并且 octavia-lb-net 可以从主机访问。还将此单元的重启策略设置为 on-failure LP#2067036
修复了 Octavia 服务升级问题,该问题在 Octavia 持久性数据库用户缺失时可能导致失败。 LP#2065591
修复了 neutron_ovn_agent 和 neutron_ovn_metadata_agent 的不可靠的健康检查错误。更改为检查 OVS DB 连接而不是 OVN 南向 DB 连接。 LP#2084128
修复了在使用 podman 时,使用模式说明符的命名卷的问题。有关更多详细信息,请参阅 LP#2054834。
修复了
kolla-toolbox调用内部模块时,数据在标准错误上返回时解析 JSON 输出的问题。 LP#2080544
更新了
proxysql.yaml.j2以使用 mariadb_port 作为后端。这修复了database_port和mariadb_port不同的设置。
18.2.0¶
新特性¶
修改了公共 API firewalld 规则,以便立即应用于正在运行的 firewalld 服务。这要求 firewalld 正在运行,但避免重新加载 firewalld,由于 firewalld 构建其防火墙链的方式,重新加载会造成破坏。
添加了一个命令来升级到 RabbitMQ 的目标版本。这在 SLURP 升级之前是必需的。有关更多详细信息,请参阅文档:https://docs.openstack.org/kolla-ansible/2025.2/reference/message-queues/rabbitmq.html#slurp
错误修复¶
修复了部署启用 TLS 的内部 VIP 的 opensearch 问题。
修复了在 manila-share 节点上 openvswitch 的处理问题。 LP#1993285
添加了 barbican 所需的数据库配置。 LP#2072554
修复了 Horizon 中“更改密码”屏幕的行为,直到 bug #2073639 得到解决。 LP#2073159
修复了在使用自定义 CA 时 Python requests 库的问题,方法是将 REQUESTS_CA 环境变量添加到 kolla-toolbox 容器。请参阅 LP#1967132
修复了当在服务配置文件中设置自定义 host 选项时检测 Nova Compute Ironic 服务的问题。请参阅 LP#2056571
移除了 horizon 容器中的默认 /tmp/ 挂载点。此更改是为了加固容器并防止潜在的安全问题。有关更多信息,请参阅 Bug Report:LP#2068126。
修复了当部署 alertmanager 时会破坏的
prometheus.yml模板问题。
修复了 OVN 北向或南向数据库部署在选举新的领导者时可能失败的问题。 LP#2059124
18.1.0¶
升级说明¶
MariaDB 备份现在使用与正在运行的 MariaDB 服务器相同的镜像。以下与 MariaDB 备份相关的变量不再使用并且已被删除
mariabackup_imagemariabackup_tagmariabackup_image_full
错误修复¶
修复了 trove 模块导入问题。所需模块的路径在源 trove 包中已更改,因此配置已更新。 LP#1937120
修改了 MariaDB 程序以使用与正在运行的 MariaDB 服务器容器相同的容器镜像。这应防止可能导致备份失败的兼容性问题。
修复了 kolla_podman_worker 中的一个错误,其中列表中字符串中缺少的逗号会创建应该分开的项目的隐式连接。 LP#2067278
修复了启用内部 TLS 时的 CloudKitty 配置。 LP#1998831
修复了在容器配置中设置像 1g 这样的值时,维度比较的问题,导致 docker 容器即使没有更改也会重新启动,因为我们正在比较 1g 和 docker inspect 中显示的 1073741824,而 1g 在配置中。
修复了 skyline-console 中 keystone 端口指向错误端点端口的问题。 LP#2069855
修复了 2065168。修复 kolla systemd 单元模板,以防止使用 docker.service 重新启动重新启动所有 kolla 服务。 LP#[2065168]
所有稳定的 RabbitMQ 功能标志现在在部署、重新配置和升级期间都已启用。因此,变量
rabbitmq_feature_flags不再需要。这是对 RabbitMQ SLURP 支持的部分修复。 LP#2049512
修复了 skyline 的旧格式停止任务。它使用了 docker_container,这会导致 podman 部署出现问题。
18.0.0¶
新特性¶
添加了一个新变量
prometheus_ceph_exporter_interval用于控制 Ceph 指标的抓取间隔。
公开了一个标志 bifrost_enable_ironic_inspector,用于在 Bifrost 中启用 ironic-inspector。此选项默认为 True,因为它可能对向后兼容性有用。它仍然允许通过将 inspect_interface 设置为 agent 来使用本机带内检查。有关更多详细信息,请参阅 Ironic 文档。
实现了 [配置 tap-as-a-service 插件到 neutron 容器]。添加了必要的更改和配置以使用 neutron 插件 tap-as-a-service 使用 openstack tap 命令创建端口镜像。有关更多信息,请参阅蓝图 configure-taas-plugin。
实现了 [启用 Fluentd 插件 Systemd]。添加了必要的更改和配置以使用 fluentd 插件 systemd 默认读取 /var/log/journal 中的日志。这允许我们读取和操作这些日志以进行监控目的。
这些日志默认情况下将发送到 OpenSearch。要禁用此行为,请将变量
enable_fluentd_systemd在配置文件/etc/kolla/globals.yml中设置为false。默认情况下,启用集中日志记录时,我们还会启用
systemd插件。要在启用集中日志记录时禁用此行为,请将变量enable_fluentd_systemd的值设置为false,在配置文件/etc/kolla/globals.yml中。fluent-plugin-systemd 源代码:https://github.com/fluent-plugin-systemd/fluent-plugin-systemd
有关更多信息,请参阅蓝图 enable-fluent-plugin-systemd。
已添加用于 neutron 角色的新变量
neutron_dns_integration和neutron_dns_domain。它们允许启用/禁用内部/外部 DNS 集成,或它们的组合。
配置 Grafana OpenSearch 数据源的日志级别字段。这允许根据日志级别对日志进行着色。要应用此设置,需要删除数据源并重新配置 grafana。
已删除
prometheus-haproxy-exporter的配置和部署,因为它的仓库现在已归档。我们现在使用内置于 HAProxy 中的 Prometheus 的原生支持。为了保持一致性,它在prometheus_haproxy_exporter_port端口上公开。prometheus-haproxy-exporter容器和配置会自动删除。
已启用 Ironic 中项目范围服务角色的提升访问权限。Ironic 最近开始强制执行新的策略和范围,它是少数几个需要系统范围才能进行某些管理相关 API 调用的 OpenStack 项目之一。但是,Ironic 也开始允许服务角色通过设置
rbac_service_role_elevated_access来实现项目范围的行为。此更改启用此设置,以实现与其它 OpenStack 项目服务角色相同的行为。
已将服务角色添加到 Ironic 服务用户。Ironic 最近强制执行新的策略验证并添加了对服务角色的支持。
已添加对通过
kolla_max_fail_percentage设置 Ansible 剧本最大失败百分比的支持。它也可以按服务设置,例如nova_max_fail_percentage。
通过索引状态管理 (ISM) 为 OpenSearch 设置日志保留策略。文档。
重新添加了对 neutron-fwaas v2 的支持。设置 enable_neutron_fwaas: yes 以启用。
已添加配置以连接 Skyline 的 Prometheus,以使监控中心正常工作。最新的 Skyline 控制台现在包含管理员视图中的监控中心,该监控中心显示来自 Prometheus 的信息。为此,需要在 skyline.yaml 中设置 Prometheus 连接。
已添加覆盖 Skyline 配置文件名的功能。您可以提供 Skyline 控制台的 nginx.conf、Skyline API 服务器的 gunicorn.py 和 skyline.yaml 的自定义版本。将文件放在 Kolla 配置目录的 skyline 子文件夹中;skyline.yaml 将与 Kolla 提供的版本合并。
已将更多受 Skyline 支持的服务添加到配置中,使其可访问 Skyline 的前端控制台。新的服务包括 Barbican、Designate、Masakari 和 Swift 或 Ceph RGW。如果同时启用了 Swift 和 Ceph RGW,则仅配置 Swift。
允许覆盖 Skyline 控制台徽标。现在可以替换 Skyline 的一些徽标。有关详细信息,请参阅 参考文档。
如果启用了 Keystone 联合身份验证并且设置了至少一个具有 openid 协议的身份提供程序,则 Skyline 控制台中启用了单点登录 (SSO)。Skyline 控制台的重定向 URI 已添加到 Keystone 的受信任仪表板中。
升级说明¶
支持的 Ansible 最低版本现在是
8(ansible-core 2.15),最高版本是9(ansible-core 2.16)。
已停止对部署
Freezer的支持。
已停止对部署
Murano的支持。此外,由于仅用于 Murano,已停止对部署外部 RabbitMQ 的支持。
已停止对部署
Sahara的支持。
已停止对部署
Senlin的支持。
已停止对部署
Solum的支持。
已停止对部署
Vitrage的支持。
配置变量
designate_enable_notifications_sink已更改为no,配置 designate 在 neutron、nova 和控制部署中的通知到designate-sink,现在是可选的。希望保留先前行为的运营商应将其设置为
true。
不再使用
grafana卷。如果您希望自动删除旧卷,请将grafana_remove_old_volume设置为true。请注意,执行此操作将丢失通过 CLI 直接安装的任何插件。如果您之前通过 Grafana UI 或 CLI 安装了 Grafana 插件,则必须更改为在镜像 构建时 安装它们。Grafana 卷,其中包含现有的自定义插件,将在 D 版本中自动删除。
由于从使用
prometheus-haproxy-exporter更改为使用内置于 HAProxy 中的 Prometheus 的原生支持,指标名称可能会被替换和/或删除,并且在某些情况下,指标名称可能保持不变,但标签可能会更改。警报和仪表板也可能需要更新以使用新的指标。请查看引用旧指标的任何配置,因为这不是向后兼容的更改。
Horizon 角色已重新设计为首选 local_settings.d 配置模型。文件
local_settings和custom_local_settings已重命名为_9998-kolla-settings.py和_9999-custom-settings.py。使用 Horizon 自定义配置的用户必须更改/etc/kolla/config/horizon中的这些文件名。
添加了 OpenSearch 中的日志保留,以前由 Elasticsearch Curator 处理。默认情况下,软保留期和硬保留期分别为 30 天和 60 天。如果您正在从 Elasticsearch 升级,并且之前配置了
elasticsearch_curator_soft_retention_period_days或elasticsearch_curator_hard_retention_period_days,则将使用这些变量而不是默认值。您应在 Caracal 版本之前迁移您的配置以使用新的变量名称。
如果在
passwords.yml中更新了凭据,kolla-ansible 现在能够更新 keystone 数据库和磁盘上配置文件中的这些凭据。对
passwords.yml的更改在运行kolla-ansible -i INVENTORYreconfigure 后应用。如果您想恢复到旧行为 - 凭据在
passwords.yml中更改后在重新配置期间不会自动更新 - 您可以通过在 globals.yml 中设置update_keystone_service_user_passwords: false来指定。请注意,只有在您更改
passwords.yml中的密码时,才会更改密码。此机制不是自动凭据轮换的完整解决方案。如果您没有在passwords.yml内部更改密码,则不会更改任何密码。
弃用说明¶
对部署 Masakari 的支持不再被弃用。Masakari CI 场景现在可以正常工作,并且已承诺改进该项目的健康状况。
错误修复¶
引入了一个单独的角色来管理 sysctl 设置。此角色会自动检测对 IPv6 的支持,如果不支持,则跳过 IPv6 sysctl 设置。此角色扩展了在 https://review.opendev.org/c/openstack/kolla-ansible/+/905831 审查的此问题的先前可移植修复。有关更多详细信息,请参阅 LP#1906306。
添加了针对内核中禁用 IPv6 的 IPv6 sysctl 设置的条件。在这些系统上更改与 IPv6 相关的 sysctl 设置会导致错误。LP#1906306
修复了 nova-cell 在 VIP 更改时未更新 cell0 数据库地址的问题。有关更多详细信息,请参阅 LP#1915302。
修复了非持久的 Neutron 代理状态数据。LP2009884
修复了
ovs-dpdk镜像拉取。LP#[2041864]
从 ansible-core 2.13 开始,列表连接格式已更改,导致无法覆盖 horizon 策略文件。有关更多详细信息,请参阅 LP#2045660。
修复了在使用 systemd 时服务重启时间过长的问题。LP#2048130。
通过将每个容器的 housekeeping 间隔设置为与 Prometheus 抓取间隔相同的值,修复了 cAdvisor 容器的高 CPU 使用率问题。LP#2048223
修复了 glance 镜像导入。LP#2048525
修复了 Nova 操作使用
scp命令(例如冷迁移或调整大小)在 Debian Bookworm 上的问题。LP#2048700
修复了 nova-compute 和 nova-compute-ironic 的配置,这将启用通过 configdrive 暴露 vendordata。LP#2049607
修复了使用 Ansible check 模式时的 mariadb 角色部署。LP#2052501
修复了当指定
neutron_bridge_name为两个网桥时,openvswitch网桥创建的问题。有关详细信息,请参阅 LP#2056332。
修复了将 Redis 作为协调后端使用的问题。有关详细信息,请参阅 LP#2056667。
修复了 ovs-dpdk 服务配置错误,导致 Kolla-Ansible 部署中断。有关详细信息,请参阅 bug 2058372。
Podman 部分中的不正确条件阻止了检索所有容器的事实,当未提供名称时。 LP#2058492
修复了使用 podman 作为容器引擎时负载均衡器升级任务失败的问题。LP#2063896
更新了所有 Nova 和 Cinder 服务的服务用户令牌的配置,以停止对服务令牌使用管理员角色,并使用服务角色。
有关更多详细信息,请参阅 LP#[2004555] 和 LP#[2049762]。
修复了启用不必要的用法审计通知的问题。请参阅 LP##2049503。
修复了启用 TLS 的 Swift 时 cinder-backup 服务。LP#2051986
已修复 DNS 集成配置。有关详细信息,请参阅 LP##2049503、DNS 集成 和 与外部服务集成 DNS。
修复了 OpenSearch 升级任务中的幂等性问题,后续的 kolla-ansible 升级会使分片分配处于禁用状态。LP#2049512
修复了
sahara_engine容器的 Docker 健康检查。LP#2046268
修复了一个 trove 部署错误,由于 guest-agent.conf 中缺少 oslo_messaging_rabbit 配置,导致 trove guest-agent 无法连接到 RabbitMQ。详情请参阅 bug 2048822。
修复了 trove 无法发现 swift 端点的问题,原因是 guest-agent.conf 中缺少 service_credentials。详情请参阅 bug 2048829。
修复了一个问题,如果日志中未找到序列号,MariaDB 集群恢复过程将失败。恢复过程现在会检查完整的日志文件以查找序列号并恢复集群。详情请参阅 LP#1821173。
修复了 Octavia jobboard 布尔值。详情请参阅 https://bugs.launchpad.net/kolla-ansible/+bug/2058046。
更新了默认 Grafana OpenSearch 数据源配置,以使用适用于 OpenSearch 的值,使其开箱即用。替换了之前使用的 Elasticsearch 值。可以通过删除数据源并通过 Kolla Ansible 重新配置 Grafana 来应用新的配置。为了防止在删除数据源时仪表板损坏,应该在 Grafana 中使用 数据源变量 <https://grafana.org.cn/docs/grafana/2025.2/dashboards/variables/add-template-variables/#add-a-data-source-variable>。详情请参阅 bug 2039500 <https://bugs.launchpad.net/kolla-ansible/+bug/2039500>。
修复了 bug #2039498,该 bug 导致 Grafana docker 卷绑定挂载到镜像构建时安装的 Grafana 插件之上。通过将仪表板从现有的绑定挂载复制到容器中而不是使用
grafana卷来修复此问题。但是,这会留下该卷,可以通过将grafana_remove_old_volume设置为true来删除。请注意,通过 CLI 直接安装而非通过 Kolla 安装的任何插件在执行此操作时都会丢失。在未来的版本中,grafana_remove_old_volume将默认设置为true。
添加了 OpenSearch 中的日志保留功能,之前由 Elasticsearch Curator 处理,现在使用 Index State Management (ISM) OpenSearch 捆绑插件。 LP#2047037。
为 Prometheus Ironic 导出器和 Alertmanager 指标添加了友好的标签支持。详情请参阅 LP#2041855。
添加了一个预检查,用于检测当
om_enable_rabbitmq_quorum_queues设置为True时,但未在所有适当的队列上配置 quorum 队列的情况。需要手动迁移,详情请参阅:https://docs.openstack.org/kolla-ansible/2025.2/reference/message-queues/rabbitmq.html#high-availability LP#2045887
在
passwords.yml中更改服务用户密码时,现在将在重新配置服务时应用。可以通过将
update_keystone_service_user_passwords: false来撤销此行为。修复了 LP#2045990