Victoria 系列发布说明

22.4.0

升级说明

  • 对于 Ubuntu Focal (20.04),在小版本升级时会添加 UCA 仓库。使用 distro 安装方法进行部署会导致 OpenStack 版本进行大版本升级。

错误修复

  • 修复了 haproxy_frontend_raw 键命名在文档和 service 模板之间不一致的问题。 之前,模板生成期望的是 haproxy_raw 而不是 haproxy_frontend_raw

  • Ubuntu Cloud Archive (UCA) 仓库未正确添加到 Ubuntu 20.04 设置中。

22.3.2

安全问题

22.3.1

错误修复

  • 此版本解决了在从一个操作系统升级到另一个操作系统时,wheels 可能会构建失败的问题。 建议在尝试操作系统升级之前升级到此版本。

22.3.0

升级说明

  • cloudkitty_package_state 继承 package_state 并且默认值为“latest”。

  • cloudkitty_uwsgi_bind_address 继承 openstack_service_bind_address 并且默认值为 0.0.0.0。

  • cloudkitty_galera_port 继承 galera_port 并且默认值为“3306”。

  • cloudkitty_service_region 继承 service_region 并且默认值为“RegionOne”。

弃用说明

  • cloudkitty_collected_services 已弃用,应在 Cloudkitty 度量配置中进行配置。

错误修复

  • 此版本解决了在 Victoria 发布周期内从 Ubuntu Bionic 升级到 Ubuntu Focal 时出现的问题。 默认情况下,Bionic 和 Focal 将安装相同版本的 RabbitMQ,以避免尝试降级。 强烈建议在尝试升级到 Ubuntu Focal 之前升级到此版本。

22.2.0

新特性

  • 已添加支持,允许在 openstack_user_config 或 conf.d 文件中存在 host group cloudkitty_hosts 时部署 Cloudkitty 服务。 已添加 os-cloudkitty-install.yml,现在是 setup-openstack.yml 的一部分。

22.1.2

新特性

  • 实现了 openstack_hosts_package_manager_extra_conf 变量。 它允许向包管理器的配置中添加额外内容(适用于 apt、yum 和 dnf)。

  • 在单独的主机用于管理 OpenStack Ansible 配置的部署中,该主机上的 ‘/etc/hosts’ 文件现在将包含一个部分,为 inventory 中的所有主机添加主机名到 IP 解析。 可以在 ‘openstack_host_manage_deploy_hosts_file’ 中启用/禁用此功能。

已知问题

  • 当使用单个 OSA 部署主机来管理多个部署时,某些委托的 Ansible 任务由于 Ansible issue 72776 使用主机名而不是 IP 地址执行。 诸如 ‘infra1’ 的主机名将是模棱两可的,因此建议为每个部署使用单独的主机。

弃用说明

  • 移除了 octavia_amp_image_id 选项,因为 Octavia 中的相应配置选项 amp_image_id 已被弃用,应该使用镜像标签代替。

22.1.1

其他说明

  • 为了准备弃用这些部署场景和相关代码,已删除了 OpenDaylight、SFC 和 OVS w/ NSH 的 gate jobs。

22.1.0

新特性

  • 添加了变量 security_rhel7_enable_aide,旨在避免安装和初始化与 STIG 相关的 aide。

  • 创建了一系列变量 haproxy_*_service,其中包含特定于服务的 haproxy 配置块。 这允许部署者仅选择性地调整特定服务的 haproxy 前端/后端配置,而无需覆盖整个 haproxy_default_services。

升级说明

  • 对于 Barbican 在 [simple_crypto_plugin] 部分的 barbican.conf 中,kek 已被硬编码。 现在它在 secrets.yml 中动态生成,并且每个部署都是唯一的。 但是,在升级之前,您必须将 barbican_simple_crypto_key 设置为当前值,该值首先通过 base64 解码传递。 大多数情况下解码后的值将是 abcdefghijklmnopqrstuvwxyz123456,因为该值已在模板中硬编码。 升级脚本会将 user_secrets.yml 中 barbican_simple_crypto_key 的值设置为 abcdefghijklmnopqrstuvwxyz123456,除非变量已定义。 因此,任何修改 simple_crypto_plugin 的 kek 的覆盖者都应手动在 user_secrets.yml 中定义有效的 barbican_simple_crypto_key。

22.0.1

