Victoria 系列发布说明

11.4.0-18

安全问题

  • Kolla Ansible 以前以非特权 root 用户身份运行 Ironic 的 tftpd。现在,它将显式地使用 nobody 用户。

错误修复

  • 修复 grafana 自定义 home dashboard 文件的复制任务。grafana home dashboard 文件的复制任务需要以特权模式运行,否则会发生权限被拒绝的错误。 LP#[1947710]

  • 修复了 bug #1987982。此错误导致在 keystone 升级后数据库 log_bin_trust_function_creators 变量未被重置为“OFF”。

  • 修复在多区域环境中,Ironic Inspector 在没有本地 Keystone 服务的区域中被配置而没有身份验证的问题。

  • 修复 ironic-neutron-agent 使用错误的选项来配置与 Ironic API 通信的接口的问题。 LP#1990675

  • 修复启用 libvirt SASL 时 Masakari 实例监控出现的问题。libvirt SASL 在 Kolla Ansible 的最近一次更改中默认已启用。 LP#1965754

  • 修复了一个问题,即任何 Nova 计算服务未能注册自身,将导致只有查询 nova API 的主机失败。现在,只有未能注册的主机会使 Kolla Ansible 运行失败。或者,要使单元中的所有主机在任何计算服务未能注册时都失败,请将 nova_compute_registration_fatal 设置为 trueLP#1940119

  • prometheus openstack 导出器现在位于 haproxy 之后,在 prometheus 数据库中提供唯一的时序。同时,确保在任何给定时间间隔内只有一个导出器查询 openstack API。以前的行为是每个 openstack 导出器都在同一时间被抓取。这导致每个导出器同时查询 openstack API,引入了不必要的负载以及由于实例标签对每个导出器都是唯一的,导致 prometheus 数据库中的重复时序。

11.4.0

新特性

  • 为 Prometheus blackbox 导出器添加 tls_connect 模块。这可用于测试 TLS 服务器的连接性。

  • 为 ironic-neutron-agent 服务实现容器健康检查。请参阅 蓝图

  • 添加了对 libvirt SASL 身份验证的支持。默认情况下已启用。 LP#1964013

已知问题

  • 现有的 fluentd 日志轮转未能删除旧的 haproxy、swift、glance-tls-proxy 和 neutron-tls-proxy 日志。这些日志将不会被新的 logrotate 配置删除,需要手动删除。

升级说明

  • 添加 libvirt SASL 身份验证需要在 passwords.yml 中添加新的密码,即 libvirt_sasl_password。可以使用现有的 kolla-genpwdkolla-mergepwd 工具生成此密码。

  • 添加 libvirt SASL 身份验证需要同时更新 nova_libvirtnova_compute 容器,使用包含必要的 Cyrus SASL 依赖项的新镜像,以及包含 SASL 凭据的配置。

  • 更新 node_custom_config 的默认值为 {{ node_config }}/config,在使用 –configdir 指定时。

安全问题

  • 显式地从具有 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 curator 中的所有操作。 LP#1954720

  • 修复 Nova 在自定义 migration_interface 时调整大小失败的问题。 LP#1956976

  • 修复 Glance 与 Cinder iSCSI 后端由于缺少 lock_path 设置而失败的问题。 LP#1959663

  • 修复 openvswitch 和 prometheus 服务缺少 logrotate 配置的问题。 LP#1961795

  • 修复升级时 Ironic 的 PXE 组件未更新的问题。 LP#1963752

  • 修复在 CloudKitty 中使用 Prometheus 收集器时 Prometheus HTTP API URL 的配置。 LP#1961615

  • 修复 baremetal 角色以避免错误“无法删除“libvirtd””。现在该角色会创建符号链接 /etc/apparmor.d/disable/usr.sbin.libvirtd。 LP#1960302

  • 现有的 fluentd 日志轮转未能删除旧的 haproxy、swift、glance-tls-proxy 和 neutron-tls-proxy 日志。标准化使用 logrotate 进行日志轮转和删除。

  • 添加了通过 kolla 配置 rabbitmq 集群接口的选项 LP#1900160 <https://bugs.launchpad.net/kolla-ansible/+bug/1900160>

  • 修复 Libvirt AppArmor 配置文件被禁用,bootstrap-servers 进程尝试删除它的问题。请参阅 bug 1909874 以获取详细信息。

  • 修复了在使用 Jinja2 3.1.0 时出现的问题。

  • 修复了配置选项,该选项设置了 Neutron 发送请求到 Placement 使用的端点类型。 LP#1960503

  • 修复了 Node Exporter 的配置问题,导致主机的所有文件系统指标都相同。 LP#1961438

  • 修复 RabbitMQ 被配置为镜像所有服务的经典瞬态队列的问题。根据 RabbitMQ 文档,这不是受支持的配置,并导致了许多错误报告。为了避免对 RabbitMQ 集群进行意外更改,有必要将 rabbitmq_remove_ha_all_policy 设置为 yes 以应用此修复。此变量将在 Yoga 版本中删除。 LP#1954925

  • 修复 Cinder 升级时 Cinder 服务仍然固定到先前版本 RPC 和对象版本的问题。 LP#1954932

11.3.0

