2024.2 系列发布说明

19.7.0-2

错误修复

  • 修复了一个问题,当 Memcached 节点之一不可用时,Horizon 返回 HTTP 500 错误,方法是将缓存后端中的 ignore_exc 设置为 TrueLP#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_thresholdfluentd_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_queueom_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 中的 etcd3gw backend_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 容器中。

    蓝图 cinder-huawei-backend

  • 修改了公共 API firewalld 规则,使其立即应用于正在运行的 firewalld 服务。这要求 firewalld 正在运行,但避免重新加载 firewalld,由于 firewalld 构建其防火墙链的方式,重新加载会造成破坏。

  • 添加了为 Ironic Inspector DHCP 服务器中的多个 DHCP 范围提供 NTP(时间源)服务器的能力。

  • 添加了 neutron_physical_networks 变量,用于自定义 Neutron 物理网络名称。使用 physnet1physnetN 的默认行为未更改。

  • 实现服务字典的 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_intervalmariadb_monitor_galera_healthcheck_intervalmariadb_monitor_galera_healthcheck_timeoutmariadb_monitor_galera_healthcheck_max_timeout_countmariadb_monitor_ping_intervalmariadb_monitor_ping_timeoutmariadb_monitor_ping_max_failures。这些允许更快地检测 Galera 集群中的问题,将停机时间减少到 10 秒。

  • 添加了配置 mariadb_shun_on_failuresmariadb_connect_retries_delaymariadb_connect_retries_on_failure 的选项,以增强对 ProxySQL shun 行为的控制。这些调整有助于有效地管理故障转移响应。有关更多详细信息,请参见 Proxysql 文档

  • 添加了 proxysql_prometheus_exporter 配置参数,可用于配置 Prometheus 以抓取 ProxySQL 指标端点。 proxysql_prometheus_exporter 的默认值为 enable_prometheusenable_proxysql 的组合值。

  • 添加了 Pure Storage FlashArray Cinder 驱动程序的新传输 NVMe-TCP。

  • 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_image

    • mariabackup_tag

    • mariabackup_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_name

    • cloudkitty_opensearch_url

    • cloudkitty_opensearch_cafile

    • cloudkitty_opensearch_insecure_connections

  • 由于没有最近(3.10+)的 python 可用性,而 ansible-core 2.16 及更高版本需要,因此已停止对 OpenEuler 主机操作系统的支持。

  • 已停止对 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 是使用 openstackkayobe 命令中使用的 cliff 包构建的。

    此补丁引入了一些来自 cliff 包的破坏性更改

    • 参数的顺序必须是 kolla-ansible <action> <arguments>

    • mariadb_backupmariadb_recovery 现在是 mariadb-backupmariadb-recovery

    已删除 --key 参数,因为它重复了 --vault-password-file

  • 删除了通过设置 kolla_ansible_setup_any_errors_fataltrue 提前失败执行(如果任何主机上的事实收集失败)的支持。这是因为 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 作为主机操作系统的支持。

错误修复

  • 修复了部署启用 TLS 的内部 VIP 的 opensearch 问题。

  • 修复了 ironic dnsmasq 在使用 podman 部署中无法启动的问题,因为它需要 NET_RAW 功能。请参阅 LP#2055282

  • 修复了当软件包文件清单发生更改时,更改未反映到 devmode 启用的容器中的问题。LP#1814515

  • 将 memcache_security_strategy 放在 all.yml 中的单个位置。有关可能的配置选项,请参见 文档

    LP#1850733

  • 修复了 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

  • 修复了当 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

  • 修复 #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_portmariadb_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