升级说明

  • 旧的部署应检查其 /etc/hosts 文件中是否存在遗留的 ‘127.0.1.1’ 条目。 在升级之前,需要删除这些条目,尤其是在 RabbitMQ 主机和容器上。

22.0.0

新特性

  • 已添加支持,用于使用源安装和 distro 安装在 CentOS 8 上部署 OpenStack。 但是,无法提供 nspawn 支持,因为 machinectl 依赖于 btrfs,而 btrfs 已被 CentOS 弃用。

  • 已添加支持,用于使用源安装在 Ubuntu Focal (20.04) 上部署 OpenStack。 此时,Ubuntu Cloud Archive 无法为 Focal 提供支持,因此无法为 Focal 提供 distro 包安装。

  • 添加了 horizon_allowed_hosts 以能够配置 django ALLOWED_HOSTS。 默认值与以前相同,但您可以在 /etc/openstack_deploy/user_variables.yml 中创建一个允许的主机列表,以设置正确的值,请参阅 https://docs.django.ac.cn/en/dev/ref/settings/#allowed-hosts 以获取更多详细信息。

  • 已添加新变量,允许部署者为 Ironic Conductor 启用 iPXE 支持,该支持使用 HTTP 而不是 TFTP,并且可以大大加快裸机配置速度。 要启用,只需将 ironic_ipxe_enabled 覆盖设置为 True

  • 添加了新变量 barbican_backends_configbarbican_plugins_config 以及 barbican.conf 清理,以支持多后端场景和更方便的 Barbican 后端配置。

  • 添加了变量 barbican_user_libraries,用于从部署主机部署自定义 lib 文件到 barbican 容器,这些文件可能需要用于 PKCS#11 或其他插件。

  • Openstack 服务和基础设施(如 galera、rabbitmq 和 memcached)已经在其 ansible 角色中具有默认值来控制这些服务绑定的 IP 地址。 在此版本之前,默认使用 0.0.0.0。 openstack-ansible 组变量中的全局设置现在会覆盖这些默认绑定地址,以成为相关主机或容器上 openstack 管理网络的本地地址。 绑定到管理网络 IP 的服务将无法通过其他接口访问。

  • 添加了变量 cinder_active_active_clustercinder_active_active_cluster_name,允许显式启用或禁用主动/主动功能,并设置集群名称。

  • 现在可以通过在您的服务中使用 haproxy_frontend_only 来拥有仅具有前端的服务。

  • 添加了 haproxy_frontend_raw 条目以控制前端的 haproxy 配置,该条目将被逐字复制到服务中。 您可以在 haproxy_frontend_raw 键下设置一个列表。

  • 添加了新的变量 haproxy_hatop_install,允许有条件地启用或禁用 hatop 的安装。

  • 添加了变量 haproxy_ssl_letsencrypt_certbot_challenge,默认值为 http-01。 目前仅在 http-01 中进行了测试,但我们为添加对更多挑战的支持留有空间,例如 dns-01。 对于 http-01,传递了所有必需的参数,但对于其他挑战,您可能需要使用 haproxy_ssl_letsencrypt_setup_extra_params 传递缺少的参数。

  • OpenStack-Ansible 现在提供了 corosync 和 pacemaker 集群设置作为 os-masakari-install playbook 的一部分。 Corosync/pacemaker 集群对于 masakari hostmonitors 的正常工作是必需的,因为它们使用 corosync 识别主机状态。

  • 添加了变量 nova_scheduler_extra_filters,允许扩展默认的 nova_scheduler_default_filters 列表

  • 已添加实验性支持,允许在 registration_hosts host group 中存在主机时部署 OpenStack Adjutant 服务。

  • 已添加实验性支持,允许在 senlin-infra_hosts host group 中存在主机时部署 OpenStack Senlin 服务。

  • 添加了变量 ceilometer_pipeline_default_file_path 以能够定义用户提供的 pipeline 文件,就像其他 ceilometer 配置一样。 为了避免部署 pipeline.yaml,您可以在用户变量中设置:_ceilometer_pipeline_yaml_overrides: {}

  • 该角色现在支持创建系统范围的凭据以及项目范围的凭据。 该角色的默认行为未更改,直到将 openrc_system_scope 变量设置为 true。 如果 openrc_system_scopetrue,clouds.yaml 中的默认云将设置为系统范围的凭据,并且另一个名为 default_project_scope 的凭据将使用项目范围的凭据创建。 由于在其他角色中使用 openrc 文件,因此相反的逻辑适用于 openrc 文件,这意味着如果 openrc_system_scope 设置为 true,openrc 中的凭据将设置为项目范围的凭据,并且另一个名为 openrc.system_scope 的 openrc 文件将被创建,其中包含系统范围的凭据,并将放置在 openrc_system_file_dest 变量的 destination 中。

  • 添加了变量 uwsgi_ini_overridesuwsgi_init_config_overrides,这些变量可能对部署者调整所有服务的某些 uwsgi 参数很有用,因此无需为每个服务使用一堆覆盖。