升级说明

  • 如果未部署 Prometheus,RabbitMQ 的 Prometheus 插件不再默认启用。如果使用外部 Prometheus,则需要启用 rabbitmq_enable_prometheus_plugin 以获得旧行为。

错误修复

  • 删除了 barbican.confmax_allowed_secret_in_bytes 的自定义值。Barbican 中的默认最大大小翻倍,以避免某些证书出现问题。 LP #1957795

  • 通过自定义 RabbitMQ 的 prometheus.tcp.port 来解决端口冲突,从而修复了 outward_rabbitmq 的部署失败。 LP #1885106

  • 通过将 ovn_sb_connection 添加到 octavia.conf 来修复 Octavia 的“连接被拒绝”错误。 LP#195011

  • Ironic API 和 Ironic Inspector API 使用单独的策略文件。Ironic 角色已更新,能够分别处理这两个策略。

  • 修复 Placement 没有 logrotate 配置 LP#1954723

  • 修复了当 kolla_enable_tls_external 为 true 时无法连接到 zun 控制台的问题。当 kolla_enable_tls_external 为 true 时,访问任何 zun 容器的控制台都会失败。此修复根据 kolla_enable_tls_external 的值在 zun.conf 中设置 wsproxy base_url 的协议。 LP#1957117

  • 修复在 Debuntu 二进制版本中 aodh 服务的 apache wsgi 配置。 LP#1953059

11.2.0

新功能

  • 添加新的选项 prometheus_openstack_exporter_timeout 以覆盖 openstack 导出器作业的默认 scrape_timeout。

  • 添加对使用 elasticsearch 存储后端的 CloudKitty 的支持:该功能允许您将 CloudKitty 评级文档直接存储在您的 elasticsearch 集群中。

    如果您已经有一个用于日志记录的 elasticsearch 集群,它将创建一个新的 CloudKitty 特定索引。这允许您使用 Kibana、Grafana 或任何其他界面浏览您的评级数据并创建适当的仪表板或构建适当的计费服务。

    添加对使用 prometheus 作为 CloudKitty 的提取器/收集器的支持:该功能允许您使用 prometheus 指标作为评级来源。使用 prometheus 允许您直接从 kolla 提供的导出器(Openstack_exporter)或您自己的自定义导出器对任何 OpenStack 对象进行评级。

  • 添加了配置参数 haproxy_nova_spicehtml5_proxy_tunnel_timeout 以配置 spicehtml5proxy haproxy 服务的 Tunnel TimeOut 指令。

  • 添加了一个新的变量 disable_firewall,默认值为 true。如果设置为 false,则主机防火墙在 kolla-ansible bootstrap-servers 期间将不会被禁用。

  • 添加了两个新的变量 service_images_pull_retriesservice_images_pull_delay,它们控制镜像拉取任务的行为。如果您的注册表不是 100% 可靠(通常由于负载),这些变量很有用。默认值设置为 3 次重试和 5 秒延迟,以确保更好的默认体验(这些实际上是启用任务重试时的 Ansible 默认值)。

  • 现在可以使用 Neutron DHCP 代理与 OVN 网络一起使用。添加了一个新的变量来控制此功能:neutron_ovn_dhcp_agent,默认值为 no

  • 添加了对通过 kolla_ansible_setup_filterkolla_ansible_setup_gather_subset 分别配置 setup 模块的 filtergather_subset 参数的支持。这些可用于减少事实的数量,这会对 Ansible 的性能产生重大影响。

  • 添加了新的变量 ironic_enable_keystone_integration。如果我们需要连接到现有的 keystone(而不是同时安装它),它有助于将 keystone 连接信息添加到 ironic.conf 中。

升级说明

  • 更新了 Kolla Ansible 中所有对 Ansible facts 的引用,从使用单个 fact 变量到使用 ansible_facts 字典中的项目。这允许用户禁用 Ansible 配置中的 fact 变量注入,这可能会提高一些性能。检查本地配置文件中引用的 facts,并在禁用 fact 变量注入之前更新为使用 ansible_facts

  • 修改了 ceph_nova_user 的默认值,从 nova 变为 ceph_cinder_user 的值,与 ceph_nova_keyring 的默认值一致。如果已经覆盖 ceph_nova_keyring 以使用 Nova 和 Cinder 之间的单独 keyring 的用户,还应覆盖 ceph_nova_user 以匹配 Nova keyring。 LP#1934145

  • 修改了 rabbitmq_server_additional_erl_args 的默认值,从空字符串变为 +S 2:2 +sbwt none +sbwtdcpu none +sbwtdio none

安全问题

  • 修复了 net.ipv4.ip_forward 不被 Kolla Ansible 在默认网络命名空间中启用。它在具有 Neutron L3 Agent 的主机上启用(因此在大多数具有 OVS 和/或 Linux Bridge 的常见设置中,但不是 OVN),并且除非用户有额外的 iptables 规则来避免这种情况,否则允许任何流量被接受进行转发(只要它是可路由的并且通过了其他检查)。建议现有设置的用户重新评估是否需要启用此 sysctl,如果不需要则禁用。Kolla Ansible 将不再尝试设置此 sysctl。Neutron L3 Agent 处理每个管理命名空间的转发启用。

  • 添加了针对 Elasticsearch 中 Apache Log4j2 远程代码执行 (RCE) 漏洞 - CVE-2021-44228 的缓解措施。

