2023.2 系列发布说明

2023.2-eol

新特性

  • 支持在配置 chrony 后强制时间同步,如果 ntp_force_sync 更改为 True

错误修复

  • 将 MichaelRigart.interfaces 升级到修复一个问题,即在 Rocky 主机上,kayobe overcloud host configure 在网络任务期间无法模板化,并出现错误 Could not load "ipaddr"LP#2107335

15.6.0

新特性

  • 将内部 VIP 添加到 NOPROXY/noproxy 环境变量。

  • 添加了对使用 Cumulus 交换机(NCLU 和 NVUE)与 Networking Generic Switch 的支持。

安全问题

  • 从配置了 kayobe 的主机发起 API 请求时,目标为内部 VIP 的流量将通过默认代理发送。如果未使用 TLS,这可能是一个安全问题,因为代理将能够拦截流量。如果使用不受信任的代理,并且在内部 VIP 上禁用了 TLS,建议运行 kayobe overcloud host configure -t proxykayobe seed hypervisor host configure -t proxykayobe seed host configure -t proxykayobe infra vm host configure -t proxy,以将内部 VIP 添加到无代理配置中。这被认为是一个小问题,因为容器之间的流量默认情况下不会使用代理。 LP#2087556

错误修复

  • 现在,当 kolla_enable_proxysql 设置为 true 时,将构建 proxysql 镜像。

  • 固定 IPA 镜像构建的要求,以确保 ironic-lib 版本与 ironic-python-agent 匹配。LP#2089263

  • 将 seed 和 infra VM 的默认云镜像更改为使用 Rocky Linux 9.3,当使用 bios 启动模式时,以修复较新的云镜像导致的启动失败。在部署新 VM 时,建议将 infra_vm_boot_firmwareseed_vm_boot_firmware 设置为 efi

15.5.0

新特性

  • 增加了对在 seed 和 infra VM 中指定 boot_firmwaremachine 变量的支持。这可用于使用 Q35 机器类型以 UEFI 启动模式启动 VM。

  • 将 stackhpc.libvirt-vm Ansible 角色升级到 v1.16.1

错误修复

  • eos_config 自 Ansible 7 以来不支持 provider 参数。用户需要根据 Arista EOS 文档 更新其配置。

  • 修复了一个问题,即当单元已经处于 runtime-enabled 状态时,systemd-networkd 未被永久启用。LP#2073100

15.4.0

错误修复

  • 修复了自定义 RabbitMQ 配置的问题。修复了不正确的路径和通配符,现在您可以模板化所有其他配置文件,例如 advanced.configdefinitions.jsonenabled_pluginserl_inetrc,以及 rabbitmq.confrabbitmq-env.conf

  • 修复了一个 Dell OS6 和 Dell OS9 交换机配置没有正确应用的问题。 LP#2061102

  • 修复了节点取消配置后 ironic 文件残留的问题,这阻止了再次注册和配置。

  • 修复了默认 Ubuntu Apt 密钥环位置,使其指向推荐的 /etc/apt/keyrings

  • 修复了在使用主机限制运行 Kayobe 时 /etc/hosts 没有正确填充的 bug。 LP#2051714

  • 修复了 overcloud 服务销毁时未能移除 inspection store docker 卷的问题。请参阅 LP#2050092

  • 修复了与 kolla_enable_letsencrypt 变量相关的错误,这些错误导致 overcloud 容器镜像构建失败,或者在禁用时包含 letsencrypt 镜像。

15.3.0

错误修复

  • kolla_enable_letsencrypt 设置为 true 时,现在会构建 letsencrypthaproxy-ssh 镜像。

  • 修复了 wipe-disks 角色在受支持的主机操作系统上由于 util-linux 版本 2.37lsblk -J 的输出格式更改而失败的问题。 LP#2051859

15.2.0

弃用说明

  • 弃用了对 devicemapper Docker 存储驱动程序的支持,因为该驱动程序已从 Docker Engine 25.0 中移除。将在 Caracal 16.0.0 版本中完全移除支持。使用 devicemapper 的用户应确保安装了兼容版本的 Docker Engine(即 24.x 或更低版本)。

15.1.0

错误修复

  • 修复了在禁用 seed SNAT 时的网关分配问题。在这种情况下,Bifrost 会生成 ConfigDrive 数据,即使管理网络上可用网关,也不会设置默认网关。

  • 修复了一个错误,当 resolv_is_managed 设置为 True 时,NetworkManager 会覆盖 resolv.conf。

15.0.0

