Rocky 系列发布说明

7.2.1-13

新特性

  • Cinder 协调后端现在可以通过 cinder_coordination_backend 变量进行配置。协调是可选的,现在可以设置为 redis 或 etcd。

错误修复

  • 修复常规代理中的原生 openvswitch 防火墙驱动程序,发布的补丁仅修复了 xenapi。LP#1869832 (与 LP#1867506 相关)

  • 此补丁添加了 kolla-ansible 内部 logrotate 配置用于 Logstash。Logstash 2.4 使用集成的容器内 logrotate 配置来轮换 /var/log/logstash 中的日志,而 kolla-ansible 部署的 Logstash 日志位于 /var/log/kolla/logstash 中。 LP#1886787

  • 此补丁修复了一个错误,即由于 paramiko/cryptography 引起的 Python 弃用警告导致 kolla_toolbox Ansible 模块失败。LP#1888657

7.2.1

错误修复

  • 修复 qemu 加载 ceph.conf(权限错误)。 LP#1861513

  • 移除 Neutron 服务中的 /run 绑定挂载,导致 dbus 主机级别错误,并为 neutron-dhcp-agent 和 neutron-l3-agent 添加 /run/netns。 LP#1861792

  • 使用更宽松的正则表达式移除 /etc/hosts 中的冒犯性 127.0.1.1 行。 LP#1862739

  • 每个 Prometheus mysqld 导出器现在指向其本地 mysqld 实例(MariaDB),而不是 VIP 地址。 LP#1863041

  • Cinder Backup 现在可以访问内核模块以加载例如 iscsi_tcp 模块。 LP#1863094

  • 通过要求解析的唯一性来加强 RabbitMQ 主机名地址解析的预检查,以避免后续问题。 LP#1863363

  • 修复 neutron-openvswitch-agent 原生 openvswitch 防火墙驱动程序。LP#1867506

  • 修复了 ceph 部署重新配置错误,在收集 OSD 步骤由于 Kolla-Ansible 用户无法访问 /var/lib/ceph/osd/_FSID_/whoami 而失败。 LP#1867946

  • 移除 Swift 环的元字段,从默认 rsync_module 模板中移除。默认情况下拥有它,未记录,可能导致在 Swift 文档声明该字段未被处理时出现意外行为。

  • 修复了当某些 HAProxy 实例正在运行而另一些实例未运行时,HAProxy 监视 VIP 预检查出现的问题。请参阅 bug 1866617

  • 移除了默认 InfluxDB 配置中的 [http]/max-row-limit = 10000 设置,该设置导致 CloudKitty v1 API 在使用 InfluxDB 作为存储后端时仅返回 10000 个数据帧。详情请参阅 bug 1862358

7.2.0

新特性

  • 可以使用变量 enable_neutron_port_forwarding 启用 Neutron port_forwarding 服务插件和 l3 扩展。

升级说明

  • docker_legacy_packages 的默认值更改为 false。这意味着 kolla-ansible bootstrap-servers 现在将配置 Docker CE 仓库在 https://download.docker.com,而不是旧版 Docker 仓库在 https://dockerproject.org。这是由于 Docker 移除了对旧版仓库的访问权限。

  • 修改了 swift.conf 自定义配置的路径,从 /etc/kolla/config/swift/<service>.conf 更改为 /etc/kolla/config/swift/<service>/swift.conf,以避免与 <service>.conf 的自定义配置冲突。在这里,<service> 可以是 proxy-serveraccount-*container-*object-*

  • Heat 角色已停止禁用已弃用的插件。要将此更改应用于现有部署,文件 /etc/kolla/heat-engine/_deprecated.yaml 在升级期间会自动删除。

错误修复

  • 修复了 Docker 客户端超时问题,其中 Docker 报告“读取超时”。客户端超时可以通过 docker_client_timeout 进行配置。默认超时已增加到 120 秒。有关详细信息,请参阅 bug

  • 修复了一个问题,镜像拉取失败可能导致容器被移除且无法替换。详情请参阅 bug 1852572

  • 修复了 Swift 卷在内核 4.19 及更高版本上挂载失败的问题,原因是 XFS 挂载选项中移除了 nobarrier。详情请参阅 bug 1800132

  • 修复了 fluentd 解析 Aodh、Masakari、Qinling、Vitrage 和 Zun 的 WSGI 日志的问题。详情请参阅 bug 1720371