错误修复

  • 修复了 monasca-thresh 未能正确地将拓扑提交到 Storm。以前的容器在本地模式(在容器内)中运行拓扑,并且未使用 Storm 云。新的容器处理将拓扑提交到 Storm,并处理在配置更改时杀死和替换拓扑。因此,monasca-thresh 容器仅用于提交,并在完成后退出。拓扑的日志现在将在 storm worker-artifact 日志中可用。 LP#1808805

  • 修复了一个问题,即容器中的配置可能会变得陈旧。这阻止了具有更新配置的容器重新启动,例如,如果使用了 kolla-ansible genconfigkolla-ansible deploy-containers 命令一起使用。 LP#1848775

  • 修复了 elasticsearch fluentd 输出在未启用 elasticsearch 时被启用的问题。 LP#1927880

  • 修复部署主机上的 timesync 检查问题。请参阅 bug 1933347 以获取详细信息。

  • 修复 horizon 在启用 SSL 时的健康检查。 LP#1933846

  • 修复了在 CentOS 上自定义 Docker Yum 存储库 URL 时,docker_yum_gpgkey 变量未一致使用的错误。 LP#1934913

  • 修复了一个问题,spice 控制台在一段时间后会冻结,请参阅 LP#1938549

  • 修复 Masakari 在多区域部署中查询 Nova API 在其自身区域中的问题。 LP#1939291

  • 修复从先前版本升级时的 nova 健康检查。 LP#1939679

  • 修复了在禁用 RabbitMQ 且使用 IPv6 时损坏的 kolla-toolbox 容器。 LP#1939883

  • 修复了 mariadb-clustercheck 在没有 HAProxy 时不会运行的问题。 LP#1944114

  • 不再创建 haproxy 和 swift 日志的目录,这些目录是不需要的。 LP#1945070

  • 修复了 placement 角色中的一个错误,该错误阻止在使用了自定义策略文件时部署 placement 服务。 LP#1948835

  • 修复了错误消息中缺少当前的 Ansible 版本。 LP#1948979

  • 修复 octavia 角色未设置 amphora 网络的 gateway_ip LP#1949260

  • 修复 Nova API 日志写入以 -wsgi.log 结尾的文件的问题,这影响了 Fluentd 管道中这些日志的处理。 LP#1950185

  • 修复了 Cyborg 部署中的一个问题。 LP#1937911

  • 修复了 neutron-serverconfig.json 中存在的问题,当使用了 VMware 插件代理时。

  • 在较慢的节点上,grafana 的初始启动可能会遇到超时失败,因为设置数据库的迁移需要比预期更长的时间。已通过增加默认超时来解决此问题。可以通过新的参数 grafana_start_first_node_delay 和 grafana_start_first_node_retries 来更改超时设置,用于 grafana 角色。 LP#1769962

  • 修复了当 neutron_external_interface 包含多个接口时,Neutron linuxbridge ML2 代理出现的问题。 LP#1863935

  • 修复了 Manila 配置中缺少 [glance] 部分的问题,这阻止了一些驱动程序运行。

  • 修复了 Nova 默认配置中 Ceph 的问题,RBD 用户设置为 nova,但仅复制了 cinder keyring。 ceph_nova_user 的默认值更改为 ceph_cinder_user 的值,与 ceph_nova_keyring 的默认值一致。 LP#1934145

其他说明

  • 优化了镜像拉取,以避免循环遍历禁用的服务。

11.1.0

新功能

  • octavia-driver-agent 添加到 Octavia 部署中,以允许其他提供程序,例如 ovn-octavia-provider。当 Octavia 启用且 neutron_plugin_agent 设置为 ovn 时,它会自动部署。也可以通过将 enable_octavia_driver_agent 设置为 yes 来启用。用户需要更新他们的清单以包含 octavia-driver-agent Ansible 组。

  • 添加了一个新的标志 docker_disable_default_network,默认值为 no。Docker 默认情况下为 docker0 使用 172.17.0.0/16 进行桥接网络,这可能会导致操作员网络的路由问题。将此标志设置为 yes 将禁用 Docker 的桥接网络。此功能将在 Wallaby 12.0.0 版本中默认启用。

  • 添加了一个新的 haproxy 配置文件变量,haproxy_host_ipv4_tcp_retries2,允许用户修改此内核选项。此选项设置在建立连接状态下 TCP 数据包重传的最大次数,之后放弃。默认内核值为 15,对应于大约 13 到 30 分钟的持续时间,具体取决于重传超时。可以使用此变量来缓解 VIP 故障转移时连接卡住的问题,有关详细信息,请参阅 bug 1917068

  • 添加了覆盖自动检测 fluentd_versionfluentd_binary 的能力。现在可以将它们定义为额外的变量。这消除了配置生成对配置 docker 的依赖。

  • OVN 部署现在将配置 external_ids:ovn-chassis-mac-mappings 以使 DVR 在 VLAN 租户网络上工作。

  • 添加了从 RabbitMQ 收集 Prometheus 指标的支持。默认情况下,当 Prometheus 和 RabbitMQ 启用时启用此功能,可以通过将 enable_prometheus_rabbitmq_exporter 设置为 false 来禁用它。

