2024.2 系列发布说明¶
19.7.0-2¶
错误修复¶
修复了一个问题,当 Memcached 节点之一不可用时,Horizon 返回 HTTP 500 错误,方法是将缓存后端中的
ignore_exc设置为True。 LP#2106557
19.7.0¶
错误修复¶
移除文档中对 EXTRA_OPTS 的引用。
添加了对
octavia_notification_topics的缺失覆盖,以便操作员可以为 Octavia 添加自己的通知主题。默认情况下,当启用 ceilometer 时,它会将通知发送到 ceilometer。
19.6.0¶
安全问题¶
通过单个前端拒绝访问 /server-status。 LP#2121626
错误修复¶
修复了错误 LP#2118452,该错误阻止了 RabbitMQ 从版本 3.13 升级到 4.1,即使它受支持。
修复了当网络节点与控制器分离时后端 TLS 配置的问题。 LP#2117084
修复了一个错误,K-A 可能会因为尝试将某些主机的后端 TLS 证书复制到容器而导致服务部署失败,而这些主机和容器都不属于后端 TLS,并且没有要复制的证书。
减小 fluentd 缓冲区的大小,以避免在将日志发送到 opensearch/elasticsearch 时出现 HTTP 413 错误。 所选值基于看似合理的大小。 可以通过编辑
fluentd_bulk_message_request_threshold和fluentd_buffer_chunk_limit_size变量来自定义这些值。 LP#2079988
19.5.0¶
新特性¶
为瞬态/扇出队列使用 quorum 队列。这有助于 OpenStack 服务更能抵抗消息代理故障。此功能默认禁用。您可以通过在
globals.yml中设置以下内容来启用它:om_enable_rabbitmq_transient_quorum_queue: true。请注意,这将为所有瞬态/扇出消息交换启用 quorum 队列,并可能提高系统的弹性。请参阅 LP#2078339。
现在,您可以启用 RabbitMQ 中所有扇出队列的流队列的使用,方法是将
om_enable_rabbitmq_stream_fanout设置为true。
升级说明¶
添加了对所有使用 RabbitMQ 的服务使用 oslo.messaging 队列管理器的支持。默认情况下禁用此功能,但可以使用
om_enable_queue_manager进行配置。
RabbitMQ 中的扇出队列流(由
om_enable_rabbitmq_stream_fanout变量控制)在om_enable_rabbitmq_transient_quorum_queue和om_enable_rabbitmq_quorum_queues都为true时默认启用。
错误修复¶
修复了
ovs-dpdk角色中处理程序调用失败的问题。 LP#2088197
修复了 Nova 和 Cinder 的 Ceph 密钥 XML 始终推送到主机的情况,即使 nova_backend 不是“rbd”且 cinder_backend_ceph 为 False。
19.4.0¶
错误修复¶
修复了 main.yaml 文件中的
rabbitmq_enable_tls变量不是布尔类型的问题。LP#2093335
修复了 Redis Sentinel 配置,以确保 Octavia jobboard 的正确高可用性功能。 LP#2100927
19.3.0¶
新特性¶
用户角色分配现在可以自定义域和系统范围。
升级说明¶
服务用户
ironic-inspector现在被分配了系统范围all。 如果您已覆盖默认的角色分配列表,您也应进行此更改。
错误修复¶
修复了 Apache 和 placement 写入相同日志文件的问题。 Apache placement VirtualHost ErrorLog 已重命名为
placement-api-error.log(与其他服务类似)。 LP#[2095607]
修复了一个问题,当设置
openstack_cacert时,cinder.conf 中的 etcd3gwbackend_url将无效。 LP#2085908
修复了 cyborg 部署,缺少配置 haproxy 监听器的变量。LP#2020088
服务用户
ironic-inspector现在被分配了系统范围all。 这使其能够在节点检查期间再次创建裸机端口。 LP#2064655
通过删除硬编码的版本号修复了 Grafana 数据源更新的问题。 这可确保正确配置数据源更新。 LP#[2096664]
19.2.0¶
新特性¶
kolla-ansible install-deps子命令现在将在 Ansible Galaxy 集合安装失败时重试。
生成一个系统范围的
public-openrc-system.sh文件。这允许针对公共 API 运行 Ironic 命令,当无法访问内部 API 时很有用。 LP#2051837
错误修复¶
修复了 fluentd 解析器在 Python 跟踪信息上失败的情况。 OpenStack 服务正则表达式已重新设计,以包含 global_request_id 并处理带有 Python 跟踪信息的情况。 LP#2044370
修复了
heat-cfn(CloudFormation) 服务的内部端点。 LP#2087537
添加了一个检查,以防止部署/升级 RabbitMQ 容器导致 RabbitMQ 版本的降级。
修复了一个问题,RabbitMQ 版本检查由于缺少身份验证而无法拉取新镜像。 LP#2086171
19.1.0¶
错误修复¶
修复了模板化时未将外部 Ceph cinder 密钥环导入 libvirt。目前,ansible/roles/nova-cell/tasks/external_ceph.yml 将 cinder_cephx_raw_key 作为文件从 cinder_cephx_keyring_file.stat.path 查找。为了允许模板化的 cinderkeyrings,查找方式更改为“template”。修复了 LP#2089229
19.0.0¶
新特性¶
添加了
docker_image_name_prefix,允许定义镜像前缀。
使用布尔参数
fluentd_enable_watch_timer,现在可以启用 Fluentd 的附加监视计时器。fluentd_enable_watch_timer的默认值为false。有关 Fluentd 中监视计时器的更多详细信息,请参见 https://docs.fluentd.org/input/tail#enable_watch_timer。
添加了
prometheus_node_exporter_targets_extra,用于将其他抓取目标添加到节点导出器作业。有关更多信息,请参见 文档。
许多常用服务的 Blackbox 监控端点配置现已自动化。默认端点列表
prometheus_blackbox_exporter_endpoints_default根据启用的服务而异。自定义端点可以添加到prometheus_blackbox_exporter_endpoints_custom。
ceilometer/pipeline.yaml文件现在被视为模板文件。
一个新的变量
cinder_cluster_name,用于控制 cinder-volume 高可用性集群的名称(对于支持它的后端驱动程序)。它取代了可能已经实现此功能的任何用户定义的配置覆盖。
添加了对使用 OpenSearch 作为存储后端的 CloudKitty 的支持。
添加了对 Cinder 中华为后端配置的支持。在
cinder_backend_huawei为 true 时,cinder_backend_huawei_xml_files提供的额外配置 XML 文件将被复制到 cinder-volume 容器中。
修改了公共 API firewalld 规则,使其立即应用于正在运行的 firewalld 服务。这要求 firewalld 正在运行,但避免重新加载 firewalld,由于 firewalld 构建其防火墙链的方式,重新加载会造成破坏。
根据 Mozilla
modern建议加强 HAProxy TLS 默认配置如果您想恢复到旧行为,例如因为您有旧客户端,您可以在 globals.yml 中设置以下变量
kolla_haproxy_ssl_settings: legacy或如果您想要至少有一些改进的安全设置:kolla_haproxy_ssl_settings: intermediate请参阅 LP#2060787
添加了为 Ironic Inspector DHCP 服务器中的多个 DHCP 范围提供 NTP(时间源)服务器的能力。
实现 ProxySQL 和 MariaDB 之间的 SSL,ProxySQL 必须启用才能使加密生效 部分蓝图 mariadb-ssl-support
添加了
neutron_physical_networks变量,用于自定义 Neutron 物理网络名称。使用physnet1到physnetN的默认行为未更改。
实现服务字典的 jinja 过滤器。使用 select_services_enabled_and_mapped_to_host 过滤器消除了 Ansible 跳过任务中项目导致的一些开销。对于较大的主机数量,这种开销是不可忽略的。service_enabled_and_mapped_to_host 过滤器的使用主要是为了美观,对性能没有影响。蓝图 performance-improvements
实现使用 Kolla 服务和 ProxySQL 之间的内部前端 TLS 的能力。这不会启用 TLS 本身,需要在每个服务的补丁中启用 TLS,以便在 mysql 连接字符串中启用 TLS
实现 Keystone 和 ProxySQL 之间的 TLS
引入了新的变量
mariadb_monitor_connect_interval、mariadb_monitor_galera_healthcheck_interval、mariadb_monitor_galera_healthcheck_timeout、mariadb_monitor_galera_healthcheck_max_timeout_count、mariadb_monitor_ping_interval、mariadb_monitor_ping_timeout和mariadb_monitor_ping_max_failures。这些允许更快地检测 Galera 集群中的问题,将停机时间减少到 10 秒。
添加了配置
mariadb_shun_on_failures、mariadb_connect_retries_delay和mariadb_connect_retries_on_failure的选项,以增强对 ProxySQL shun 行为的控制。这些调整有助于有效地管理故障转移响应。有关更多详细信息,请参见 Proxysql 文档
添加了
proxysql_prometheus_exporter配置参数,可用于配置 Prometheus 以抓取 ProxySQL 指标端点。proxysql_prometheus_exporter的默认值为enable_prometheus和enable_proxysql的组合值。
添加了 Pure Storage FlashArray Cinder 驱动程序的新传输 NVMe-TCP。
添加了一个升级到目标版本 RabbitMQ 的命令。这需要在 SLURP 升级之前完成。有关更多详细信息,请参见文档:https://docs.openstack.org/kolla-ansible/2025.2/reference/message-queues/rabbitmq.html#slurp
实现 service-cert-copy 角色能够将证书复制到非 HAProxy 容器。部分蓝图 mariadb-ssl-support
kolla-ansible 现在在通过
kolla-ansible -i $inventory validate-config调用时会验证 Prometheus 配置文件。此验证是通过运行promtool check config命令完成的。有关kolla-ansible validate-config命令的详细信息,请参见 文档。
升级说明¶
prometheus_blackbox_exporter_endpoints现在将自动填充许多常用服务的端点。自定义端点应迁移到prometheus_blackbox_exporter_endpoints_custom,以避免覆盖默认配置。
更改了在容器中以开发模式安装项目的方式。不再将项目的 git 存储库绑定挂载到容器的 venv,而是将存储库绑定挂载到 /dev-mode/<project_name>,并在容器启动时使用 kolla_install_projects 脚本使用 pip 进行安装。同时更新文档以反映这些更改。
MariaDB 备份现在使用与正在运行的 MariaDB 服务器相同的镜像。以下与 MariaDB 备份相关的变量不再使用并且已被删除
mariabackup_imagemariabackup_tagmariabackup_image_full
引入了 Cinder HA 运行的预检查,该预检查会检查多个 cinder-volume 实例,并在未设置
cinder_cluster_name时失败。有关配置指南的详细信息,请查看 Cinder 指南的 HA 部分。要禁用预检查,请将cinder_cluster_skip_precheck设置为true。
要使用 OpenSearch 作为 CloudKitty 存储,请将
cloudkitty_storage_backend设置为opensearch。添加了以下变量,可能需要更新,除非使用默认配置cloudkitty_opensearch_index_namecloudkitty_opensearch_urlcloudkitty_opensearch_cafilecloudkitty_opensearch_insecure_connections
由于没有最近(3.10+)的 python 可用性,而 ansible-core 2.16 及更高版本需要,因此已停止对 OpenEuler 主机操作系统的支持。
由于该项目不再维护,因此已停止部署
prometheus-msteams的支持。用户应迁移到 Prometheus Alertmanager 与 Microsoft Teams 的原生集成。
已停止对 Python 3.8、3.9 的支持。Kolla Ansible 现在支持的 Python 的最低版本是 Python 3.10。
如果您有不支持新的 TLS 设置的旧客户端,可以通过在 globals.yml 中设置以下变量来恢复到旧行为
kolla_haproxy_ssl_settings: legacy或如果您想要至少有一些改进的安全设置:kolla_haproxy_ssl_settings: intermediate请参阅 LP#2060787
重写 kolla-ansible CLI 为 Python。将 CLI 迁移到 Python 可以更轻松地维护和提供更大的功能集。CLI 是使用
openstack和kayobe命令中使用的 cliff 包构建的。此补丁引入了一些来自 cliff 包的破坏性更改
参数的顺序必须是
kolla-ansible <action> <arguments>mariadb_backup和mariadb_recovery现在是mariadb-backup和mariadb-recovery
已删除
--key参数,因为它重复了--vault-password-file。
删除了通过设置
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来完成。
全局变量
distro_python_version现在默认值为“3”。
config 选项
enable_proxysql已更改为yes,这意味着 MySQL 连接现在将默认由 ProxySQL 而不是 HAProxy 处理。如果用户希望保留通过 HAProxy 进行 MySQL 连接的负载平衡,则必须将enable_proxysql设置为no。此外,由于此更改,config 选项enable_mariadb_clustercheck也动态更改为no。用户仍然希望维护mariadb_clustercheck可以覆盖配置中的此 config 选项。但是,使用 ProxySQL,不再需要mariadb_clustercheck并且可以手动删除。
添加了对
Ubuntu Noble Numbat 24.04作为主机操作系统的支持。
错误修复¶
修复了 LP#2073541
修复了部署启用 TLS 的内部 VIP 的 opensearch 问题。
修复了 ironic dnsmasq 在使用 podman 部署中无法启动的问题,因为它需要 NET_RAW 功能。请参阅 LP#2055282。
修复了当软件包文件清单发生更改时,更改未反映到 devmode 启用的容器中的问题。LP#1814515
将 memcache_security_strategy 放在 all.yml 中的单个位置。有关可能的配置选项,请参见 文档
修复了 trove 模块导入问题。所需模块的路径在源 trove 包中已更改,因此配置已更新。 LP#1937120
修复了在 manila-share 节点上 openvswitch 的处理问题。 LP#1993285
修复了 kolla-ansible 删除放置在
/etc/kolla/<inventory>中的 inventory 文件。有关更多详细信息,请参见 LP#2052706。
修复了“复制策略文件”任务中的不正确的字典键引用。LP#2054867
修改了 MariaDB 程序以使用与正在运行的 MariaDB 服务器容器相同的容器镜像。这应防止可能导致备份失败的兼容性问题。
修复了在使用联合身份验证时 keystone 服务配置的 haproxy 问题。 LP#2058656
修复了由于在 mariadb_backup_history 表上缺少 CREATE 权限导致的 mariadb 备份失败问题。 LP#2061889
修复在使用 Podman 作为容器引擎时,负载均衡器升级任务失败的问题。 LP#2063896
修复了 kolla_podman_worker 中的一个错误,其中列表中字符串中缺少的逗号会创建应该分开的项目的隐式连接。 LP#2067278
修复 Grafana 自定义配置文件冗余复制的问题。 LP#2067999
修复当 enable_container_healthchecks 设置为“no”时,Podman 失败的问题。 LP#2071912
添加 Barbican 所需的数据库配置。 LP#2072554
修复了 Horizon 中“更改密码”屏幕的行为,直到 bug #2073639 得到解决。 LP#2073159
修复了当 kolla-ansible 从 docker 容器运行时 MariaDB 恢复问题。 LP#2073370
修复了 busy libvirt 的 secret volume 在 secret 更改时的问题。 LP#2073678
修复 PodmanWorker 在创建新容器时未设置 KOLLA_SERVICE_NAME 环境变量的问题。 此外,两个方法从 DockerWorker 移动到 ContainerWorker,因为它们适用于两种引擎。
修复 HAProxy 配置中的缩进问题。 LP#2080034
修复当启用
kolla_copy_ca_into_containers但禁用kolla_enable_tls_backend时,尝试复制后端相关证书的问题。 LP#2080381
修复 MariaDB 备份。 LP#[2080408]
修复 #2080552。
openvswitch角色现在将external-ids:hostname设置为{{ ansible_facts.fqdn }}而不是{{ ansible_facts.hostname }},因为 Neutron 在requested-chassis字段中使用基于 FQDN 的主机名。 LP#2080552
修复了由于 mysql_ifaces 配置中 IPv6 地址格式不正确导致 ProxySQL 无法绑定。 LP#2081106
修复 section
cinder_backend_pure_nvme_tcp中的一个简单的拼写错误,以更正 pure_nvme transport`。 LP#2081149
添加 Redis 缺失的 logrotate 配置。 LP#2084523
修复了在使用自定义 CA 时 Python requests 库的问题,方法是将 REQUESTS_CA 环境变量添加到 kolla-toolbox 容器。请参阅 LP#1967132
修复了启用内部 TLS 时的 CloudKitty 配置。 LP#1998831
修复了在使用
--limit参数进行事实收集时的问题,如果一台主机的事实收集失败,可能会导致另一台主机在委托事实收集期间失败。
修复针对具有多个用自定义分隔符分隔的 OIDC 组的 IDP 的基于 OIDC 的 Keystone 联合身份验证的问题。 添加变量
keystone_federation_oidc_claim_delimiter以设置自定义值。 LP#2080394
为 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
修复了在容器配置中设置像 1g 这样的值时,维度比较的问题,导致 docker 容器即使没有更改也会重新启动,因为我们正在比较 1g 和 docker inspect 中显示的 1073741824,而 1g 在配置中。
修复了当在服务配置文件中设置自定义 host 选项时检测 Nova Compute Ironic 服务的问题。请参阅 LP#2056571
修复了 skyline-console 中 keystone 端口指向错误端点端口的问题。 LP#2069855
修复了 2065168。修复 kolla systemd 单元模板,以防止使用 docker.service 重新启动重新启动所有 kolla 服务。 LP#[2065168]
修复了 neutron_ovn_agent 和 neutron_ovn_metadata_agent 的不可靠的健康检查错误。更改为检查 OVS DB 连接而不是 OVN 南向 DB 连接。 LP#2084128
修复了在使用 podman 时,使用模式说明符的命名卷的问题。有关更多详细信息,请参阅 LP#2054834。
移除了 horizon 容器中的默认 /tmp/ 挂载点。此更改是为了加固容器并防止潜在的安全问题。有关更多信息,请参阅 Bug Report:LP#2068126。
根据是否启用了
cinder-backup服务,使用[volumes]/backups_enabled配置 Heat。
修复了
kolla-toolbox调用内部模块时,数据在标准错误上返回时解析 JSON 输出的问题。 LP#2080544
修复了当部署 alertmanager 时会破坏的
prometheus.yml模板问题。
更新
proxysql.yaml.j2以使用 mariadb_port 作为后端。 这修复了database_port和mariadb_port不同的设置。
所有稳定的 RabbitMQ 功能标志现在在部署、重新配置和升级期间都已启用。因此,变量
rabbitmq_feature_flags不再需要。这是对 RabbitMQ SLURP 支持的部分修复。 LP#2049512
nova_upgrade_checks 容器使用新生成的 config.json
修复了 skyline 的旧格式停止任务。它使用了 docker_container,这会导致 podman 部署出现问题。
修复了一个错误,其中变量
kolla_same_external_internal_vip的 IP 地址比较没有正确进行。修复比较以使用ipaddr过滤器代替。有关详细信息,请参阅 LP#2076889。
修复了 OVN 北向或南向数据库部署在选举新的领导者时可能失败的问题。 LP#2059124