7.1.2

升级说明

  • Keystone fernet 密钥轮换调度算法已修改,以避免密钥过度轮换的问题。

    变量 fernet_token_expiryfernet_token_allow_expired_windowfernet_key_rotation_interval 可以设置为配置令牌过期和密钥轮换计划。

    默认情况下,fernet_token_expiry 为 86400,fernet_token_allow_expired_window 为 172800,fernet_key_rotation_interval 是这两个变量之和。这允许最小数量的活动密钥 - 3。

    有关详细信息,请参阅 bug 1809469

错误修复

  • 如果短主机名不同,则将系统主机名添加到/etc/hosts。这可以在某些情况下修复Nova实例的实时迁移。有关详细信息,请参阅bug 1830023

其他说明

  • 虽然Kolla Ansible现在避免在消息传递或数据库连接信息更改时复制Nova单元,但现有部署的操作员应使用运行nova_api镜像的容器中的nova-manage cell_v2命令手动清理重复的单元,只留下两个单元,一个名为cell0,另一个具有正确的连接信息。

7.1.1

新特性

  • 添加对部署 Monasca Grafana 分支的支持,该分支包括 Keystone 集成。

  • 添加 Monasca 日志指标服务。此服务负责从日志文件中生成指标。

  • 添加对部署 Monasca 通知服务的支持。通知服务负责在 Monasca API 定义的警报由 Monasca Thresh 拓扑生成时通知用户。

  • 添加对部署 Monasca 持久化进程的支持。持久化程序负责从 Kafka 读取指标、警报和事件,并将其存储在各种后端中。

  • 添加对部署 Monasca thresh 服务(Apache Storm 拓扑,用于警报)的支持。

  • 添加 Monasca Agent,它提供主机和应用程序特定的监控数据收集和转发。

  • Docker 日志不再允许无限制增长,并且已限制为每个容器的固定大小。添加了两个新变量,docker_log_max_filedocker_log_max_size,默认值分别为 5 和 50MB。这意味着对于每个容器,Docker 日志不应超过 250MB。

7.1.0

新特性

  • 添加了使用 kolla-ansible bootstrap-servers 命令安装 Docker Community Edition (CE) 的支持。现有支持使用来自 https://dockerproject.org 的旧版软件包。新软件包通过 https://download.docker.com 分发,并且该位置现在受支持并默认使用。通过将变量 docker_legacy_packages 设置为 false 来启用新软件包的使用。仅对于 Ubuntu 18.04+,默认情况下启用新软件包,因为它不支持旧版软件包。

    现在也可以通过将变量 enable_docker_repo 设置为 false 来跳过 Docker 仓库的配置。

  • 公开了一个配置选项,以启用 ceph manager prometheus 插件,这也会在每个 ceph-mgr 主机的 prometheus-server 配置中启用导出器。

升级说明

  • 在所有操作系统发行版上,docker_legacy_packages 的默认值为 true,除了 Ubuntu 18.04+。如果将其设置为 false,将安装 Docker Community Edition。如果使用 kolla-ansible bootstrap-servers 命令在先前部署的主机上运行旧版 Docker 引擎,则会导致 Docker 引擎升级为使用 Docker Community Edition 软件包,这将导致 Docker 引擎和该主机上运行的容器重新启动。使用 kolla-ansible --serial--limit 参数以避免通过一次重新启动所有容器而导致 MariaDB 等集群服务失去仲裁。

其他说明

  • 将 kolla_logs docker 卷链接到 /var/log/kolla。更短的日志路径将有助于从日志中进行调试。卷路径与 docker-engine 和 docker-ce 兼容。

7.0.1

新特性

  • 添加了 kolla_docker 中的新参数以支持配置容器中的 TTY,默认值为 False

7.0.0

序言

自 Ceph Luminous 发布以来,推荐使用 bluestore OSD。Kolla Ceph 当前仅支持 filestore。Kolla Ceph 需要 bluestore。

