Rocky 系列发布说明¶
18.1.15¶
新特性¶
添加了禁用仪表板中 openrc v2 下载的可能性。新的变量
horizon_show_keystone_v2_rc可以设置为False以删除 openrc v2 下载的条目。
18.1.8¶
新特性¶
增加了一个新选项,允许部署者禁用给定主机上的任何和所有容器。该选项 no_containers 是一个布尔值,如果未定义,则默认值为 false。此选项可以添加到 openstack_user_config.yml 中的任何主机,或通过在 conf.d 中的覆盖来实现。当此选项设置为 true 时,给定主机将被视为裸机。这个新选项镜像了现有的环境变量 is_metal,但允许部署者针对特定主机而不是整个组。
log_hosts: infra-1: ip: 172.16.24.2 no_containers: true
升级说明¶
删除了变量
tempest_image_dir_owner,转而使用默认 ansible 用户来创建镜像目录。
ceph_gpg_keys的数据结构已更改为字典列表,每个字典直接传递给适用的 apt_key/rpm_key 模块。因此,任何覆盖都需要进行审查,以确保它们不会传递任何导致模块失败的键/值对。
ceph_gpg_keys的默认值已更改为所有受支持的平台,现在使用自带的密钥。这意味着任务执行将不再访问互联网以添加密钥,从而使离线或基于代理的安装更容易、更可靠。
可以覆盖新值
epel_gpg_keys以使用不同的 GPG 密钥来代替默认使用的 EPEL-7 RPM 包仓库的自带密钥。
18.1.6¶
新特性¶
添加了对 Mistral 的支持,使其作为仓库构建过程的一部分进行构建。
添加了
os-mistral-install.yml文件,以将 mistral 部署到标记为 hostgroupmistral_all的主机。
Cinder 调度器的已启用过滤器列表,scheduler_default_filters 在 cinder.conf 中,先前只能通过
cinder_cinder_conf_overrides中的条目定义。现在,您可以选择定义一个列表变量,cinder_scheduler_default_filters,该变量定义了启用的过滤器。如果想要禁用默认启用的过滤器(撰写本文时,这些过滤器为 AvailabilityZoneFilter、CapacityFilter 和 CapabilitiesFilter),或者相反地,想要添加通常未启用的过滤器,例如 DifferentBackendFilter 或 InstanceLocalityFilter,这将很有帮助。例如,要启用 InstanceLocalityFilter 以及通常启用的调度器过滤器,请使用以下变量。
cinder_scheduler_default_filters: - AvailabilityZoneFilter - CapacityFilter - CapabilitiesFilter - InstanceLocalityFilter
弃用说明¶
先前有一个环境变量 (
ANSIBLE_ROLE_FETCH_MODE) 用于设置 ansible-role-requirements.yml 中的角色是使用 ansible-galaxy 还是使用 git 获取,但是由于使用ceph-ansible仓库进行 ceph 部署,使用 ansible-galaxy 下载角色无法正常工作,默认值已经为 git 一段时间了。因此,此功能已被删除。
18.1.5¶
新特性¶
部署者现在可以使用选项
public设置为 true 或 false,显式地将 cinder 后端卷类型定义为私有或公共。
已知问题¶
可用 inotify 监视实例的数量受系统范围内的 sysctl 设置限制。某些进程,例如 pypi-server 或来自 ops 仓库的 elasticsearch,可能会消耗大量 inotify 监视实例。如果达到系统范围内的最大值,则主机或主机上的任何容器中的任何进程都将无法创建新的 inotify 监视实例。Systemd 使用 inotify 监视实例,如果没有可用实例,则无法重启服务。同步仓库服务器内容的进程也依赖于 inotify 监视实例。如果仓库服务器无法同步,或者服务未按预期重启,请检查在 fs.inotify.max_user_watches 中定义的 inotify 监视实例限制。已经合并了补丁来增加这些限制,但是对于现有环境或尚未升级到足够新点发布的那些环境,可能需要手动应用增加的限制。
错误修复¶
修复 neutron HA 路由器,通过启用
neutron-l3-agent调用所需的辅助脚本。
18.1.4¶
新特性¶
现在可以使用
security_ntp_server_options修改 chrony 中的 NTP 服务器选项。
Chrony 获得了一个新的配置选项,可以使用
security_ntp_sync_rtc变量将系统时钟同步回 RTC。默认情况下禁用。
升级说明¶
galera_gpg_keys的数据结构已更改为传递给适用的 apt_key/rpm_key 模块的字典。因此,任何覆盖都需要进行审查,以确保它们不会传递任何导致模块失败的键/值对。
galera_gpg_keys的默认值已更改为所有受支持的平台,将使用自带的密钥。这意味着任务执行将不再访问互联网以添加密钥,从而使离线或基于代理的安装更容易、更可靠。
rabbitmq_gpg_keys的数据结构已更改为传递给适用的 apt_key/rpm_key 模块的字典。因此,任何覆盖都需要进行审查,以确保它们不会传递任何导致模块失败的键/值对。
rabbitmq_gpg_keys的默认值已更改为所有受支持的平台,将使用自带的密钥。这意味着任务执行将不再访问互联网以添加密钥,从而使离线或基于代理的安装更容易、更可靠。
弃用说明¶
为了更好地反映其目的,已实施以下变量名称更改。
lxc_host_machine_quota_disabled->lxc_host_btrfs_quota_disabledlxc_host_machine_qgroup_space_limit->lxc_host_btrfs_qgroup_space_limitlxc_host_machine_qgroup_compression_limit->lxc_host_btrfs_qgroup_compression_limit
错误修复¶
在使用带有写时复制后端的 LXC 容器时,由于带有
nspawn_host_前缀的未定义变量,lxc_hosts角色执行失败。现在已修复此问题。
在 https://review.openstack.org/582633 中,对
openstack-ansible包装器进行了一项调整,该调整错误地更改了预期行为。该包装器仅应包含 extra-vars 并调用 inventory,如果从openstack-ansible仓库克隆(通常为/opt/openstack-ansible)内部执行ansible-playbook,但所做的更改使路径无关紧要。现在已修复此问题 -ansible-playbook和ansible只有在从 git 克隆路径内部调用时才会调用 inventory 并包含 extra vars。
18.1.3¶
新特性¶
现在可以使用 nova_nfs_client 变量使用 NFS 挂载点,这对于使用 NFS 作为实例数据和保存很有用。
升级说明¶
galera_client_gpg_keys的数据结构已更改为传递给适用的 apt_key/rpm_key 模块的字典。因此,任何覆盖都需要进行审查,以确保它们不会传递任何导致模块失败的键/值对。
galera_client_gpg_keys的默认值已更改为所有受支持的平台,将使用自带的密钥。这意味着任务执行将不再访问互联网以添加密钥,从而使离线或基于代理的安装更容易、更可靠。
18.1.1¶
新特性¶
此角色现在可以选择启用计算节点的 KVM 内核模块嵌套虚拟化功能,方法是将 nova_nested_virt_enabled 设置为 true。根据您的发行版和 libvirt 版本,您可能需要设置其他变量才能完全启用嵌套虚拟化。有关详细信息,请参阅 https://docs.openstack.org/nova/2025.2/admin/configuration/hypervisor-kvm.html#nested-guest-support。
现在可以在
nova_virt_types字典变量(通常为kvm)下的相应条目中设置 Libvirt CPU 模型和特征标志。nova_cpu_model是一个字符串值,用于设置 CPU 模型;如果将任何nova_cpu_mode设置为custom以外的值,则会忽略此值。nova_cpu_model_extra_flags是一个列表,允许您指定使用host-model或您选择的customCPU 模型未传递的额外 CPU 特征标志。
升级说明¶
如果您的配置先前在
nova_nova_conf_overrides字典中设置了libvirt/cpu_model和/或libvirt/cpu_model_extra_flags变量,则应考虑将这些变量移动到nova_cpu_model和nova_cpu_model_extra_flags在nova_virt_types字典的相应条目(通常为kvm)中。
错误修复¶
随着 CentOS 7.6 的发布,部署中断并变得非常缓慢,因为我们在尝试捕获一些 PolicyKit 更改时重启了 dbus。但是,这些更改实际上从未被使用,因此它们是毫无理由的。我们不再对 systemd-machined 配置和/或 PolicyKit 进行任何修改,以保持上游兼容性。
18.1.0¶
新特性¶
Horizon 自 OSA 诞生以来,一直以启用 HTTPS 访问的方式部署,并且没有关闭它的方法。某些用例可能希望通过 HTTP 访问,因此此补丁启用了以下功能。
通过负载均衡器通过 HTTPS 侦听,但通过 horizon 主机通过 HTTP 侦听,并让负载均衡器转发正确的标头。由于负载均衡器的存在,它将在集成构建中默认执行此操作,因此保留了当前行为。
在没有负载均衡器的情况下,在 horizon 主机上启用 HTTPS。这是角色的默认行为,与它一直以来所做的一样。
通过设置
haproxy_ssl: no(这将禁用 haproxy 上的 https)完全禁用 HTTPS。此设置默认情况下被新的horizon_enable_ssl变量继承。这是一个新选项。
已知问题¶
最初期的
stable/rocky版本 (18.0.x) 包含对 ceph-ansible role 的预发布状态的引用 (其 3.2.0beta1 版本)。该 role — 因此,任何在 18.1.0 之前的 OpenStack-Ansiblestable/rocky版本 — 都不应用于部署生产 Ceph 集群。从这个版本开始,stable/rocky跟踪 ceph-ansible role 的stable-3.1分支。
升级说明¶
使用
ceph-ansiblerole (即应用ceph-install.yml或ceph-rgw-install.ymlplaybook) 的配置,如果在升级到之前的stable/rocky版本,应该仔细检查。这些版本发布了一个ceph-ansible的预发布版本,该版本被意外地包含在ansible-role-requirements.yml中。
变量
ceilometer_oslomsg_rpc_servers和ceilometer_oslomsg_notify_servers已被移除,取而代之的是使用ceilometer_oslomsg_rpc_host_group和ceilometer_oslomsg_notify_host_group。
弃用说明¶
repo 服务器上的软件包缓存已被移除。如果需要缓存软件包,应该在 OpenStack-Ansible 之外进行设置,并且可以使用变量
lxc_container_cache_files(对于 LXC 容器) 或nspawn_container_cache_files_from_host(对于 nspawn 容器) 将适当的主机配置从主机复制到容器中。或者,可以在容器创建之前在主机 /etc/environment 文件中设置环境变量,或者在deployment_environment_variables中设置正确的变量来使用它。以下变量已被移除。repo_pkg_cache_enabledrepo_pkg_cache_portrepo_pkg_cache_bindrepo_pkg_cache_dirnamerepo_pkg_cache_dirrepo_pkg_cache_ownerrepo_pkg_cache_group
错误修复¶
对
ansible-role-requirements.yml中ceph-ansiblerole 的引用已修复,指向该 role 的stable-3.1分支的当前HEAD。之前它指向预发布 3.2.0beta1 版本。
安全组规则的配额被错误地设置为 100,目的是为每个安全组拥有 100 条安全组规则,而不是 100 * #安全组规则。此补丁修复了此差异。
18.0.0¶
新特性¶
已添加对在 Ubuntu 18.04 LTS 主机上部署的支持。最显著的变化是 LXC 的主要版本从 2.x 升级到 3.x,这弃用了容器配置文件中先前使用的某些元素。
可以通过使用
glance_cors_allowed_origin变量指定允许的来源地址来配置 Glance 以允许跨域请求。默认情况下,这将是负载均衡器的地址。
添加了对 horizon octavia-ui 仪表板的支持。如果定义了任何 octavia 主机,仪表板将自动启用。如果同时启用了 Neutron LBaaSv2 和 Octavia,则 Horizon 中将显示两个负载均衡器面板。
部署人员现在可以将
container_tech设置为 nspawn,以便在容器内部署 OSA。在决定部署容器类型时,部署人员只需要定义所需的container_tech并继续正常部署即可。
添加
container_tech选项并包含 nspawn 支持,现在部署人员可以全局或在特定主机上定义所需的容器化策略。
使用 nspawn 驱动程序时,容器将使用 MACVLAN 连接到系统桥接,有关这种类型的网络设置的更多信息,请参见 此处。
使用 nspawn 驱动程序时,容器网络由 systemd-networkd 在主机和容器内管理。这为我们提供了一个单一的接口来管理,无论发行版如何,并允许 systemd 有效地管理资源。
keystone 中 aodh 的服务设置现在将通过委托给
aodh_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。aodh_service_setup_host: "{{ groups['utility_all'][0] }}"
keystone 中 barbican 的服务设置现在将通过委托给
barbican_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。barbican_service_setup_host: "{{ groups['utility_all'][0] }}"
当
venvwithindex=True和ignorerequirements=True都在rally_git_install_fragments中指定 (如之前默认),这将导致 rally 从 PyPI 安装,而没有任何约束条件。这会导致每天构建不一致,并可能由于新的库发布导致稳定实现构建失败。今后,我们将删除rally_git_*在playbooks/defaults/repo_packages/openstack_testing.yml中的覆盖,以便集成构建从 PyPI 安装 rally,但应用适当的约束条件。
当 venvwithindex=True 和 ignorerequirements=True 都在 tempest_git_install_fragments 中指定 (如之前默认),这将导致 tempest 从 PyPI 安装,而没有任何约束条件。这可能导致集成构建中安装的 tempest 版本与独立角色测试中安装的版本不同。今后,我们将删除 tempest_git_* 在 playbooks/defaults/repo_packages/openstack_testing.yml 中的覆盖,以便集成构建从 PyPI 安装 tempest,但应用适当的约束条件。
keystone 中 ceilometer 的服务设置现在将通过委托给
ceilometer_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。ceilometer_service_setup_host: "{{ groups['utility_all'][0] }}"
Octavia 需要 SSL 证书才能与 amphora 进行通信。这添加了为此目的自动创建自签名证书。它为 amphora 和控制平面使用不同的证书颁发机构,从而确保最大程度的安全性。
keystone 中 cinder 的服务设置现在将通过委托给
cinder_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。cinder_service_setup_host: "{{ groups['utility_all'][0] }}"
如果定义在适用的主机或组变量中,变量
container_extra_networks将与动态库存中的现有container_networks合并。这允许部署人员指定可能特定于单个容器的特殊接口。此功能的示例用法是将已知的固定 IP 地址应用于 BIND 服务器的公共接口,用于 designate。
添加了选项
repo_venv_default_pip_packages,它允许部署人员根据需要将任何软件包插入服务 venv。该选项期望一个有效的 python 包名字符串列表,如在 PYPI 中找到。
keystone 中 designate 的服务设置现在将通过委托给
designate_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。designate_service_setup_host: "{{ groups['utility_all'][0] }}"
os_horizonrole 现在支持分发用户自定义主题。部署人员可以使用horizon_custom_themes字典的新键theme_src_archive来提供存档主题的绝对路径。仅支持 .tar.gz、.tgz、.zip、.tar.bz、.tar.bz2、.tbz、.tbz2 存档。存档内的结构应为标准主题,没有前导文件夹。
添加了选项
rabbitmq_erlang_version_spec,允许部署人员设置给定安装中使用的 erlang 版本。
Octavia 正在创建虚拟机、安全组和其他内容在其项目中的。在大多数情况下,默认配额不够大。这将调整它们为 (可配置的) 合理值。
keystone 中 glance 的服务设置现在将通过委托给
glance_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。glance_service_setup_host: "{{ groups['utility_all'][0] }}"
keystone 中 gnocchi 的服务设置现在将通过委托给
gnocchi_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。gnocchi_service_setup_host: "{{ groups['utility_all'][0] }}"
keystone 中 heat 的服务设置现在将通过委托给
heat_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。heat_service_setup_host: "{{ groups['utility_all'][0] }}"
keystone 中 horizon 的服务设置现在将通过委托给
horizon_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。horizon_service_setup_host: "{{ groups['utility_all'][0] }}"
keystone 中 ironic 的服务设置现在将通过委托给
ironic_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。ironic_service_setup_host: "{{ groups['utility_all'][0] }}"
keystone 的服务更新现在将通过委托给
keystone_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。keystone_service_setup_host: "{{ groups['utility_all'][0] }}"
keystone 中 magnum 的服务设置现在将通过委托给
magnum_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。magnum_service_setup_host: "{{ groups['utility_all'][0] }}"
与其将镜像下载到 magnum API 服务器,现在镜像将下载到
magnum_service_setup_host到magnum_image_path中设置的文件夹,该文件夹由magnum_image_path_owner拥有。
keystone 中 neutron 的服务设置现在将通过委托给
neutron_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。neutron_service_setup_host: "{{ groups['utility_all'][0] }}"
keystone 中 nova 的服务设置现在将通过委托给
nova_service_setup_host来执行,默认情况下为localhost(部署主机)。部署人员可以选择将其更改为实用程序容器,方法是在user_variables.yml中实施以下覆盖。nova_service_setup_host: "{{ groups['utility_all'][0] }}"
Keystone 中 Octavia 的服务设置现在将通过委托到
octavia_service_setup_host执行,默认情况下为localhost(部署主机)。部署者可以选择将其更改为实用程序容器,方法是在user_variables.yml中实现以下覆盖。octavia_service_setup_host: "{{ groups['utility_all'][0] }}"
部署者现在可以将
install_method设置为source(默认)或distro,以选择在主机上安装 OpenStack 服务的安装方法。这仅适用于新的部署。基于源代码的现有部署无法转换为新的distro方法。有关更多信息,请参阅 部署指南。
该角色现在支持使用发行版软件包代替 pip 软件包来安装 OpenStack 服务。此功能默认禁用,只需将
heat_install_method变量设置为distro即可启用。
该角色现在支持使用发行版软件包代替 pip 软件包来安装 OpenStack 服务。此功能默认禁用,只需将
cinder_install_method变量设置为distro即可启用。
该角色现在支持使用发行版软件包代替 pip 软件包来安装 OpenStack 服务。此功能默认禁用,只需将
glance_install_method变量设置为distro即可启用。
该角色现在支持使用发行版软件包代替 pip 软件包来安装 OpenStack 服务。此功能默认禁用,只需将
aodh_install_method变量设置为distro即可启用。
该角色现在支持使用发行版软件包代替 pip 软件包来安装 OpenStack 服务。此功能默认禁用,只需将
designate_install_method变量设置为distro即可启用。
该角色现在支持使用发行版软件包代替 pip 软件包来安装 OpenStack 服务。此功能默认禁用,只需将
swift_install_method变量设置为distro即可启用。
该角色现在支持使用发行版软件包代替 pip 软件包来安装 OpenStack 服务。此功能默认禁用,只需将
nova_install_method变量设置为distro即可启用。
该角色现在支持使用发行版软件包代替 pip 软件包来安装 OpenStack 服务。此功能默认禁用,只需将
ceilometer_install_method变量设置为distro即可启用。
该角色现在支持使用发行版软件包代替 pip 软件包来安装 OpenStack 服务。此功能默认禁用,只需将
barbican_install_method变量设置为distro即可启用。
该角色现在支持使用发行版软件包代替 pip 软件包来安装 OpenStack 服务。此功能默认禁用,只需将
keystone_install_method变量设置为distro即可启用。
该角色现在支持使用发行版软件包代替 pip 软件包来安装 OpenStack 服务。此功能默认禁用,只需将
neutron_install_method变量设置为distro即可启用。
该角色现在支持使用发行版软件包代替 pip 软件包来安装 OpenStack 服务。此功能默认禁用,只需将
nova_install_method变量设置为distro即可启用。
openrc 角色将不再在所有 OpenStack 服务容器/主机上执行。而是通过使用
openstack_service_setup_host变量指定单个主机。默认值为localhost(部署主机)。部署者可以选择将其更改为实用程序容器,方法是在user_variables.yml中实现以下覆盖。openstack_service_setup_host: "{{ groups['utility_all'][0] }}"
支持为 trove 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 cinder 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 nova 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 ironic 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 barbican 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 heat 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 aodh 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 glance 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 ceilometer 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 sahara 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 designate 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 neutron 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 magnum 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 keystone 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 swift 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
支持为 octavia 中的 RPC 和通知使用单独的 oslo.messaging 服务,以启用单独且不同的消息传递后端服务器的操作。
Keystone 中 sahara 的服务设置现在将通过委托到
sahara_service_setup_host执行,默认情况下为localhost(部署主机)。部署者可以选择将其更改为实用程序容器,方法是在user_variables.yml中实现以下覆盖。sahara_service_setup_host: "{{ groups['utility_all'][0] }}"
禁用
machinectl配额系统的选项已更改。变量lxc_host_machine_quota_disabled是一个布尔值,默认值为 false。当此选项设置为 true 时,将禁用machinectl配额系统。
添加了
lxc_host_machine_qgroup_space_limit和lxc_host_machine_qgroup_compression_limit选项,允许部署者根据需要设置 qgroup 限制。这些选项的默认值为“none”,实际上是 无限制。这些选项接受任何标称大小值,后跟单个字母类型,例如64G。只有当lxc_host_machine_quota_disabled选项设置为 false 时,这些选项才有效。
Keystone 中 swift 的服务设置现在将通过委托到
swift_service_setup_host执行,默认情况下为localhost(部署主机)。部署者可以选择将其更改为实用程序容器,方法是在user_variables.yml中实现以下覆盖。swift_service_setup_host: "{{ groups['utility_all'][0] }}"
添加了一个新的 playbook
infra-journal-remote.yml来传输日志。物理主机现在会将所有可用的 systemd 日志传输到日志记录基础设施。接收到的日志将按主机拆分,并存储在 /var/log/journal/remote 目录中。此功能将为部署者提供对云如何运行的更多访问/洞察力,只需要 systemd 内置即可。
Keystone 中 tempest 的服务设置现在将通过委托到
tempest_service_setup_host执行,默认情况下为localhost(部署主机)。部署者可以选择将其更改为实用程序容器,方法是在user_variables.yml中实现以下覆盖。tempest_service_setup_host: "{{ groups['utility_all'][0] }}"
不再使用硬编码的项目和用户集,现在可以使用变量
tempest_projects和tempest_users配置 tempest 的自定义列表。
现在可以使用
tempest_test_blacklist列表变量指定 tempest 在执行时要黑名单的测试列表。
trove 服务设置在 keystone 中现在将通过委托到
trove_service_setup_host执行,默认情况下为localhost(部署主机)。部署者可以选择将其更改为实用程序容器,方法是在user_variables.yml中实现以下覆盖。trove_service_setup_host: "{{ groups['utility_all'][0] }}"
已知问题¶
早于 17.0.5、16.0.4 和 15.1.22 的所有 OSA 版本都将因发布新的 cmd2-0.9.0 python 库而导致 rally venv 构建失败。鼓励部署者更新到最新的 OSA 版本,该版本固定到与 python2 兼容的适当版本。
随着 CentOS 7.5 的发布,所有 pike 版本都因 OpenStack 社区指定的 libvirt-python 库版本与 CentOS 7.5 中提供的版本不匹配而损坏。因此,OSA 无法构建适当的 libvirt python 库。唯一的解决方法是升级到最新的 queens 版本。
升级说明¶
从 Xenial 到 Bionic 的受支持升级路径是通过重新安装所有节点上的主机操作系统和重新部署所需的服务的重新安装。OSA 的 Rocky 分支旨在作为从 Xenial 到 Bionic 升级的过渡点。目前不支持就地操作系统升级(通常通过
do-release-upgrade)。
如果启用了 ceph-ansible,用户应从其主机中清除“ntp”软件包。ceph-ansible 之前配置为默认安装 ntp,这与 OSA ansible-hardening 角色 chrony 服务冲突。
变量 cinder_iscsi_helper 已被新的变量 cinder_target_helper 替换,因为 iscsi_helper 已在 Cinder 中弃用。
已从 openstack_user_config.yml 和动态库存中删除键 is_ssh_address。此键负责将地址映射到用于 SSH 连接的容器。由于我们创建了 SSH 连接插件,该插件使我们能够连接到远程容器而无需 SSH,因此此选项不再有用。为了保持 openstack_user_config.yml 的清洁,部署者可以删除该选项,但从现在开始它将不再生效。
已从 py_pkgs 查找中删除分发包查找和数据输出,以便 repo-build 使用 py_pkgs 的输出减少,并且查找仅用于 python 包。
keepalived 内部发生的 ping 检查,以确保运行它的服务器可以访问 193.0.14.129,默认情况下已被删除。如果将 keepalived_ping_address 定义在您的 user_variables.yml 文件中为 193.0.14.129 或您选择的任何 IP,则可以继续使用该功能。
glance v1 API 已在 upstream 中删除,并且部署代码现在已从这个 glance ansible 角色中删除。变量
glance_enable_v1_api已删除。
弃用说明¶
变量
aodh_requires_pip_packages不再需要,因此已被删除。
变量
barbican_requires_pip_packages不再需要,因此已被删除。
以下变量不再使用,因此已被删除。
ceilometer_requires_pip_packagesceilometer_service_nameceilometer_service_portceilometer_service_protoceilometer_service_typeceilometer_service_description
变量
cinder_requires_pip_packages不再需要,因此已被删除。
变量
designate_requires_pip_packages不再需要,因此已被删除。
作为元依赖项,
apt_package_pinning角色从 rabbitmq_server 角色中删除。虽然 package pinning 角色仍然使用,但现在它仅在执行 apt 任务文件时才会执行。
已删除
get_gested过滤器,因为它未被任何角色/剧本使用。
变量
glance_requires_pip_packages不再需要,因此已被删除。
变量
gnocchi_requires_pip_packages不再需要,因此已被删除。
变量
heat_requires_pip_packages不再需要,因此已被删除。
变量
horizon_requires_pip_packages不再需要,因此已被删除。
变量
ironic_requires_pip_packages不再需要,因此已被删除。
日志路径
/var/log/barbican已不再用于捕获服务日志。barbican 服务的全部日志现在将直接发送到 systemd journal。
日志路径
/var/log/keystone已不再用于捕获服务日志。Keystone 服务的全部日志现在将直接发送到 systemd journal。
日志路径
/var/log/congress已不再用于捕获服务日志。congress 服务的全部日志现在将直接发送到 systemd journal。
日志路径
/var/log/cinder已不再用于捕获服务日志。cinder 服务的全部日志现在将直接发送到 systemd journal。
日志路径
/var/log/aodh已不再用于捕获服务日志。aodh 服务的全部日志现在将直接发送到 systemd journal。
日志路径
/var/log/ceilometer已不再用于捕获服务日志。ceilometer 服务的全部日志现在将直接发送到 systemd journal。
日志路径
/var/log/designate已不再用于捕获服务日志。designate 服务的全部日志现在将直接发送到 systemd journal。
变量
keystone_requires_pip_packages已不再需要,因此已被移除。
变量
nova_compute_pip_packages已不再使用,并已被移除。
变量
magnum_requires_pip_packages已不再需要,因此已被移除。
molteniron服务不再包含在 OSA 集成构建中。任何希望使用它的部署者仍然可以使用来自os_moltenironrole 的 playbook 和配置示例。
变量
neutron_requires_pip_packages已不再需要,因此已被移除。
变量
nova_requires_pip_packages已不再需要,因此已被移除。
变量
octavia_requires_pip_packages已不再需要,因此已被移除。
变量
octavia_image_downloader已被移除。镜像下载现在使用与octavia_service_setup_host变量指定的镜像设置主机相同的宿主机进行下载。
变量
octavia_ansible_endpoint_type已被移除。用于 ansible 任务的端点已硬设置为 ‘admin’ 端点,这在所有 OSA role 中都很常见。
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- trove_oslomsg_rpc_servers 替换 trove_rabbitmq_servers - trove_oslomsg_rpc_port 替换 trove_rabbitmq_port - trove_oslomsg_rpc_use_ssl 替换 trove_rabbitmq_use_ssl - trove_oslomsg_rpc_userid 替换 trove_rabbitmq_userid - trove_oslomsg_rpc_vhost 替换 trove_rabbitmq_vhost - 添加了 trove_oslomsg_notify_servers - 添加了 trove_oslomsg_notify_port - 添加了 trove_oslomsg_notify_use_ssl - 添加了 trove_oslomsg_notify_userid - 添加了 trove_oslomsg_notify_vhost - 添加了 trove_oslomsg_notify_password
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- cinder_oslomsg_rpc_servers 替换 cinder_rabbitmq_servers - cinder_oslomsg_rpc_port 替换 cinder_rabbitmq_port - cinder_oslomsg_rpc_use_ssl 替换 cinder_rabbitmq_use_ssl - cinder_oslomsg_rpc_userid 替换 cinder_rabbitmq_userid - cinder_oslomsg_rpc_vhost 替换 cinder_rabbitmq_vhost - cinder_oslomsg_notify_servers 替换 cinder_rabbitmq_telemetry_servers - cinder_oslomsg_notify_port 替换 cinder_rabbitmq_telemetry_port - cinder_oslomsg_notify_use_ssl 替换 cinder_rabbitmq_telemetry_use_ssl - cinder_oslomsg_notify_userid 替换 cinder_rabbitmq_telemetry_userid - cinder_oslomsg_notify_vhost 替换 cinder_rabbitmq_telemetry_vhost
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- nova_oslomsg_rpc_servers 替换 nova_rabbitmq_servers - nova_oslomsg_rpc_port 替换 nova_rabbitmq_port - nova_oslomsg_rpc_use_ssl 替换 nova_rabbitmq_use_ssl - nova_oslomsg_rpc_userid 替换 nova_rabbitmq_userid - nova_oslomsg_rpc_vhost 替换 nova_rabbitmq_vhost - nova_oslomsg_notify_servers 替换 nova_rabbitmq_telemetry_servers - nova_oslomsg_notify_port 替换 nova_rabbitmq_telemetry_port - nova_oslomsg_notify_use_ssl 替换 nova_rabbitmq_telemetry_use_ssl - nova_oslomsg_notify_userid 替换 nova_rabbitmq_telemetry_userid - nova_oslomsg_notify_vhost 替换 nova_rabbitmq_telemetry_vhost - nova_oslomsg_notify_password 替换 nova_rabbitmq_telemetry_password
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- ironic_oslomsg_rpc_servers 替换 ironic_rabbitmq_servers - ironic_oslomsg_rpc_port 替换 ironic_rabbitmq_port - ironic_oslomsg_rpc_use_ssl 替换 ironic_rabbitmq_use_ssl - ironic_oslomsg_rpc_userid 替换 ironic_rabbitmq_userid - ironic_oslomsg_rpc_vhost 替换 ironic_rabbitmq_vhost
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- barbican_oslomsg_rpc_servers 替换 rabbitmq_servers - barbican_oslomsg_rpc_port 替换 rabbitmq_port - barbican_oslomsg_rpc_userid 替换 barbican_rabbitmq_userid - barbican_oslomsg_rpc_vhost 替换 barbican_rabbitmq_vhost - 添加了 barbican_oslomsg_rpc_use_ssl - 添加了 barbican_oslomsg_notify_servers - 添加了 barbican_oslomsg_notify_port - 添加了 barbican_oslomsg_notify_use_ssl - 添加了 barbican_oslomsg_notify_userid - 添加了 barbican_oslomsg_notify_vhost - 添加了 barbican_oslomsg_notify_password
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- heat_oslomsg_rpc_servers 替换 heat_rabbitmq_servers - heat_oslomsg_rpc_port 替换 heat_rabbitmq_port - heat_oslomsg_rpc_use_ssl 替换 heat_rabbitmq_use_ssl - heat_oslomsg_rpc_userid 替换 heat_rabbitmq_userid - heat_oslomsg_rpc_vhost 替换 heat_rabbitmq_vhost - heat_oslomsg_rpc_password 替换 heat_rabbitmq_password - heat_oslomsg_notify_servers 替换 heat_rabbitmq_telemetry_servers - heat_oslomsg_notify_port 替换 heat_rabbitmq_telemetry_port - heat_oslomsg_notify_use_ssl 替换 heat_rabbitmq_telemetry_use_ssl - heat_oslomsg_notify_userid 替换 heat_rabbitmq_telemetry_userid - heat_oslomsg_notify_vhost 替换 heat_rabbitmq_telemetry_vhost - heat_oslomsg_notify_password 替换 heat_rabbitmq_telemetry_password
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- aodh_oslomsg_rpc_servers 替换 aodh_rabbitmq_servers - aodh_oslomsg_rpc_port 替换 aodh_rabbitmq_port - aodh_oslomsg_rpc_use_ssl 替换 aodh_rabbitmq_use_ssl - aodh_oslomsg_rpc_userid 替换 aodh_rabbitmq_userid - aodh_oslomsg_rpc_vhost 替换 aodh_rabbitmq_vhost - aodh_oslomsg_rpc_password 替换 aodh_rabbitmq_password
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- glance_oslomsg_rpc_servers 替换 glance_rabbitmq_servers - glance_oslomsg_rpc_port 替换 glance_rabbitmq_port - glance_oslomsg_rpc_use_ssl 替换 glance_rabbitmq_use_ssl - glance_oslomsg_rpc_userid 替换 glance_rabbitmq_userid - glance_oslomsg_rpc_vhost 替换 glance_rabbitmq_vhost - glance_oslomsg_notify_servers 替换 glance_rabbitmq_telemetry_servers - glance_oslomsg_notify_port 替换 glance_rabbitmq_telemetry_port - glance_oslomsg_notify_use_ssl 替换 glance_rabbitmq_telemetry_use_ssl - glance_oslomsg_notify_userid 替换 glance_rabbitmq_telemetry_userid - glance_oslomsg_notify_vhost 替换 glance_rabbitmq_telemetry_vhost - glance_oslomsg_notify_password 替换 glance_rabbitmq_telemetry_password
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- ceilometer_oslomsg_rpc_servers 替换 rabbitmq_servers - ceilometer_oslomsg_rpc_port 替换 rabbitmq_port - ceilometer_oslomsg_rpc_userid 替换 ceilometer_rabbitmq_userid - ceilometer_oslomsg_rpc_vhost 替换 ceilometer_rabbitmq_vhost - 添加了 ceilometer_oslomsg_rpc_use_ssl - 添加了 ceilometer_oslomsg_notify_servers - 添加了 ceilometer_oslomsg_notify_port - 添加了 ceilometer_oslomsg_notify_use_ssl - 添加了 ceilometer_oslomsg_notify_userid - 添加了 ceilometer_oslomsg_notify_vhost - 添加了 ceilometer_oslomsg_notify_password
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- sahara_oslomsg_rpc_servers 替换 sahara_rabbitmq_servers - sahara_oslomsg_rpc_port 替换 sahara_rabbitmq_port - sahara_oslomsg_rpc_use_ssl 替换 sahara_rabbitmq_use_ssl - sahara_oslomsg_rpc_userid 替换 sahara_rabbitmq_userid - sahara_oslomsg_rpc_vhost 替换 sahara_rabbitmq_vhost - sahara_oslomsg_notify_servers 替换 sahara_rabbitmq_telemetry_servers - sahara_oslomsg_notify_port 替换 sahara_rabbitmq_telemetry_port - sahara_oslomsg_notify_use_ssl 替换 sahara_rabbitmq_telemetry_use_ssl - sahara_oslomsg_notify_userid 替换 sahara_rabbitmq_telemetry_userid - sahara_oslomsg_notify_vhost 替换 sahara_rabbitmq_telemetry_vhost
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- designate_oslomsg_rpc_servers 替换 designate_rabbitmq_servers - designate_oslomsg_rpc_port 替换 designate_rabbitmq_port - designate_oslomsg_rpc_use_ssl 替换 designate_rabbitmq_use_ssl - designate_oslomsg_rpc_userid 替换 designate_rabbitmq_userid - designate_oslomsg_rpc_vhost 替换 designate_rabbitmq_vhost - designate_oslomsg_notify_servers 替换 designate_rabbitmq_telemetry_servers - designate_oslomsg_notify_port 替换 designate_rabbitmq_telemetry_port - designate_oslomsg_notify_use_ssl 替换 designate_rabbitmq_telemetry_use_ssl - designate_oslomsg_notify_userid 替换 designate_rabbitmq_telemetry_userid - designate_oslomsg_notify_vhost 替换 designate_rabbitmq_telemetry_vhost - designate_oslomsg_notify_password 替换 designate_rabbitmq_telemetry_password
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- neutron_oslomsg_rpc_servers 替换 neutron_rabbitmq_servers - neutron_oslomsg_rpc_port 替换 neutron_rabbitmq_port - neutron_oslomsg_rpc_use_ssl 替换 neutron_rabbitmq_use_ssl - neutron_oslomsg_rpc_userid 替换 neutron_rabbitmq_userid - neutron_oslomsg_rpc_vhost 替换 neutron_rabbitmq_vhost - neutron_oslomsg_notify_servers 替换 neutron_rabbitmq_telemetry_servers - neutron_oslomsg_notify_port 替换 neutron_rabbitmq_telemetry_port - neutron_oslomsg_notify_use_ssl 替换 neutron_rabbitmq_telemetry_use_ssl - neutron_oslomsg_notify_userid 替换 neutron_rabbitmq_telemetry_userid - neutron_oslomsg_notify_vhost 替换 neutron_rabbitmq_telemetry_vhost
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- magnum_oslomsg_rpc_servers 替换 rabbitmq_servers - magnum_oslomsg_rpc_port 替换 rabbitmq_port - magnum_oslomsg_rpc_userid 替换 magnum_rabbitmq_userid - magnum_oslomsg_rpc_vhost 替换 magnum_rabbitmq_vhost - 添加了 magnum_oslomsg_rpc_use_ssl - 添加了 magnum_oslomsg_notify_servers - 添加了 magnum_oslomsg_notify_port - 添加了 magnum_oslomsg_notify_use_ssl - 添加了 magnum_oslomsg_notify_userid - 添加了 magnum_oslomsg_notify_vhost - 添加了 magnum_oslomsg_notify_password
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- keystone_oslomsg_rpc_servers 替换 keystone_rabbitmq_servers - keystone_oslomsg_rpc_port 替换 keystone_rabbitmq_port - keystone_oslomsg_rpc_use_ssl 替换 keystone_rabbitmq_use_ssl - keystone_oslomsg_rpc_userid 替换 keystone_rabbitmq_userid - keystone_oslomsg_rpc_vhost 替换 keystone_rabbitmq_vhost - keystone_oslomsg_notify_servers 替换 keystone_rabbitmq_telemetry_servers - keystone_oslomsg_notify_port 替换 keystone_rabbitmq_telemetry_port - keystone_oslomsg_notify_use_ssl 替换 keystone_rabbitmq_telemetry_use_ssl - keystone_oslomsg_notify_userid 替换 keystone_rabbitmq_telemetry_userid - keystone_oslomsg_notify_vhost 替换 keystone_rabbitmq_telemetry_vhost
rabbitmq 服务器参数已被相应的 oslo.messaging Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- swift_oslomsg_notify_servers 替换 swift_rabbitmq_telemetry_servers - swift_oslomsg_notify_port 替换 swift_rabbitmq_telemetry_port - swift_oslomsg_notify_use_ssl 替换 swift_rabbitmq_telemetry_use_ssl - swift_oslomsg_notify_userid 替换 swift_rabbitmq_telemetry_userid - swift_oslomsg_notify_vhost 替换 swift_rabbitmq_telemetry_vhost - swift_oslomsg_notify_password 替换 swift_rabbitmq_telemetry_password
rabbitmq 服务器参数已被相应的 oslo.messaging RPC 和 Notify 参数替换,以便将消息服务与实际后端服务器部署抽象化。- octavia_oslomsg_rpc_servers 替换 octavia_rabbitmq_servers - octavia_oslomsg_rpc_port 替换 octavia_rabbitmq_port - octavia_oslomsg_rpc_use_ssl 替换 octavia_rabbitmq_use_ssl - octavia_oslomsg_rpc_userid 替换 octavia_rabbitmq_userid - octavia_oslomsg_rpc_vhost 替换 octavia_rabbitmq_vhost - octavia_oslomsg_notify_servers 替换 octavia_rabbitmq_telemetry_servers - octavia_oslomsg_notify_port 替换 octavia_rabbitmq_telemetry_port - octavia_oslomsg_notify_use_ssl 替换 octavia_rabbitmq_telemetry_use_ssl - octavia_oslomsg_notify_userid 替换 octavia_rabbitmq_telemetry_userid - octavia_oslomsg_notify_vhost 替换 octavia_rabbitmq_telemetry_vhost - octavia_oslomsg_notify_password 替换 octavia_rabbitmq_telemetry_password
反向代理 pypi 的 repo 服务器现已移除,仅留下 pypiserver 来提供 repo 服务器上已有的软件包。尝试反向代理上游 pypi 最终变得非常不稳定,并增加了使用代理或离线安装的部署者的复杂性。因此,变量
repo_nginx_pypi_upstream和repo_nginx_proxy_cache_path也已被移除。
变量
repo_requires_pip_packages已不再需要,因此已被移除。
随着 systemd-journal-remote 的实施,rsyslog_client role 默认情况下不再运行。要启用遗留功能,可以将变量 rsyslog_client_enabled 和 rsyslog_server_enabled 设置为 true。
变量
sahara_requires_pip_packages已不再需要,因此已被移除。
变量
swift_requires_pip_packages已不再需要,因此已被移除。
变量
tempest_requires_pip_packages已不再需要,因此已被移除。
变量
tempest_image_downloader已被移除。镜像下载现在使用与tempest_service_setup_host变量指定的镜像设置主机相同的宿主机进行下载。
变量
trove_requires_pip_packages已不再需要,因此已被移除。
安全问题¶
建议始终由安全专业人员审查证书生成,因为被认为安全的算法和密钥长度会不断变化。
避免为您的云设置过高的配额,因为这可能会影响其他服务的性能,并可能导致拒绝服务攻击,如果负载均衡器配额未正确设置或 RBAC 未正确设置。
错误修复¶
较新版本的 CentOS 附带了一个 libnss 版本,该版本依赖于操作系统中 /dev/random 和 /dev/urandom 的存在才能运行。这会在缓存准备过程中造成问题,该过程在不包含这些文件的 chroot 环境中运行,从而导致出现以下消息的错误。
error: Failed to initialize NSS library
已通过在 chroot 环境中引入 /dev/random 和 /dev/urandom 来解决此问题。
ceph-ansible 不再默认配置为安装 ntp,这与 OSA 的 ansible-hardening role 冲突,该 role 用于使用 ‘chrony’ 实现 ntp。
修复了 bug https://bugs.launchpad.net/openstack-ansible/+bug/1778098,如果指定了
horizon_custom_themes且未提供主题目录,则 playbook 将失败
为了防止 libvirt 和 python-libvirt 版本不匹配导致进一步的问题,基于 KVM 的计算节点现在将使用发行版软件包 python 库来处理 libvirt。这应该可以解决 CentOS 7.5 上 pike 构建中出现的问题。
确定了用于确定是否为联合部署部署
sso_callback_template.html文件的条件。
其他说明¶
当使用 apache(httpd) 运行 keystone 时,所有 apache 日志都将存储在标准的 apache 日志目录中,该目录由特定发行版的变量
keystone_apache_default_log_folder控制。
当使用 apache(httpd) 运行 aodh 时,所有 apache 日志都将存储在标准的 apache 日志目录中,该目录由特定发行版的变量
aodh_apache_default_log_folder控制。
自 Icehouse 发布以来,max_fail_percentage playbook 选项一直与默认 playbook 一起使用。虽然本意是允许大规模部署在单个节点由于瞬态问题而失败的情况下成功,但该选项产生的问题比它解决的问题更多。如果发生瞬态但低于设置的失败百分比的故障,playbook 将报告成功,这可能导致静默故障,具体取决于故障发生的位置。如果部署者发现自己处于这种情况,问题会进一步加剧,因为工具会报告没有已知问题。为了确保部署者获得最佳的部署体验和最准确的信息,已更改默认 playbook,删除了 max_fail_percentage 选项。删除此选项的副作用是,如果需要从一次运行中省略某个主机,则需要跳过特定主机进行部署,但好处是消除了静默且难以追踪的故障。要跳过给定 playbook 运行中的故障主机,请使用特定运行的 –limit ‘!$HOSTNAME’ CLI 切换。一旦故障主机的问题得到解决,请重新运行特定的 playbook,而无需 –limit 选项,以确保一切同步。