错误修复

  • 修复了启用 Zun 时 kolla-ansible bootstrap-servers 的问题,其中 Zun 特定的 Docker 配置应用于所有节点。 LP#1914378

  • 修复了启用 S3 Token Middleware 时 Swift 部署的问题。修复了 LP#1862765

  • 修复了 OVN 中的 Northbound 和 Southbound 数据库套接字路径。

  • chronyd 在服务器重启时崩溃循环 (Debian) LP#1915528

  • 修复在使用的 NTP 守护程序“非原生”时,prechecks 无法成功的问题,例如 Debian/Ubuntu 系统上的 ntpd` 而不是 ``systemd-timesyncd 或 CentOS/RHEL 系统上的 chronydLP#1922721

  • 修复了在 Debian/Ubuntu 上启动后配置 Docker 的问题,导致在禁用它们之前创建 iptables 规则。 LP#1923203

  • 修复用户禁用 Octavia 自动配置时 Octavia SSH 密钥复制出现的问题。 LP##1927727

  • 修复了由于缺少 six 而导致 docker python SDK 5.0.0 失败的问题 - 引入了约束以安装低于 5.x 的版本。 LP#1928915

  • 修复了超过 2 个节点的 RabbitMQ 升级随机失败的问题。 LP#1930293

  • 修复了启用 TLS 时的 Swift 部署。添加了缺少的处理程序并更正了容器名称。 LP#1931097

  • 修复了 keystone_auth 部分中缺失的 region_name。有关详细信息,请参阅 bug 1933025

  • 修复了当前基于 CentOS 8 的镜像中 iscsid 失败的问题,因为 pid 文件被不必要地设置。 LP#1933033

  • 修复了 Debian 主机引导程序未删除冲突软件包的问题。现在它的行为符合文档。

  • 修复了一个问题,当使用错误的命令名称执行 kolla-ansible 时,kolla-ansible 会以零退出代码退出。 LP#1929397

  • 修复了非 HA 部署中 Alertmanger 的潜在问题。在这种情况下,对等八卦协议现在被禁用,Alertmanger 不会尝试与不存在的其他实例形成集群。 LP#1926463

  • 添加了一个新的标志,docker_disable_ip_forward,默认值为 no,可用于(设置为 yes)禁用 docker 的 ip-forward 选项,该选项会使 docker 将 net.ipv4.ip_forward sysctl 设置为 1。这是为了防止创建全转发主机。 LP#1931615

  • 修复了在 kolla-ansible bootstrap-servers 期间生成 /etc/hosts 时,一个或多个主机具有 api_interface 中带有破折号 (-) 的名称的问题。 LP#1927357

  • 修复了 Barbican 日志记录的一些配置问题。 LP#1891343

  • 修复了 Cinder 日志记录的一些配置问题。 LP#1916752

  • 修复 cyborg api 未监听 api 接口。将 cyborg.conf 中的 host 更改为 host_ip。请参阅 cyborg 文档

  • 修复了 ovs-dpdk 服务的错误配置,这破坏了 kolla-ansible 的部署。有关更多详细信息,请参阅 bug 1908850

  • 修复了启用 TLS 时的 Magnum 问题。 LP#781062

  • 修复了通过 pip install --user 安装时执行 kolla-ansible 的问题。 LP#1915527

  • 修复了一个问题,即 masakari.confmasakari-instancemonitor 服务生成,但未被使用。

  • 修复了一个问题,即 masakari-monitors.confmasakari-apimasakari-engine 服务生成,但未被使用。

  • 使用一致的变量名来表示 masakari-instancemonitor 的容器维度 - masakari_instancemonitor_dimensions。旧名称 masakari_monitors_dimensions 仍然受支持。

  • 修复了在使用自定义服务身份验证项目部署 Octavia 时的问题。如果 octavia_service_auth_project 设置为不存在的项目,Octavia 部署将失败。现在会创建该项目。 LP#1922100

  • 修复了 LP#1892376,通过更新 Monasca Elasticsearch 模板中的已弃用语法来修复。

  • 删除了 zookeeper.cfg 中等号周围的空格,这些空格阻止了 zkCleanup.sh 脚本正确运行。

其他说明

  • 由于 Cinder 上游,已删除对使用 ZFSSA 与 Cinder 的支持。ZFSSA 在 Train 中不受支持,并在 Ussuri 中删除。

  • 更新 mariabackup 使用的容器镜像。它使用的是 mariadb 镜像,该镜像在 Victoria 中已被弃用,并在 Wallaby 中将被删除。而是使用 mariadb-server 镜像。 LP#1928129

11.0.0

新功能

  • 添加了提供自定义 Elasticsearch 配置的能力。

  • 添加配置参数 kolla_httpd_keep_alive 以配置使用 httpd 处理 HTTP 请求的服务 Keep-Alive 超时时间。默认值为 60 秒,覆盖 httpd 之前的默认值 5 秒。

  • 添加对多个 globals 文件的支持。主要的 globals.yml 文件仍然存在。除此之外,操作员现在可以在 globals.d 目录(位于 globals.yml 旁边)中放置任意数量的 *.yml 文件,例如用于他们想要添加的特定服务。

  • 通过布尔参数 enable_neutron_trunk,现在可以启用或禁用 Neutron 服务插件 trunk

  • 添加对 octavia dev mod 的支持。

  • 添加配置参数“etcd_enable_tls”,可用于为 etcd 服务启用 TLS 加密。 “etcd_enable_tls”的默认值由“kolla_enable_tls_backend”的值决定。

  • 添加对 Octavia 所需资源的自动注册的支持。这包括管理网络和子网、安全组、flavor 和 SSH 密钥。目前必须手动上传 amphora 镜像。 BP#automatic-deploy-of-octavia

  • 添加通过 kolla-ansible octavia-certificates 命令自动生成 Octavia 证书的支持。

  • Kolla Ansible 检查现在本地 Ansible Python 环境是否一致,即使用的 Ansible 可以看到 Kolla Ansible。 LP#1856346

  • 可以设置 HAProxy 的 timeout http-keep-alive 通过 haproxy_http_keep_alive_timeout。默认值为 10s,与之前通过 haproxy_http_request_timeout 应用的默认值相同。 LP#1892622

  • 添加 kolla_sysctl_conf_path 变量,该变量允许自定义 Kolla Ansible 播放将修改的 sysctl.conf 的路径。默认值为 /etc/sysctl.conf,就像以前一样。

  • 新增了一个标志,docker_disable_default_iptables_rules,默认值为 no。Docker 默认情况下会操作 iptables 规则以提供网络隔离,如果主机已经有了基于 iptables 的防火墙,这可能会导致问题。一个常见的问题是 Docker 将 filter 中的 FORWARD 链的默认策略设置为 DROP。将 docker_disable_default_iptables_rules 设置为 yes 将禁用 Docker 的 iptables 操作。此功能将在 Victoria 11.0.0 版本中默认启用。

  • 添加了配置选项,以启用从 HAProxy 到 Nova、Ironic 和 Neutron 服务的后端 TLS 加密。与启用服务 API 端点的 TLS 结合使用时,网络通信将从客户端通过 HAProxy 到后端服务进行端到端加密。

  • 添加了支持,可以使用外部 ACME 客户端(例如 certbot)完成 ACME(例如由 Let’s Encrypt - letsencrypt.org 提供)的 http-01 挑战。相关的变量是 acme_client_servers。请阅读文档以获取有关此集成的更多信息。

  • 通过在一个文件中生成所有 fluentd 配置来提高 common 角色的性能。

  • 可以使用自签名 TLS 证书来测试开发 OpenStack 环境中的 TLS。 kolla-ansible certificates 命令将生成所需的自签名 TLS 证书。此命令已更新为首先创建一个自签名根证书颁发机构。然后,该命令生成面向内部和外部的证书,并使用根 CA 对其进行签名。如果启用了后端 TLS,该命令将生成后端证书并使用根 CA 对其进行签名。

  • (内部/高级) 为 haproxy 服务定义添加了对 with_frontendwith_backend 的支持。这些新字段通过默认设置为 true 来保留旧逻辑,但可以设置为 false 以使所选服务不配置相应的“端”。这需要将 haproxy_service_template 设置为 haproxy_single_service_split.cfg.j2,这是新的默认值。

  • 为核心 OpenStack 服务实现了容器健康检查。Docker 健康检查是定期调用的脚本,用于检查正在运行的服务是否健康,这些服务在 docker ps 输出中公开健康信息,并触发 health_status event。健康检查现在默认启用,可以通过在 globals.yml 中将 enable_container_healthchecks 设置为 no 来禁用。

  • 通过在一个文件中生成所有 logrotate 配置来提高 common 角色的性能。

  • 使用 clustercheck 脚本启用 Galera 节点状态检查,该脚本由 HAProxy 用于定义节点的状态(启动/停止)。

  • Kolla 从 Ussuri 周期开始构建 neutron-mlnx-agent。现在这些容器也可以通过 Kolla-Ansible 部署。请注意,neutron-mlnx-agent 镜像也用于部署 neutron-eswitchd 容器。

  • 添加了对 RabbitMQ 客户端-服务器通信的 TLS 加密的支持。有关详细信息,请参阅 蓝图

  • 将公共角色提取到单独的 play 中。这在规模上提供了性能优势,因为先前使用的角色依赖机制存在开销。此更改允许仅通过指定 common 标签来执行公共角色。

  • 添加了一种自定义 skydive.conf 的机制。

  • 允许使用 KOLLA_SKIPKOLLA_UNSET 值跳过和取消设置由 Kolla Ansible play 控制的 sysctl 变量。

  • 添加了 timesync 预检查,这些预检查在未启用容器化的 chrony 时运行,以确保主机已同步系统时钟。

已知问题

  • 自 Ussuri 以来,Ceph (RBD) 的处理方式存在一个错误,即生成的外部 Ceph 配置中缺少 backend_host 选项。症状是卷变得无法管理,直到采取额外的管理操作。这不会影响数据平面 - 正在运行的虚拟机不会受到影响。

    与此相关的问题是关于活动-活动 cinder-volume 服务(单主机 cinder-volume 不受影响),它们不应该配置 backend_host,而应该使用 cluster 和适当的协调。一些用户可能已经自定义了他们的配置以解决此问题。

    Kolla 团队正在调查如何为所有用户解决此问题。与此同时,请确保在升级到 Ussuri 之前,将 backend_host 选项设置为其先前值(默认值为 rbd:volumes)通过配置覆盖。

    有关更多详细信息,请参阅参考的 bug。请注意,此问题会影响新部署和升级。 LP#1904062

升级说明

  • 添加配置参数 kolla_httpd_keep_alive 以配置使用 httpd 处理 HTTP 请求的服务 Keep-Alive 超时时间。默认值为 60 秒,覆盖 httpd 之前的默认值 5 秒。

  • Octavia 所需的资源现在默认自动注册。从 Ussuri 升级的 Octavia 用户应将 octavia_auto_configure 设置为 noglobals.yml 中,以避免注册冲突的资源。

  • 在使用 Logstash 6 部署 Monasca 时,任何 Monasca 的自定义 Logstash 2 配置都需要更新才能与 Logstash 6 配合使用。请参阅 文档

  • HAProxy 的 timeout http-keep-alive 现在通过 haproxy_http_keep_alive_timeout 设置。默认值为 10s,与先前通过 haproxy_http_request_timeout 应用的默认值相同,但新变量不遵循旧变量,因此如果以前自定义了后者以用于 keep-alive 目的,则可能需要自定义。请注意,这两个值不必相同,而且通常不相同。请阅读链接的记录以了解背景。 LP#1892622

  • 不再为 HAProxy 中的 Neutron Server 使用 option http-tunnel。如果依赖于其古怪的行为,请手动修改。

  • 默认 migration_interface 已从 network_interface 移动到 api_interface,后者在大多数情况下被视为内部和安全网络平面。

  • 已替换 kolla_external_fqdn_cacertkolla_internal_fqdn_cacertkolla_admin_openrc_cacert,默认情况下未设置。 OS_CACERT 现在设置为生成的 admin-openrc.sh 文件中 kolla_admin_openrc_cacert 的值。

  • 默认的 haproxy_service_template 已更改为 haproxy_single_service_split.cfg.j2。此模板允许更灵活的服务配置。以前的默认值 haproxy_single_service_listen.cfg.j2 现在已弃用,即将删除。无需采取任何操作,除非依赖于替换以前的默认模板内容(使用相同的名称)。

  • kibana_elasticsearch_ssl_verify 的默认值从 false 更改为 trueLP#1885110

  • mariadb 角色现在默认使用 mariadb-server 镜像(与以前的 mariadb 镜像相比),因为 mariadb 镜像将在 Kolla Victoria 版本中弃用并在 Wallaby 中删除。

  • 启用 multipathd 将配置 Nova 以使用它。

  • Prometheus OpenStack 导出器现在使用内部端点与 OpenStack 服务通信,以匹配 Kolla Ansible 部署的其他服务的配置。可以使用公共端点,方法是将 prometheus_openstack_exporter_endpoint_type 变量设置为 public

  • congress 项目不再维护。自 Victoria 以来,它已被 退役,并且其他 OpenStack 服务不再使用它。

  • 已删除与 Hyper-V 集成部署的支持。

  • 通过 ml2_conf.ini 自定义 Neutron Linux bridge 和 Open vSwitch 代理配置已被删除。该配置已为这些代理拆分为 linuxbridge_agent.ini 和 openvswitch_agent.ini。旧行为在 Ussuri 中已弃用,以便在 Victoria 中删除。

  • 已删除与 mongodb 集成部署的支持。

  • neutron-fwaas 项目不再维护。它已被退役,并将从 Victoria 周期中删除。

  • 已删除用于 panko 作为后端的 mongodb 支持。

  • 已删除与 XenAPI 集成部署的支持。

  • Kolla-Ansible 现在需要 Ansible 2.9。不再支持 Ansible 2.8

  • 公共角色现在在单独的 play 中执行。这引入了一些小的行为变化

    • 公共角色现在在所有主机上运行,位于第一次启用服务之前,而不是在第一次启用服务之前

    • 主机必须位于每个公共服务(cronfluentdkolla-logskolla-toolbox)的必要组中,才能部署该服务

    • 如果为另一个服务(例如 nova)指定了标签,则公共角色不会自动为匹配的主机运行。必须显式指定公共标签

  • 现在,只要启用 Apache Storm,Apache ZooKeeper 就会自动部署。

  • 默认值 REST_API_REQUIRED_SETTINGS 与 Horizon 同步。您可能需要查看 更新的配置 中公开的设置。

  • 添加了对 Ubuntu Focal 20.04 作为主机操作系统的支持。从 Ussuri 升级的 Ubuntu 用户应首先将 OpenStack 容器升级到 Victoria,后者使用 Ubuntu Focal 20.04 基本容器镜像。然后,主机应升级到 Ubuntu Focal 20.04。

  • Monasca Log API 已删除。所有日志现在都转到启用了 Monasca 时的统一 Monasca API。任何自定义 Fluentd 配置和清单文件都需要更新。任何 monasca_log_api 容器都将自动删除。

弃用说明

  • 以前的默认值 haproxy_service_templatehaproxy_single_service_listen.cfg.j2)现在已弃用,因为 haproxy_single_service_split.cfg.j2 取而代之,以允许更灵活的服务配置。

  • 变量 kolla_internal_address 已弃用。此变量仅用作 kolla_internal_vip_address 的默认值,且未记录。

  • VMware 集成在 Ussuri 版本中已弃用,现在不再弃用。Nova 已经撤销了其 VMware 驱动程序的弃用,Kolla 社区对 VMware 表现出兴趣。

安全问题

  • kolla-ansible post-deploy 生成的 admin-openrc.sh 文件以前是使用 root:root 所有权和 644 权限创建的。这将允许具有相同目录访问权限的任何人读取该文件,包括管理员凭据。 admin-openrc.sh 的所有权现在设置为执行 kolla-ansible 的用户,并且文件被分配了模式 600。可以通过运行 kolla-ansible post-deploy 来应用此更改。

错误修复

  • 添加了对在代理后使用 bifrost-deploy 的支持。它使用现有的 container_proxy 变量。

  • 修复了对 /dev/kvm 权限的处理,使其对主机级别操作更加健壮。 LP#1681461

  • 修复了 Kibana 与新的 E*K 堆栈(6+)的部署。 LP#1799689

  • 现在允许 IPv6 完全路由拓扑(/128 寻址)(在适用情况下)。 LP#1848941

  • 修复了 prometheus-openstack-exporter 以使用 CA 证书。

  • 使 Kolla-Ansible 操作期间的 haproxy 和 keepalived 重启更加健壮,尤其是在多节点场景(HA)中。

  • 如果启用了容器化的 chrony,则从 docker 主机中删除 chrony 包和 AppArmor 配置文件。 LP#1882513

  • 在使用 Elasticsearch 6 部署 Logstash 时,默认部署了 Logstash 2,这与 Elasticsearch 6 不兼容。现在默认部署 Logstash 6。

  • 修复了在 Ansible 清单中使用 IP 地址而不是主机名时的问题。OpenvSwitch 角色根据 inventory_hostname 设置 system-id,在 IP 地址的情况下,是第一个 IP 八位字节。这样的部署会导致多个 OVN 机箱具有重复的名称,例如“10”连接到 OVN 南向数据库 - 这会产生 Encap 数据库表中大量的创建/删除事件 - 导致 OVN/OVS/Neutron 进程的 CPU 使用率接近 100%。

  • 修复了在启用 enable_manila_backend_genericFalse 时,Manila 部署启动 openvswitchneutron-openvswitch-agent 容器的问题。 LP#1884939

  • 修复了 Elasticsearch Curator cron 调度运行。 LP#1885732

  • 修复了应用自定义 Nova 策略时 nova-conductor 的配置错误,导致 nova_conductor 容器无法成功启动。 LP#1886170

  • 修复了启用 TLS 时的 Castellan(Barbican 客户端)。 LP#1886615

  • 修复了 gnocchi.conf 中的不正确的 Ceph 密钥环文件配置,这阻止了 Gnocchi 连接到 Ceph。 LP#1886711

  • 修复了 --configdir 参数应用于默认 passwords.yml 位置的问题。 LP#1887180

  • fluentd 现在将日志记录到 /var/log/kolla/fluentd/fluentd.log 而不是 stdoutLP#1888852

  • 添加了 glance 角色中的功能,以添加用于图像属性保护和可互操作图像导入的额外配置文件 LP#1889272

  • 修复了 Masakari 角色缺少 deploy-containers 操作的问题。 LP#1889611

  • 不再在 HAProxy 中为 Neutron Server 使用 option http-tunnel。 此模式早已不推荐,并且最近已完全弃用。 LP#1892686

  • 修复了一些 Neutron 子项目未使用滚动升级方案的问题。SFC 强制使用旧方案,并且动态路由根本没有迁移。 LP#1894380

  • 修复了一个问题,即 keystone 容器会陷入重启循环,并显示 fernet 密钥已过期。 LP#1895723

  • 修复了 haproxy_single_service_split 模板,使其适用于默认的 modehttp)。 LP#1896591

  • 修复了 Debian/Ubuntu 上错误的 fernet cron 文件路径,从 /var/spool/cron/crontabs/root/fernet-cron 改为 /var/spool/cron/crontabs/rootLP#1898765

  • 为 placement-api wsgi 配置添加 with_first_found,允许用户覆盖。 LP#1898766

  • 当启用 neutron_ovn_distributed_fip 时,OVN 将不再在计算节点上调度 SNAT 路由器。 LP#1901960

  • 现在串行重启 RabbitMQ 服务,以避免脑裂。 LP#1904702

  • 通过向 monasca log-metrics drop 配置添加 notice 和 note 日志级别来修复 LP#1906796

  • 修复了 Swift 的停止操作。它将不再尝试再次启动 swift-object-updater 容器。 LP#1906944

  • 修复了在使用 Docker 20.10 时 kolla-ansible prechecks 命令出现的问题。 LP#1907436

  • 修复了当 mariadb 容器未在一个或多个主机上存在时,kolla-ansible mariadb_recovery 出现的问题。 LP#1907658

  • 修复了使用 kolla_dev_mod 部署 freezer 失败的问题。 LP#1888242

  • 为一些与 VMWare 相关的任务添加了缺失的“become: true”。修复了 复制 VMware vCenter CA 文件复制 nsx.ini 的问题。

  • 修复在使用 kolla_dev_mod 时部署 nova 失败的问题。

  • 与 Magnum、Cinder 和 Octavia 使用的服务的客户端保持一致,这些服务现在使用全局定义的 openstack_region_name

  • 修复了某些 CloudKitty 命令尝试使用 HTTP 连接到外部 TLS 端点的问题。 LP#1888544

  • 修复了如果 Keystone Fernet 密钥轮换在 Keystone 容器启动之前发生,可能会导致权限被拒绝错误的问题。 LP#1899060

  • kolla-ansible post-deploy 生成的 admin-openrc.sh 文件以前是使用 root:root 所有权和 644 权限创建的。这将允许具有相同目录访问权限的任何人读取该文件,包括管理员凭据。 admin-openrc.sh 的所有权现在设置为执行 kolla-ansible 的用户,并且文件被分配了模式 600。可以通过运行 kolla-ansible post-deploy 来应用此更改。

  • 修复了 Cinder 升级时可能导致在线模式迁移失败的问题。 LP#1880753

  • 修复了 etcd 服务的配置,使其协议与 internal_protocol 参数的值无关。 etcd 服务不由 HAProxy 进行负载均衡,因此在 internal_protocol 配置为 https 时,没有代理层进行 TLS 终止。

  • 修复了删除已撤离的实例时,加密块设备出现的问题。 LP#1891462

  • 修复了 LP#1885885,其中 Monasca Fluentd 输出插件中的默认块大小从 8MB 增加到 256MB 用于文件缓冲,超过了 Monasca Log / Unified API 允许的限制。

  • 修复了 Keystone Fernet 密钥轮换由于权限被拒绝错误而失败的问题,如果 Keystone 轮换发生在 Keystone 容器启动之前。 LP#1888512

  • 修复了 Keystone 启动时 Fernet 密钥轮换未在配置的间隔内发生的问题。这可能是由于 Keystone 主机在计划的轮换时间处于关闭状态,或者由于 cron 作业之间的间隔不均匀所致。 LP#1895723

  • 将 LinuxBridge agent 的 arp_responder 选项设置恢复为默认值(‘False’),因为已知这会导致 l2_population 出现问题,以及其他问题,例如与 allowed-address-pairs 扩展不完全兼容。 LP#1892776

  • 修复了 Neutron Linux bridge ML2 驱动程序中防火墙驱动程序配置未应用的问题。 LP#1889455

  • 修复了 Masakari 和内部 TLS 中 CA 证书未复制到容器的问题,并且未配置 CA 文件的路径。 依赖于 masakari bug 1873736 的修复。 LP#1888655

  • 修复了 Grafana 实例争夺启动 Grafana DB 的问题。 参见 LP#1888681

  • 修复了 LP#1892210,其中从 neutron-server 到 Memcached 的打开连接数会随着时间的推移而增长,直到达到 memcached_connection_limit(默认值为 5000)设置的最大值,此时 Memcached 实例将停止工作。

  • 添加了一个新的变量 fluentd_elasticsearch_cacert,其默认值为 openstack_cacert。 如果设置,这将用于设置 Fluentd 与 Elasticsearch 通信时使用的 CA 证书包的路径。 LP#1885109

  • Kafka 默认主题创建被使用创建 Kafka 主题时,在多节点集群中未创建冗余副本的问题。 LP#1888522。 这会影响使用 Kafka 的 Monasca,并且之前被 Monasca 使用的旧 Kafka 客户端所掩盖,而该客户端已在 Ussuri 中升级。 具有多节点 Kafka 集群的 Monasca 用户应查阅 Kafka 文档 以增加副本数。

  • 改进了 kolla-genpwdkolla-mergepwd 在输入文件格式不符合预期时错误报告。 LP#1880220

  • 修复了计算主机上未加载 br_netfilter 内核模块的问题。 LP#1886796

  • 修复了多区域部署中的 Magnum trust 操作。

  • Prometheus OpenStack 导出器现在使用内部端点与 OpenStack 服务通信,以匹配 Kolla Ansible 部署的其他服务的配置。

  • 防止在未针对所有 Keystone 主机(例如,由于 --limit--serial 参数)时,向现有集群添加新的 Keystone 主机,以避免覆盖现有的 Fernet 密钥。 LP#1891364

  • 减少 SQLAlchemy 连接池的使用,以提高控制器具有内部 VIP 发生故障时的服务可靠性。 LP#1896635

  • 不再配置 Prometheus OpenStack 导出器使用 prometheus Docker 卷,因为从未需要过。

  • 如果显式启用 Apache Storm,则部署 Apache ZooKeeper。 只有在也启用 Monasca 时,ZooKeeper 才会部署,通常是隐式完成的。

其他说明

  • 为 trove 添加 trove-guestagent.conf