新特性

  • 将 blazar-dashboard 添加到 horizon。

  • 将 congress-dashboard 添加到 horizon。

  • kolla-ansible 命令添加了一个新的参数,--forks NUM。此参数直接传递给 ansible-playbook

  • 添加一个用于 freezer-scheduler 的 kolla-ansible 角色

  • 可以使用文件 {{ node_custom_config}}/horizon/custom_local_settings 在 Horizon 中覆盖默认 local_settings,而无需在镜像构建时同步它。

  • 添加一个用于部署 Apache Kafka 的角色,一个分布式流平台。有关更多详细信息,请参阅 https://kafka.apache.org/。需要配置 Apache Zookeeper。

  • 添加对部署 Monasca 日志持久化程序的支持。日志持久化程序负责从 Kafka 处理的日志主题读取日志,并将其写入 Elasticsearch。

  • 添加对部署 Monasca 日志转换器的支持,用于在 Monasca 中提供日志标准化。

  • 添加对在 neutron 中配置 Infoblox 作为可插拔 IPAM 驱动程序的支持。通过选择“infoblox”作为“neutron_ipam_driver”进行配置。除了在 neutron 中处理 IP 地址管理外,还将启动一个代理程序,以自动在 Infoblox 设备中管理 DNS 条目。

  • 添加 Octavia Horizon 插件

  • 添加“enable_trove_singletenant”选项以启用 Trove 单租户功能。此功能将允许 Trove 在与用户租户不同的租户中创建 Nova 实例。

  • 添加一个用于部署 Apache Zookeeper 的角色,用于支持 Apache Kafka。有关更多详细信息,请参阅 https://zookeeper.net.cn/

  • 添加一个配置选项 enable_nova_ssh 以允许禁用该服务。当操作员不支持冷迁移并且不想管理额外的 SSH 密钥时,这很有用。

  • 允许覆盖变量 glance_backend_swift 以启用 glance 的 swift 后端,而无需在 kolla-ansible 中启用 swift。这允许操作员启用外部 swift 端点作为 glance 后端。

  • 添加了对在远程主机上虚拟环境中安装 python 依赖项的支持。

    直接安装到系统 site-packages 的 python 包可能会导致各种问题,特别是当 pip 覆盖系统包时。Python 虚拟环境是解决此问题的一种方法,因为它们允许将 python 包安装在隔离的环境中。通常,我们需要从虚拟环境中启用对系统 site-packages 的使用,以支持 yum、apt 和 selinux 等在 PyPI 上不可用的模块。

    虚拟环境的路径通过 virtualenv 变量配置,并且通过 virtualenv_site_packages 控制对 site-packages 的访问。 virtualenv 的默认值为 None,在这种情况下,将保持将包直接安装到系统 site-packages 的旧行为。

    在执行其他 kolla-ansible 命令时,变量 ansible_python_interpreter 应设置为安装在 virtualenv 中的 python 解释器。请注意,此变量无法进行模板化处理。

  • 添加自定义选项以通过配置 docker 服务来配置 docker 守护程序。将添加一个名为“docker_custom_option”的操作员。

  • [蓝图 用 dvr 模式变量替换内部/外部计算] 引入了一个新的变量“neutron_compute_dvr_mode”。此变量控制计算主机是否具有外部连接,以及是否允许进行完整的 DVR 或分布式路由仅用于租户网络。相应的值为“dvr”和“dvr_no_external”。为了获得所需的行为,必须在全局或每组(每主机)设置该变量。

  • 默认启用 chrony。

  • 自动在 14 天后过期 MariaDB 二进制日志。

  • 引入了对使用非 kolla-ansible 维护的额外 ml2 插件的支持,操作员可以添加一个文件 /etc/kolla/config/neutron/plugins/awesome_plugin.ini,并在运行时将其复制到 ml2 插件文件夹中。

  • 添加了 ironic_inspector_kernel_cmdline_extras 选项,以将其他内核参数附加到用于检查的内核。

  • HAProxy - 允许操作员为每个 HTTP 或 TCP 侦听器段指定其他选项。

  • 引入了一个新的变量 horizon_keystone_url,它有助于覆盖 Horizon 用于与身份服务(Keystone)通信的 URL。默认值为身份服务的内部 URL。

  • 实现 Glance 零停机时间升级逻辑。

  • 实现 Ironic 滚动升级逻辑,默认在 ironic_enable_rolling_upgrade:“yes”在 etc/kolla/globals.yml 文件中启用。

  • 添加了对配置 Ironic Inspector 检查网络中使用的默认网关的支持。这通过变量 ironic_dnsmasq_default_gateway 配置,默认情况下未设置。

  • 支持 Kolla Ceph 在 Rocky 版本中部署 bluestore OSD。

  • 添加对 grafana 自定义配置文件的支持。

  • 添加对 VMware NSX Transformers 插件的支持

  • 添加 onos 支持,Networking-onos 是 Neutron 的子项目,用于提供 Neutron/Neutron 的子项目与 ONOS 之间的连接。

  • opendaylight_release 变量已删除,版本在启动功能时自动发现。

  • 添加了对跳过 kolla-ansible bootstrap-servers 命令中 sudoers 文件的配置的支持。这取决于变量 create_kolla_user_sudoers,其默认值与 create_kolla_user 相同。

  • 部署 prometheus (prometheus.io) 作为时间序列数据库。提供了用于 node_exporter、haproxy_exporter 和 mysqld_exporter 的容器,并将其添加到 prometheus 作为抓取目标。

  • 添加对 ceph-dashboard 的支持。它启用了 ceph 集群中的“dashboard”模块。它使用命令“ceph mgr module enable dashboard”。

  • 支持 ansible check 和 diff 模块以生成配置。您可以使用 EXTRA_OPTS='--check --diff' kolla-ansible genconfig 在干运行模式下检查配置文件将是什么样子。

  • 通过配置 docker 守护程序设置 docker 运行时目录。将添加一个名为“docker_runtime_directory”的操作员。

  • 添加了对使用 iPXE 启动裸机节点的支持。这通过 enable_ironic_ipxe 标志启用。

  • 添加对配置 Ironic Neutron Agent 和 Neutron networking-baremetal ML2 插件的支持。

