Ussuri 系列发布说明

21.2.10

安全问题

21.2.5

弃用说明

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

21.2.3

新特性

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

升级说明

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

21.2.1

新特性

  • 该角色现在支持创建系统范围的凭证以及项目范围的凭证。该角色的默认行为没有改变,直到将 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 变量的目标位置。

21.2.0

序言

这是一个小的错误修复版本,它带来了对角色的整体改进和错误修复。

新特性

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

  • 添加了 Magnum 的 keystone_auth_default_policy.json 文件的部署。

升级说明

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

  • Ironic Inspector 服务已升级到主版本,而不是 stable/ussuri 版本。这意味着在升级到此版本时,Inspector 版本将被降级,这可能会导致迁移出现问题。我们建议在升级 Inspector 之前确保您拥有完整的数据库备份,或者使用 10.4.0 标签覆盖 ironic_inspector_git_install_branch。

错误修复

  • 现在,在服务配置更改时,uWSGI 服务将被正确触发重启。

  • 如果库存中存在 ceilometer 或 designate 服务,则现在将启用通知。

  • 修复了对 CentOS 8 的 manila 支持。

  • 修复了 ceph_client 角色在 distro 安装中的问题

  • 修复了 Ubuntu Focal ceph 部署。

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

21.0.0

新特性

  • 添加了在 CentOS 8 上使用源代码和发行版安装部署 OpenStack 的支持。但是,由于 machinectl 依赖于已被 CentOS 放弃的 btrfs,因此无法提供 nspawn 支持。

  • 添加了在 Ubuntu Focal (20.04) 上使用源代码安装部署 OpenStack 的支持。目前,Focal 没有可用的 Ubuntu Cloud Archive,因此无法为 Focal 提供基于发行版软件包的安装。

  • 添加了新的参数 tempest_services,用于自动设置 tempest_service_available_{service_name} 变量。

  • 添加了一个新的 playbook os-zun-install.yml,它将把 zun 服务部署到分配给主机组 zun-infra_hosts 的主机。

  • OSA 使用的 ansible 版本已从 2.7 系列升级到 2.8 系列。这需要将 ceph-ansible 升级到 4.0,进而需要将 ceph 从 Mimic 升级到 Nautilus。这种版本依赖性适用于 OSA 直接使用 ceph-ansible 部署 ceph 基础设施的情况,但不适用于 OSA 与外部配置的 ceph 集群集成的情况。

  • 每个 openstack 服务角色都有一个新的变量 <role>_bind_address,默认值为 0.0.0.0。部署者可以使用全局覆盖 openstack_service_bind_address 在 group_vars 或 user_variables 中定义服务绑定的替代 IP 地址。此功能允许部署者将所有服务绑定到特定的网络,例如 openstack 管理网络。在本版本中,默认绑定仍然是 0.0.0.0,未来的版本可能会将绑定默认设置为管理网络。

  • 添加了通过定义 ceph_client_ceph_conf_overrides 变量来部分覆盖 ceph.conf 的可能性。它使用 OpenStack-Ansible 覆盖的常规格式。从现在开始,ansible 中应该存在 config_template 插件。

  • 如果定义了变量``ceph_keyrings_dir``,则从文件中获取 ceph 密钥环。目录中的所有文件都必须具有 .keyring 扩展名,并以其对应的 ceph_client 名称命名。例如,如果 cinder_ceph_clientcinder,则 cinder 密钥环文件必须命名为 cinder.keyring。每个文件必须包含用户名和密钥,仅此而已,以下是 cinder.keyring 内容的示例。

    
    

    [client.cinder] key = XXXXXXXXXXX

  • 现在可以部署多个 HAProxy 节点,并使用 keepalived 和 LetsEncrypt 证书进行 HA 配置。Certbot 可以作为 HAProxy 的后端服务,并且来自 LetsEncrypt 的 acme-challenge 请求可以被定向到运行证书更新的任何 HAProxy 服务器。定义了新的变量,用于前端 ACL 和传递给 Certbot 的选项,这些变量启用了此新功能,但所需的大部分配置是通过现有的 HAProxy 服务设置完成的。文档中提供了一个示例。

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

  • cloudkitty 的 keystone 服务设置现在将通过委托给 cloudkitty_service_setup_host 来执行,默认情况下为 localhost(部署主机)。部署者可以选择将其更改为实用程序容器,方法是在 user_variables.yml 中实现以下覆盖。

    cloudkitty_service_setup_host: "{{ groups['utility_all'][0] }}"
    
  • 对于 os_cloudkitty 角色,systemd unit TimeoutSec 值,该值控制在停止或重启服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间,已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重启或停止之前启动新的会话。控制服务停止和启动之间重启时间的值 RestartSec 已从 150 秒减少到 2 秒,以加快重启速度。可以使用 cloudkitty_*_init_config_overrides 变量来调整这些值,这些变量使用 config_template 任务来更改模板默认值。

  • galera_server 角色现在包含 galera_client 角色中的功能,并且可以选择安装客户端和服务器组件。这由两个布尔值控制,galera_install_server 和 galera_install_client,两者默认均为 false。

  • OpenStack-Ansible 现在支持在 Debian 10 (buster) 上部署。

  • 如果您使用 Ceph 作为后端存储,Cinder 将默认启用 Active-Active。

  • 传递给 openstack-ansible 的 –extra-vars 标志现在优先于 user-variables*.yml。

  • 添加了禁用仪表板中 openrc v2 下载的可能性。新的变量 horizon_show_keystone_v2_rc 可以设置为 False 以删除 openrc v2 下载的条目。

  • 添加了变量 magnum_cluster_templatesmagnum_flavors,这些变量允许部署者在角色执行期间定义 coe 集群模板和 nova flavor 的创建。这些变量可以包含要添加的资源列表。可以通过列表中的项目传递支持的 ansible 模块支持的所有键。

  • ceph_client 角色现在将查找并配置 manila 服务以与 ceph 和 cephfs 协同工作。

  • os_masakari 角色现在涵盖监视器的安装和配置,完成了完整的服务配置。

  • 添加了使用 mod_auth_openidc 代替 shibboleth 作为支持用户的服务提供商,这些用户更喜欢使用 OIDC 进行联合身份验证的支持。Mod_auth_openidc 是 keystone 文档中推荐的用于实现 openidc 的 apache 模块。添加了一个名为 apache_mod 的变量到 keystone_sp,如果未定义,shibboleth 将继续安装,前提是 keystone_sp 不为空。除非正确拼写 mod_auth_openidc,否则将不会安装它,任何拼写错误都将导致安装 shibboleth。请注意,在基于 Debian 的 metal 分发部署上安装 shibboleth 可能会破坏依赖于 libcurl4 的服务,因为 shib2 需要 libcurl3,并且它们无法共存。这可以在未来版本的 Ubuntu/Debian 中提供 shib3 包时解决。目前不支持同时使用 shibboleth2 和 mod_auth_openidc。

  • murano dashboard 在 Horizon 中可用。部署者可以通过设置以下 Ansible 变量来启用面板

    horizon_enable_murano_ui: True
    
  • 已实现 networking-generic-switch 机制驱动程序的支持。这允许 Ironic 在配置了 neutron 网络接口的 Neutron 时与 Neutron 接口。可以通过将 ml2.genericswitch 添加到 /etc/openstack_deploy/user_variables.yml 中的 neutron_plugin_types 列表来启用此功能。

  • 可以使用的覆盖 rabbitmq_memory_high_watermark 用于设置在触发垃圾回收之前,erlang 虚拟机允许的最大大小。默认值降低到 0.2,从 0.4,因为垃圾回收操作期间可能需要分配量的 2 倍。这可能导致相当于使用 0.4,导致内存使用量达到 40%,这对于 rabbitMQ 容器可见。原始默认设置 0.4 可能导致 rabbitMQ 内存分配达到 80%,可能导致底层 Linux 内核由于虚拟内存不足而杀死进程。

  • 该角色现在支持使用发行版软件包而不是 pip 软件包来获取 OpenStack 服务。默认情况下禁用此功能,可以通过简单地将 octavia_install_method 变量设置为 distro 来启用。

  • 支持为 RPC 和通知使用单独的 oslo.messaging 服务,以实现单独的不同消息传递后端服务器的操作。

  • 添加了两个新的变量用于所有组 - oslomsg_notify_policiesoslomsg_rpc_policies。这些变量包含默认的 rabbitmq 策略,这些策略将应用于每个 rabbitmq vhost。目前,它们将为所有 vhost 启用 [HA 模式](https://rabbitmq.cn/ha.html)。如果您想禁用 HA 模式,只需在 user_config.yml 中将这些变量设置为空列表即可。

  • os_cloudkitty 角色现在支持配置 apt/yum 任务是安装最新的可用软件包,还是只确保软件包存在。默认操作是确保安装最新的软件包。可以通过将 cloudkitty_package_state 设置为 present 来更改执行的操作。

  • 部署现在将在操作系统中存在 python3 解释器时默认使用 python3。每个 openstack-ansible 角色都有一个新的变量,形式为 <role>_venv_python_executable,默认值为 python2,但 openstack-ansible 组变量中的全局变量 openstack_venv_python_executable 在支持的操作系统上将其设置为 python3。这使得部署者可以根据需要选择性地使用 python2 或 python3 为每个服务。如果可能,ansible-runtime venv 也使用 python3 在部署主机上创建。

  • 添加了变量 horizon_session_enginehorizon_session_caches,可用于配置 horizon 会话引擎及其后端。

  • 已在 gate-check-commit 脚本使用的引导函数中添加了几个环境变量。这些变量可用于在 gate-check-commit 或 bootstrap-ansible 脚本执行期间跳过引导的各个阶段。

    添加的环境变量是

    • SKIP_OSA_RUNTIME_VENV_BUILD:跳过 bootstrap-ansible.sh 中 OSA ansible venv 的引导。

    • SKIP_OSA_BOOTSTRAP_AIO:跳过 gate-check-commit 中 bootstrap-aio playbook 的执行。

    • SKIP_OSA_ROLE_CLONE:跳过 bootstrap-ansible.sh 脚本中 get-role-requirements-playbook 的执行。

  • 添加了新的变量 tempest_tempestconf_profile_extras,它允许在无需覆盖所有现有键的情况下扩展 tempest_tempestconf_profile 字典。 tempest_tempestconf_profile_extras 具有比 tempest_tempestconf_profile 更高的优先级。 例如,它可以用于定义额外的镜像或其格式。

  • galera_server 角色现在使用 mariabackup 来完成 SST 操作,因为这是 MariaDB 推荐的选择。

  • galera_server 角色现在附带最新的 MariaDB 版本 10.3.13。

  • 所有角色都已从使用常规日志文件迁移到 systemd-journald。

  • 部署者可能需要在他们的 openstack 主机或服务容器上安装自定义 CA 证书。添加了一个新的变量 openstack_host_ca_certificates,它是一个应该从部署主机复制到目标主机的证书列表。可以通过在 user_variables.yml 或主机/组变量中定义该变量来选择性地部署证书。

  • 现在提供了一个新的可选文件 /etc/openstack_deploy/user-role-requirements.yml,供部署者覆盖上游 ansible-role-requirements 文件中的单个条目。这可用于指向包含本地修复的替代仓库,或添加未在标准 ansible-role-requirements 中指定的补充 ansible 角色。

已知问题

  • 由于定义 backend_host 的方式发生了变化,在使用 Ceph 时,所有 Cinder 卷都将在相同的后端名称下重启。这意味着之前分配给托管该卷的主机或容器的任何卷将不再可管理。解决方法是使用 cinder-manage volume update_host 命令将这些卷移动到新的后端主机。此已知问题将很快通过升级 playbook 解决。

  • journald-remote 在 setup-infrastructure 内部的执行被禁用,直到 https://github.com/systemd/systemd/issues/2376 包含在当前的 systemd 包中。可以通过将 journald_remote_enabled 设置为 True 来启用该 playbook

  • 以前跨所有部署使用通用的 backend_host 的方式不被 Cinder 团队推荐,并且会导致重复消息,从而在环境中引起问题。

升级说明

  • 使用 OSA/ceph-ansible 工具部署的任何 ceph 基础设施组件(OSD、MON 等)都将被升级到 Ceph Nautilus 版本。部署者应在开始升级到 Train 的重大升级之前,验证此升级是否适合他们的环境,并查阅 ceph-ansible 和 ceph Nautilus 版本说明。对于与外部 ceph 集群集成的 OSA,OSA 不部署任何 ceph 集群基础设施,可以使用覆盖来选择 OSA ceph_client ansible 角色使用的特定版本的 ceph 仓库。

  • 已删除变量 uca_repo。如果部署者希望定义额外的仓库,建议使用 user_external_repos_list 代替。变量 uca_apt_repo_url 已重命名为 apt_repo_url,以对应其用法,因为它现在也影响 Debian 部署。

  • 现在使用 blockinfile ansible 模块生成 /etc/hosts 的记录。在升级期间,您的 /etc/hosts 中的记录将重复,因为如果 openstack_host_manage_hosts_file 设置为 true,我们不会为了安全起见删除先前创建的记录。

  • 对于 os_cloudkitty 角色,systemd unit TimeoutSec 值,该值控制在停止或重启服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间,已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重启或停止之前启动新的会话。控制服务停止和启动之间重启时间的值 RestartSec 已从 150 秒减少到 2 秒,以加快重启速度。可以使用 cloudkitty_*_init_config_overrides 变量来调整这些值,这些变量使用 config_template 任务来更改模板默认值。

  • galera_server 角色现在包含 galera_client 角色中的功能,因此 galera_client defaults 中的许多变量现在可以在 galera_server 角色 defaults 中覆盖。此外,许多默认变量已被泛化,删除了特定于 _client__server_ 的名称部分。此角色的用户应检查他们正在使用的任何覆盖是否具有新组合角色的正确变量名称。

  • 在 OpenStack-Ansible Train 版本中,您应该将您的 Debian 从 9 (stretch) 升级到 10 (buster)。Debian 9 支持将在 OpenStack-Ansible 的下一个版本(Ussuri)中弃用。

  • 已放弃 Python 2.7 支持。OpenStack Train 是支持 python 2.7 的 openstack ansible 的最后一个版本。

  • 您可能需要使用 cinder-manage 命令将卷迁移到特定的主机。此外,您将需要删除旧的 rbd:volumes 服务,该服务将是陈旧的。

  • ceph_client 角色中的变量 libvirt_package 已重命名为 libvirt_packages,并从字符串转换为列表。

  • rabbitmq 高水位线设置为 0.2 而不是 0.4,以防止可能的 OOM 情况,这限制了 rabbitMQ 可以使用的最大内存量为内存的 40%,而不是 rabbitMQ 容器可见的 80%。可以使用覆盖 rabbitmq_memory_high_watermark 来更改限制。

  • 默认 nova 控制台类型已更改为 novnc。Spice 仍然受支持,但由于 novnc 维护更积极,因此现在是更好的默认选项。

  • cloudkitty 及其依赖的 pip 包的安装现在将仅在 Python 虚拟环境中进行。已删除 cloudkitty_venv_bincloudkitty_venv_enabled 变量。

  • os_cloudkitty 角色在执行时始终会检查是否安装了最新软件包。如果部署者希望更改检查方式,仅验证软件包的存在性,则应将选项 cloudkitty_package_state 设置为 present

  • 新的虚拟环境将使用 python3 创建,从而在重大升级期间实现从 python2 到 python3 的平稳过渡。部署主机上的 ansible-runtime 虚拟环境也将从 python2 升级到 python3,前提是操作系统允许。

  • 默认的 Mnesia dump_log_write_threshold 值已更改为 300,而不是 100,以提高效率。 dump_log_write_threshold 指定允许写入事务日志的最大写入次数,然后执行日志的新转储。 增加此值可以在队列/交换机/绑定创建/销毁期间提高性能。 该值应在 100 到 1000 之间。 更多详情 [1]。

    [1] https://erlang.org.cn/doc/man/mnesia.html#dump_log_write_threshold

  • 为了使用新的选项 rabbitmq_port_bindings 直接配置绑定地址和端口,已移除选项 rabbitmq_disable_non_tls_listeners。 此新选项是一个哈希,允许进行多个绑定地址和端口配置。

  • 仓库服务器不再使用 pypiserver,因此已将其移除。 随之而来,以下变量也被移除。

    • repo_pypiserver_port

    • repo_pypiserver_pip_packages

    • repo_pypiserver_package_path

    • repo_pypiserver_bin

    • repo_pypiserver_working_dir

    • repo_pypiserver_start_options

    • repo_pypiserver_init_overrides

  • 变量 cloudkitty_requirements_git_repocloudkitty_requirements_git_install_branch 已被移除,转而使用变量 pip_install_upper_constraints 来使用 upper-constraints 文件的 URL/路径。

  • 以下 Nova 可调参数已被移除,用户需要开始使用 nova_nova_conf_overrides 字典来覆盖它们。如果之前未覆盖这些值,则无需覆盖它们。 - nova_quota_cores - nova_quota_injected_file_content_bytes - nova_quota_injected_file_path_length - nova_quota_injected_files - nova_quota_instances - nova_quota_key_pairs - nova_quota_metadata_items - nova_quota_ram - nova_quota_server_group_members - nova_quota_server_groups - nova_max_instances_per_host - nova_scheduler_available_filters - nova_scheduler_weight_classes - nova_scheduler_driver - nova_scheduler_driver_task_period - nova_rpc_conn_pool_size - nova_rpc_thread_pool_size - nova_rpc_response_timeout - nova_force_config_drive - nova_enable_instance_password - nova_default_schedule_zone - nova_fatal_deprecations - nova_resume_guests_state_on_host_boot - nova_cross_az_attach - nova_remove_unused_resized_minimum_age_seconds - nova_cpu_model - nova_cpu_model_extra_flags

  • 以下 Nova 变量已被移除,因为它们在 Nova 的当前版本中无效。 - nova_max_age - nova_osapi_compute_workers - nova_metadata_workers

  • SESSION_ENGINE 默认已更改为 memcached。因此,horizon 不再需要它自己的数据库来存储会话信息。 horizon_galera_* 变量现在无效。

  • Tacker 角色现在使用默认的 systemd_service 角色。 因此,不再支持 upstart。 添加了变量 tacker_init_config_overrides,部署者可以使用它来覆盖预定义的选项。 此外,变量 program_override 现在无效,并且 tacker_service_names 已被移除,取而代之的是 tacker_service_name。

  • Gnocchi 已从使用 Apache mod_wsgi 或本机守护进程迁移到 uWSGI 守护进程。这意味着某些变量不再可用且无效,具体如下: * gnocchi_use_mod_wsgi * gnocchi_apache_* * gnocchi_ssl*(除 gnocchi_ssl_external 之外 - 它仍然存在) * gnocchi_user_ssl_*

    在升级过程中,角色将从 apache 监听器(ports.conf)和 gnocchi 虚拟主机中删除 gnocchi_service_port,默认情况下这意味着配置错误的 apache 服务(因为它将没有任何监听器),除非它是 aio 构建,并且该 apache 服务器被其他角色/服务使用。Apache 服务器不会从 gnocchi_api 主机中删除,因此鼓励部署者手动删除它。

  • Panko 已从使用 Apache mod_wsgi 或本机守护进程迁移到 uWSGI 守护进程。这意味着 panko_apache_* 变量不再可用且无效。

    在升级过程中,角色将从 apache 监听器(ports.conf)和 panko 虚拟主机中删除 panko_service_port,默认情况下这意味着配置错误的 apache 服务(因为它将没有任何监听器),除非它是 aio 构建,并且该 apache 服务器被其他角色/服务使用。Apache 服务器不会从 panko_api 主机中删除,因此鼓励部署者手动删除它。

弃用说明

  • ceph_client 角色中,ceph_pkg_source 的唯一有效值现在是 cephdistro。 对于 Ubuntu,Ubuntu Cloud Archive apt 源已经由 openstack_hosts 角色设置,因此无需由 ceph_client 角色再次设置。

  • 变量 cloudkitty_requires_pip_packages 已不再需要,因此已被移除。

  • 由于 MariaDB 不再推荐,因此已移除 galera_server 角色中的压缩选项。 这意味着来自 Percona 的所有依赖项,例如 QPress,不再是必需的。

  • 以下变量已被移除,因为它们不再使用。 * galera_percona_xtrabackup_repo * use_percona_upstream * galera_xtrabackup_compression * galera_server_percona_distro_packages

  • 变量 galera_xtrabackup_threads 已重命名为 galera_mariabackup_threads,以反映 SST 提供程序的更改。

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

  • PowerVM 驱动程序已被移除,因为它未经测试,并且自 2016 年底以来一直存在问题,因为驱动程序名称已重命名为 powervm_ext,而不是 powervm。

  • 已删除遗留 neutron L3 工具的支持。建议部署者使用内置的 l3-agent 选项来配置 HA。

  • Fedora 不再在 CI 中为每次提交进行测试。

  • 日志路径 /var/log/cloudkitty 不再用于捕获服务日志。cloudkitty 服务的全部日志记录现在将直接发送到 systemd journal。

  • 已从 Neutron 角色中移除已弃用的 Neutron LBaaS v2 插件。

  • 已从 openstack-ansible 中移除对已弃用的 Neutron LBaaS v2 插件的支持。

  • nova-placement-api 已从 os_nova 角色中移除,以及所有 nova_placement_* 变量。请查看 os_placement 角色,了解有关如何配置新的 placement 服务的信息。

  • rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数取代,以便将消息传递服务与实际后端服务器部署抽象化。 - cloudkitty_oslomsg_rpc_servers 替换 rabbitmq_servers - cloudkitty_oslomsg_rpc_port 替换 rabbitmq_port - cloudkitty_oslomsg_rpc_userid 替换 rabbitmq_userid - cloudkitty_oslomsg_rpc_vhost 替换 rabbitmq_vhost - cloudkitty_oslomsg_rpc_use_ssl 替换 rabbitmq_use_ssl - 添加 cloudkitty_oslomsg_notify_servers - 添加 cloudkitty_oslomsg_notify_port - 添加 cloudkitty_oslomsg_notify_use_ssl - 添加 cloudkitty_oslomsg_notify_userid - 添加 cloudkitty_oslomsg_notify_vhost

  • rabbitmq_install_method: file 现在已弃用,将在 Wallaby 版本中移除。目前支持的选项仅有 external_repodistro。与此同时,以下变量已弃用并准备移除

    • rabbitmq_package_url

    • rabbitmq_package_sha256

    • rabbitmq_package_path

    变量 rabbitmq_release_version 已被移除,因为不再使用。

  • nova-lxd 驱动程序不再受上游支持,并且其源代码的 git 仓库已在主分支上退役。所有部署或测试 nova-lxd 的代码都已从 os_nova ansible 角色中移除。已移除以下变量

    • nova_supported_virt_types ‘lxd’ 列表条目

    • nova_compute_lxd_pip_packages

    • lxd_bind_address

    • lxd_bind_port

    • lxd_storage_backend

    • lxd_trust_password

    • lxd_storage_create_device

  • 移除 netloc、netloc_no_port 和 netorigin 过滤器。请使用 urlsplit 过滤器。openstack 仓库中所有已弃用过滤器的用法都已更新。

  • 移除 PKI 令牌支持和 cloudkitty_signing_dir 参数。

  • py_pkgspackages_file Ansible 查找不再在 OSA 中使用,并且已从插件仓库中移除。

  • 由于 oslo.messaging 中 rpc_backend 选项已弃用,因此移除 cloudkitty_rpc_backend 选项。

  • 由于缺乏资源来维护可靠的 CI 作业,openSUSE 在 Ussuri 中的支持已从完全支持转移到实验性。zuul 作业已移动到非投票状态。支持将在 Victoria 周期中完全移除。

  • 由于使用 systemd-journald,/openstack/log/ 到 /var/log/$SERVICE 的映射不再存在。此外,由于日志存储在 journald 中,因此不再调用 rsyslog_client 角色。此外,诸如 service_log_dir 之类的变量不再受支持且无效。

错误修复

  • 在计算节点上运行的 ceilometer-polling 服务没有配置轮询命名空间。 因此,它们使用了默认值,即从中央和计算命名空间运行所有轮询器。 但是,来自中央命名空间的轮询器不必在每个计算节点上运行。 通过仅在计算节点上运行计算轮询器来修复此问题。

  • RyuBgpDriver 不再可用,并被 neutron_dynamic_routing 项目的 OsKenBgpDriver 取代。

  • 在使用 tempest_tempest_conf_overrides 时,它可能有 2 种不同的格式:一种用于 config_template,另一种用于 tempestconf.profile。现在,对于 tempestconf.profile 覆盖,应使用 tempest_tempestconf_profile_overrides 变量。

其他说明

  • Ubuntu Trusty (14.04) 支持现在已从 os_cloudkitty 角色中移除。