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 参数。

  • 更新了 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_dayselasticsearch_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

  • 修复了在使用内部 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_federationkeystone_enable_federation_openid 到目前为止,在 keystone 角色中的各种模板中都没有被显式处理为布尔值。 LP#2036390

  • 修复了当 Kolla 将 producer 任务设置为 None 时的问题,这禁用了所有 designate producer 任务。 LP#1879557

  • 修复了 ironic_tftp,它绑定到系统上的所有 ip 地址。添加了 ironic_tftp_interfaceironic_tftp_address_familyironic_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_proxyglance_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

  • 现在自动完成使用 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-controllerovn-db 角色,ovn_extra_volumes 仍然可以使用,但用户需要调整其配置以使用 ovn_db_extra_volumesovn_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_configuregenconfig 命令时 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_external

    • enable_kibana_external

    • enable_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_instancemonitorenable_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_minsizecron_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_tlstrue 时。相同的证书和密钥用于 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_memcachedTrue,Keystone OIDC 集成现在使用 memcached 作为缓存后端。可以通过将 keystone_oidc_enable_memcached 设置为 False 来禁用此功能。

  • 添加了功能,可以使用 openvswitch_hw_offload 变量在 OpenvSwitch 中启用硬件卸载。

  • 添加了变量以定义要传递给 Prometheus 导出器的额外命令行参数

    • prometheus_blackbox_exporter_cmdline_extras

    • prometheus_elasticsearch_exporter_cmdline_extras

    • prometheus_haproxy_exporter_cmdline_extras

    • prometheus_memcached_exporter_cmdline_extras

    • prometheus_mysqld_exporter_cmdline_extras

    • prometheus_node_exporter_cmdline_extras

    • prometheus_openstack_exporter_cmdline_extras

  • 添加 enable_prometheus_etcd_integration 配置参数,可用于配置 Prometheus 以抓取 etcd 指标端点。 enable_prometheus_etcd_integration 的默认值设置为 enable_prometheusenable_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.confmax_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_binaryfluentd_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-genpwdkolla-mergepwd 工具生成此密码。

  • 添加 libvirt SASL 身份验证需要同时更新 nova_libvirtnova_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_forward sysctl。如果没有其他来源提供此 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.confmax_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

  • 在使用 rabbitmq_user Ansible 模块时,添加了 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 中设置 wsproxy base_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 设置为 trueLP#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_debugironic_logging_debugneutron_logging_debug 变量全局或按服务增加详细程度。