已知问题

  • Ubuntu Cloud Archive (UCA) 不包含 Victoria 的 Ubuntu Bionic distro 包,因此只有源安装/升级路径(默认)才能正确地适用于 Ubuntu 18.04。

升级说明

  • 删除 CONF.scenario.img_dir 选项,因为它在 ~4 年的弃用期后正在从 Tempest 中删除。 CONF.scenario.img_file 选项需要包含上传到 glance 的图像的完整路径。

  • 所有 openstack 服务和基础设施服务(如 galera、rabbitmq 和 memcached)的默认绑定地址已从 0.0.0.0 更改为相关主机或容器上 openstack 管理网络的 IP 地址。 部署者应确保任何期望与 OpenStack Ansible 部署的内部组件通信的其他系统都通过管理网络进行通信。 绑定到管理网络 IP 的服务将无法通过其他接口访问。

  • 遵循 distro 路径(从 distro 包而不是虚拟环境安装服务)的部署应在执行 OpenStack Ussuri -> Victoria 升级之前升级 Ubuntu 18.04 -> 20.04,因为 Ubuntu Cloud Archive 不为 18.04 提供 Victoria 系统包。

  • 移除了变量 haproxy_hatop_downloader,部署者应该使用 haproxy_hatop_download_url 覆盖,以便在互联网连接受限的部署中安装。

  • 不再需要在 haproxy_ssl_letsencrypt_setup_extra_params 中提供 http-01-addresshttp-01-port 选项,因为它们现在使用相应的变量 haproxy_ssl_letsencrypt_certbot_bind_addresshaproxy_ssl_letsencrypt_certbot_backend_port 进行配置。

  • 不再需要在 haproxy_extra_services 中保留 letsencrypt 服务,也不需要复制和维护整个 haproxy_default_services 以获取 horizon 的覆盖。 从现在开始,所需的调整默认提供,并且 letsencrypt 安装路径已简化。

  • nova_scheduler_default_filters 的字符串值转换为列表。 目前,对于被覆盖的字符串值,仍然存在兼容性,但此支持将在未来的版本中删除。 因此,建议部署者将他们的字符串覆盖替换为列表。

  • 我们更改了 ceilometer pipeline.yml 的部署方式。 现在我们使用覆盖来保留行为和默认值,但是您可能需要仔细检查是否与您当前的覆盖存在冲突。

  • 为了与 Centos-8 兼容,LXC 缓存准备已大大简化,以消除对 machinectl 和 btrfs 的要求,这是一种在 Centos-8 上不可用的组合。 这会产生副作用,即 machinectl 不再是 LXC 的受支持的后端存储。

弃用说明

  • 为了与 Centos-8 兼容,LXC 缓存准备已大大简化,以消除对 machinectl 和 btrfs 的要求,这是一种在 Centos-8 上不可用的组合。 这会产生副作用,即 machinectl 不再是 LXC 的受支持的后端存储。

  • Glance registry 服务最终已被删除

错误修复

  • 由于 Ubuntu 已经放弃了旧的基础镜像,导致所有之前的标签都已损坏,因此我们切换为始终下载最新的可用基础镜像。这应该保证我们只检索相关的镜像。

  • 在定义提供商网络时,不再需要 VLAN 范围。 如果未指定 VLAN 范围,提供商标签 net_name 仍然需要在 network_vlan_ranges 中设置,但将无法使用自动 VLAN 分配。

    实现示例

    host_bind_override: "bond1"
    type: "vlan"
    net_name: "physnet1"
    group_binds:
    - neutron_linuxbridge_agent
    

其他说明

  • HAProxy 现在通过 repo_sync_complete 文件验证 repo 服务器是否正常,该文件由 repo_server 角色创建。 这应该可以防止未同步的 repo 容器参与负载均衡。

  • pw-token-gen.py 脚本将始终生成 32 个字符的字符串,而不是在 24 或 32 个长度之间进行随机选择。