新特性

  • 现在可以配置桥接接口上的生成树协议 (STP)。通过设置网络的 bridge_stp 属性来启用或禁用 STP。请注意,STP 在 Ubuntu 上默认未设置,但在 Rocky Linux 9 上被禁用,以与网络脚本兼容,因为 NetworkManager 会在所有桥接上默认启用 STP。

  • 添加了一个新的 kolla_bifrost_deploy_image_user_data_content 变量,用于定义 overcloud 置备期间 cloud-init 使用的自定义 user_data 内容。

  • 添加了对配置 NVIDIA vGPU 的初步支持。有关更多信息,请参阅此功能的 新文档

  • Kayobe 配置中的 Kolla Ansible 库存现在会未经修改地传递。 以前,只有 group_vars 会被传递。 当使用多个环境时,来自基础配置层和 Kayobe 环境层的 Kolla 库存都将被传递。 环境中的库存优先于基础层中的库存。 这允许您将任何共享配置放在基础层中。

  • 添加了在运行 kayobe physical network configure 时将配置保存到交换机的支持。 目前仅在 Dell OS9 和 OS10 设备上受支持。

  • 添加了对使用 Dell OS10 交换机与 Networking Generic Switch 的支持。

  • 添加了使用 .kayobe-environment 文件分层多个环境的实验性支持。

  • 添加了将 Kolla 自定义服务配置合并到 Kayobe 环境中的基础配置层中的 Kolla 配置中的新功能。

  • 添加了以下变量以允许更细粒度地放置服务

    • controller_ironic_conductor_group

    • controller_ironic_inspector_group

    • controller_loadbalancer_group

    • controller_network_group

  • 添加了在启用 Neutron 和 OVN 时构建 neutron-ovn-agent 镜像的支持。 LP#2039558

  • 可以通过将 deploy_containers_registry_attempt_login 设置为 false 来跳过登录到 kolla docker 注册表的尝试。

    这对于使用在 seed 上部署的非标准注册表的部署是必需的,因为这发生在注册表登录尝试之后。

升级说明

  • 对于 Rocky Linux 9,Kayobe 现在默认禁用桥接上的 STP。此操作将在主机配置过程中导致桥接接口重新启动。

  • 由于 Kolla Ansible 库存现在会未经修改地传递,因此 Kayobe 配置 (etc/kayobe/kolla/inventory/) 中的库存目录必须是有效的 Ansible 库存,尽管用作 Kolla Ansible 库存模板的 *.j2 文件将被忽略。 对于只需要 group_varshosts_vars 的情况,可以使用同一目录中的空白库存文件。

  • 不再可以创建名为 kayobe 的环境。 这保留供内部使用。

  • 将 Ansible 的最大支持版本从 7.x(ansible-core 2.14)更新到 8.x(ansible-core 2.15)。 最小支持版本从 6.x 更新到 7.x。 这适用于 Kayobe 和 Kolla Ansible。

  • 如果管理网络未定义网关,并且 seed_enable_snatfalse(默认值),则 overcloud 主机在配置完成后将不再具有默认网关。仍然可以在主机配置步骤期间应用另一个网络上的默认网关。

  • 从默认的 DIB 元素列表中删除了 disable-selinux 元素。 这使得主机镜像与 Kayobe 应用的默认 SELinux 配置更加兼容,该配置自 Zed 版本以来为 permissive

  • 环境特定的 Kolla 自定义服务配置现在与基础配置层中的 Kolla 配置合并。 在基础层和环境中重复的配置选项需要进行去重,以避免生成的输出中显示多次配置选项(尽管通常不会出现此问题)。

    kolla_openstack_custom_config_environment_merging_enabled 设置为 false 以恢复到以前的行为,即仅考虑环境中的配置。

  • 引入了一个新的变量 kolla_ansible_extra_custom_passwords,以避免在添加或覆盖密码时组合 kolla_ansible_default_custom_passwordskolla_ansible_custom_passwords 的需要。

  • etc/kayobe/kolla.yml 中删除了 kolla_docker_registry_insecure 变量,因为它自 2023.1(Antelope)版本以来未被使用。 替换的 docker_registry_insecure 变量已添加到 etc/kayobe/docker.yml

  • 添加了一个内省规则,用于更新现有 Ironic 节点中注册的部署内核的位置。在 Train 版本或更早版本上运行的部署中发现的节点可能仍在使用的内核是 ipa.vmlinuz,该内核在更新部署镜像时不会更改。如果仅使用默认内省规则,现有节点可能会从 Bifrost 容器使用以下命令进行更新

    OS_CLOUD=bifrost baremetal introspection reprocess $NODE_UUID_OR_NAME

    如果使用非默认规则,则重新处理可能会撤消操作员所做的任何自定义。在这种情况下,更谨慎的方法是手动更新部署内核位置

    OS_CLOUD=bifrost baremetal node set --driver-info deploy_kernel=<http://url/to/ipa.kernel> $NODE_UUID_OR_NAME

    如果 kolla_bifrost_inspector_rules 列表已自定义,则应将 inspector_rule_legacy_deploy_kernel 规则添加到其中。