已知问题

  • 截至 Ceph Luminous 12.2.1,监视器发出警告之前每个 OSD 的最大 PG 数已从 300 减少到 200 个 PG。 此外,如果超过最大值,Ceph 现在将以错误而不是警告的形式失败。 为了允许 Kolla 继续开箱即用,我们将 pg_num 和 pgp_num 的默认值从 128 减少到 8。 这将允许使用所有可能的已启用服务以及一些服务的 Kolla 部署,并使用最低推荐的三個 OSD。 强烈建议操作员查阅 Ceph 文档,了解这些值,以确保其自身集群的最佳性能。

升级说明

  • 为 magnum 添加了 default_docker_volume_type,该选项需要在指定 docker-volume-size 选项的集群中指定用于容器存储卷的默认 cinder 卷类型。 例如 gp1、io1 等。

  • 禁用 ntp 服务,因为 kolla 默认使用 chrony 容器。

  • 添加选项 docker_registry_insecure 以启用 docker 注册表的 SSL 验证。 当定义私有注册表时,默认值为 true。

  • “[inner-compute]” 和 “[external-compute]” 中的所有主机都可以移动到 “[compute]”,以避免 OpenStack S 版本中的问题,尽管这些组在此版本中仍然可以正常工作。

  • neutron-vpnaas-agent 已加载到现有的 l3 代理内部,而不是要求操作员运行现有 L3 代理的子类的完全不同的二进制文件。

弃用说明

  • 禁用 glance 注册表,因为它已被弃用。

  • 将计算组拆分为内部和外部计算主机已被弃用,将在 OpenStack S 版本中删除。

  • 由于 neutron-vpnaas-agent 可以由 neutron l3 代理加载,因此不支持 neutron-vpnaas 独立模式。 我们已经删除了 neutron-vpnaas-agent 容器,目前不需要保留此角色。

安全问题

  • 如果启用了 tls,则禁用 haproxy 上的 TLS 1.1 以用于外部网络。

错误修复

  • 计算主机上的外部桥接设置取决于是否启用了 DVR 模式,同时也伴随着对新变量的检查。

  • 修复了使用 ansible>2.2 时 ansible 的警告。

  • 避免在 playbook 中使用 ansible 保留的 action 和 serial 单词。 使用 kolla_action 和 kolla_serial 代替。

  • 从 <<node_custom_config>>/gnocchi 文件夹而不是 gnocchi 组件的每个文件夹加载自定义 ceph.conf 和 keyring 文件。

  • 由于它已从 Keystone 中删除,因此从 keystone_token_provider 中删除 uuid 选项。