弃用说明

  • 弃用以下变量,以便在 Bobcat 版本中删除

    • kolla_extra_global

    • kolla_extra_aodh

    • kolla_extra_barbican

    • kolla_extra_blazar

    • kolla_extra_ceilometer

    • kolla_extra_cinder

    • kolla_extra_cloudkitty

    • kolla_extra_designate

    • kolla_extra_gnocchi

    • kolla_extra_grafana

    • kolla_extra_heat

    • kolla_extra_ironic

    • kolla_extra_inspector

    • kolla_extra_keystone

    • kolla_extra_magnum

    • kolla_extra_mariabackup

    • kolla_extra_mariadb

    • kolla_extra_manila

    • kolla_extra_masakari

    • kolla_extra_murano

    • kolla_extra_neutron

    • kolla_extra_neutron_ml2

    • kolla_extra_nova

    • kolla_extra_octavia

    • kolla_extra_placement

    • kolla_extra_sahara

    应使用 etc/kayobe/kolla/configetc/kayobe/environments/<environment>/kolla/config 中的 Kolla 自定义服务配置文件代替。

错误修复

  • 修复了在重新部署 Bifrost 后无法运行 kayobe overcloud deprovision 的问题。

  • 通过防止不必要的 Ironic API 请求,提高了 Bifrost 操作的性能。

  • 修复了在 check 模式下运行时本地配置生成会被跳过的错误。这会导致 Kolla Ansible 使用过时的配置进行检查。请参阅 story 2010526 以获取详细信息。

  • 修复了使用 Ansible Vault 加密变量时 kayobe configuration dump 失败的问题。加密变量现在在 dump 输出中经过清理。

  • 通过在 seed_enable_snatfalse(默认值)时,不将 seed 主机配置为 overcloud 主机的初始默认网关,从而修复了某些环境中事实收集缓慢的问题。

  • 修复了从 Ansible Galaxy 下载 roles 时的问题,原因是 mrlesmithjr.manage_lvm role 的名称更改。 LP#2023502

  • 修复了 Kolla Ansible 变量 kolla_admin_openrc_cacert 未设置为 kolla_internal_fqdn_cacert 的值的问题。

  • 修复了使用最新 pip 进行可编辑安装时检测数据文件路径的问题。

  • 在合并 Kolla 配置时,如果仅存在一个源文件,则回退到模板化。 这允许您使用模板化为无效 YAML/INI 的配置,只要没有环境覆盖即可。 这提高了向后兼容性,在以前允许使用此类构造的情况下。

  • 修复了在 CentOS / Rocky 上应用网络配置时的回归问题。

  • 在确定主机是否需要引导时,我们尝试使用 ansible_user 连接到主机,如果登录失败,则我们假设主机需要引导。在之前的版本中,我们使用手动构建的 ssh 命令。这不尊重通过 Ansible 配置进行的任何 SSH 参数自定义。现在我们使用 raw 模块,以便在连接到主机时使用这些自定义。一个可能的用例是在控制主机和目标主机之间配置跳板主机。如果需要引导,主机现在将在运行结束时的摘要统计信息中显示为无法访问。可以安全地忽略此信息。

  • 通过将 docker login 函数添加到 kayobe deploy-containers 角色,解决了种子容器无法使用密码保护的 registry 的问题。

  • 修复了一个用户忘记组合 kolla_ansible_custom_passwordskolla_ansible_default_custom_passwords 和包含自定义密码的字典的问题。现在 kolla_ansible_extra_custom_passwords 应该只提供要添加到 kolla/passwords.yml 中或覆盖其中的用户自定义密码。

  • 在 check 模式下使用 Ansible 时,安装了 ncclient 依赖项,用于 Juniper 交换机配置。

  • 添加了一个解决方法,以避免 NetworkManager 将桥接 VLAN 接口的 MTU 设置为不正确的值。

  • etc/kayobe/kolla.yml 中删除了 kolla_docker_registry_insecure 变量,因为它自 2023.1(Antelope)版本以来未被使用。 替换的 docker_registry_insecure 变量已添加到 etc/kayobe/docker.yml

  • 通过将 MichaelRigart.interfaces 角色升级到版本 1.14.4,修复了 cloud-init 生成的 nmconnection 文件与 Kayobe 生成的文件之间的冲突。

  • 停止合并配置,如果符号链接指向相同的文件。 这是在引入 kolla 配置的合并之前的一种常见模式,并导致配置选项重复。