Pike 系列发布说明¶
16.0.25¶
错误修复¶
随着 CentOS 7.6 的发布,部署中断并变得非常缓慢,因为我们在尝试捕获一些 PolicyKit 更改时重启了 dbus。但是,这些更改实际上从未被使用,因此它们是毫无理由的。我们不再对 systemd-machined 配置和/或 PolicyKit 进行任何修改,以保持上游兼容性。
大约在 2019 年 1 月 16 日,
ceph-ansible独立的 role 仓库都被从 github 上移除,导致 bootstrap-ansible 脚本在新部署或升级过程中失败,特别是对于之前使用这些 role 的环境。为了替代它们,现在使用ceph-ansiblegit 仓库。为了防止新旧 role 之间的冲突,在运行scripts/bootstrap-ansible.sh之前,应该移除现有的/etc/ansible/roles/ceph*文件夹,作为次要升级过程的一部分。
16.0.24¶
新特性¶
Horizon 自 OSA 诞生以来,一直以启用 HTTPS 访问的方式部署,并且没有关闭它的方法。某些用例可能希望通过 HTTP 访问,因此此补丁启用了以下功能。
通过负载均衡器通过 HTTPS 侦听,但通过 horizon 主机通过 HTTP 侦听,并让负载均衡器转发正确的标头。由于负载均衡器的存在,它将在集成构建中默认执行此操作,因此保留了当前行为。
在没有负载均衡器的情况下,在 horizon 主机上启用 HTTPS。这是角色的默认行为,与它一直以来所做的一样。
通过设置
haproxy_ssl: no(这将禁用 haproxy 上的 https)完全禁用 HTTPS。此设置默认情况下被新的horizon_enable_ssl变量继承。这是一个新选项。
16.0.19¶
新特性¶
现在可以使用
tempest_test_blacklist列表变量指定 tempest 在执行时要黑名单的测试列表。
16.0.16¶
错误修复¶
确定了用于确定是否为联合部署部署
sso_callback_template.html文件的条件。
16.0.15¶
新特性¶
添加了选项
rabbitmq_erlang_version_spec,允许部署人员设置给定安装中使用的 erlang 版本。
已知问题¶
随着 CentOS 7.5 的发布,所有 pike 版本都因 OpenStack 社区指定的 libvirt-python 库版本与 CentOS 7.5 中提供的版本不匹配而损坏。因此,OSA 无法构建适当的 libvirt python 库。唯一的解决方法是升级到最新的 queens 版本。
弃用说明¶
作为元依赖项,
apt_package_pinning角色从 rabbitmq_server 角色中删除。虽然 package pinning 角色仍然使用,但现在它仅在执行 apt 任务文件时才会执行。
变量
nova_compute_pip_packages已不再使用,并已被移除。
错误修复¶
如果通过
horizon_enable_neutron_fwaas变量在 os_horizon role 中启用了 neutron-fwaas-dashboard,请下载并安装它。
为了防止 libvirt 和 python-libvirt 版本不匹配导致进一步的问题,基于 KVM 的计算节点现在将使用发行版软件包 python 库来处理 libvirt。这应该可以解决 CentOS 7.5 上 pike 构建中出现的问题。
16.0.14¶
已知问题¶
早于 17.0.5、16.0.4 和 15.1.22 的所有 OSA 版本都将因发布新的 cmd2-0.9.0 python 库而导致 rally venv 构建失败。鼓励部署者更新到最新的 OSA 版本,该版本固定到与 python2 兼容的适当版本。
最近,spice-html5 git 仓库已完全从
https://github.com/SPICE/spice-html5移动到https://gitlab.freedesktop.org/spice/spice-html5。这导致在repo-build.ymlplaybook 的 git clone 阶段失败,对于早于16.0.14的 OSA pike 版本。为了解决此问题,部署者可以升级到最新版本,或者在user_variables.yml中实施以下覆盖。nova_spicehtml5_git_repo: https://gitlab.freedesktop.org/spice/spice-html5.git
升级说明¶
已从 py_pkgs 查找中删除分发包查找和数据输出,以便 repo-build 使用 py_pkgs 的输出减少,并且查找仅用于 python 包。
错误修复¶
较新版本的 CentOS 附带了一个 libnss 版本,该版本依赖于操作系统中 /dev/random 和 /dev/urandom 的存在才能运行。 这会在 chroot 中运行的缓存准备过程中导致问题,该 chroot 不包含这些文件,从而导致出现以下错误消息
错误:无法初始化 NSS 库
已通过在 chroot 环境中引入 /dev/random 和 /dev/urandom 来解决此问题。
16.0.13¶
已知问题¶
在
lxc_hostsrole 执行过程中,我们使用 images.linuxcontainers.org 每天生成的镜像。最近镜像生成方式的更改导致默认/etc/resolve.conf在该默认镜像中发生了更改。因此,在执行缓存准备时,它会失败。对于早于 16.0.13 的 pike 版本,解决此问题的办法是在/etc/openstack_deploy/user_variables.yml文件中添加以下内容。lxc_cache_prep_pre_commands: "rm -f /etc/resolv.conf || true" lxc_cache_prep_post_commands: "ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf -f"
16.0.12¶
新特性¶
当 venvwithindex=True 和 ignorerequirements=True 都在 tempest_git_install_fragments 中指定 (如之前默认),这将导致 tempest 从 PyPI 安装,而没有任何约束条件。这可能导致集成构建中安装的 tempest 版本与独立角色测试中安装的版本不同。今后,我们将删除 tempest_git_* 在 playbooks/defaults/repo_packages/openstack_testing.yml 中的覆盖,以便集成构建从 PyPI 安装 tempest,但应用适当的约束条件。
16.0.11¶
新特性¶
添加了配置 Nova 供应商数据以能够通过元数据服务或配置驱动程序推送内容的功能。
默认变量 nova_default_schedule_zone 之前默认设置为
nova。已移除此默认值,以允许 nova 代码设置默认值。希望保留 nova 默认可用区部署者现在必须将变量设置为 user_variables.yml 或 group_vars 覆盖。
16.0.10¶
新特性¶
添加了一个禁用
machinectl配额系统的选项。变量lxc_host_machine_quota_disabled是一个布尔值,默认值为 true。当此选项设置为 true 时,将禁用machinectl配额系统。
升级说明¶
如果启用了 ceph-ansible,用户应从其主机中清除“ntp”软件包。ceph-ansible 之前配置为默认安装 ntp,这与 OSA ansible-hardening 角色 chrony 服务冲突。
变量
lxc_host_machine_volume_size现在接受truncate -s和machinectl set-limit可接受的任何有效大小修饰符。在此更改之前,该选项假定设置了一个以千兆字节为单位的整数值。可以在 machinectl 文档 中查看所有可接受的值。
错误修复¶
ceph-ansible 不再默认配置为安装 ntp,这与 OSA 的 ansible-hardening role 冲突,该 role 用于使用 ‘chrony’ 实现 ntp。
其他说明¶
变量
lxc_host_machine_volume_size用于设置默认稀疏文件的大小,以及在machinectl配额系统中定义一个限制。当启用machinectl配额系统时,部署者应适当地将此值设置为容器卷的大小,即使不使用稀疏文件也是如此。
machinectl 中的容器镜像缓存默认设置为“64G”。
16.0.9¶
新特性¶
在使用 Glance 和 NFS 时,NFS 挂载点现在将使用 systemd 挂载单元文件进行管理。此更改可确保 Glance 的部署不会对
/etc/fstab进行可能对系统产生影响的更改,并使我们部署使用共享存储的 Glance 的方式现代化。
已添加新的变量到 glance role,允许部署者设置 glance 用户的 UID 和 GID。新的选项是
glance_system_user_uid和glance_system_group_uid。当使用共享存储作为镜像后端时,这些选项很有用,并且仅在定义了 UID 和 GID 时才会设置 glance 用户的 UID 和 GID。
弃用说明¶
由于不再使用 OBS 仓库来安装 MariaDB 包,因此已移除变量
galera_client_opensuse_mirror_obs_url。
其他说明¶
自 Icehouse 发布 playbook 以来,max_fail_percentage playbook 选项一直与默认 playbook 一起使用。虽然目的是允许大规模部署在单个节点由于瞬态问题而失败的情况下成功,但此选项产生的问题比它解决的问题更多。如果发生的故障是瞬态的,但低于设置的故障百分比,playbook 将报告成功,这可能导致根据故障发生的位置导致静默故障。如果部署者发现自己处于这种情况,那么问题会加剧,因为工具将报告没有已知问题。为了确保部署者获得最佳的部署体验和最准确的信息,已更改了默认 playbook 中删除 max_fail_percentage 选项。删除此选项的副作用是,如果需要省略一个主机,则需要跳过特定的主机,但好处是消除了难以追踪的静默故障。要跳过给定 playbook 运行的故障主机,请使用特定运行的 –limit ‘!$HOSTNAME’ CLI 开关。在解决故障主机的问题后,重新运行特定的 playbook,而无需 –limit 选项,以确保一切同步。
16.0.8¶
已知问题¶
所有 pike 版本 16.0.7 及更早版本都使用 mariadb-server 10.1,没有冻结的次要版本。最新版本 10.1.31 在变量
galera_wsrep_sst_method设置为xtrabackup-v2(默认值)时,在多节点环境中存在状态传输问题。这会导致新集群失败,或者现有集群在重新启动节点时无法传输状态。为了解决此问题,建议在
/etc/openstack_deploy/user_variables.yml中设置以下覆盖,以确保使用已知良好的 MariaDB 版本。从 16.0.8 开始,这些值设置为默认值,并且将在验证新版本有效后不时更新。因此,对于 16.0.8 及更高版本,无需设置这些覆盖。
# Use these values for Ubuntu galera_repo_url: https://downloads.mariadb.com/MariaDB/mariadb-10.1.30/repo/ubuntu galera_client_repo_url: "{{ galera_repo_url }}" # Use these overrides for CentOS/RHEL: galera_repo_url: https://downloads.mariadb.com/MariaDB/mariadb-10.1.30/yum/centos7-amd64/ galera_client_repo_url: "{{ galera_repo_url }}" # Use these values for SuSE galera_repo_url: https://downloads.mariadb.com/MariaDB/mariadb-10.1.30/yum/opensuse42-amd64 galera_client_repo_url: "{{ galera_repo_url }}"
该问题已在上游注册,可以在此处跟踪该问题的进展:https://jira.mariadb.org/browse/MDEV-15254
对于所有 pike 版本,直到 16.0.7,在执行 os-nova-install.yml playbook 时,
nova-novncproxy和nova-spicehtml5proxy服务将失败。解决此问题的办法是重新启动这些服务。cd /opt/rpc-openstack/openstack-ansible/playbooks # start the service again # replace nova-novncproxy with nova-spicehtml5proxy when appropriate ansible nova_console -m service -a 'name=nova-novncproxy state=restarted' # set the appropriate facts to prevent the playbook trying # to reload it again when the playbook is run again ansible nova_console -m ini_file -a 'dest=/etc/ansible/facts.d/openstack_ansible.fact section=nova option=need_service_restart value=False'
此问题已在 16.0.8 版本中解决。
16.0.7¶
新特性¶
现在
lxcbr0网桥允许 NetworkManager 控制它,这使得网络在系统启动时能够以正确的顺序启动。此外,启用了NetworkManager-wait-online.service,以确保需要网络才能运行的所有服务(例如keepalived)仅在网络配置完成后才启动。这些更改仅在部署者在其环境中主动使用 NetworkManager 时应用。
使用不在 Ansible 库存中的后端节点的 HAProxy 服务现在可以通过设置
haproxy_backend_nodes为name和ip_addr设置列表来手动指定。
其他说明¶
此版本是使用 ANSIBLE_ROLE_FETCH_MODE=”git-clone” 从 Pike 升级到 Queens 的部署者的必要最低版本。
16.0.6¶
新特性¶
已添加一个新的变量,以允许部署者控制来自 common-tasks/os-lxc-container-setup.yml 的容器重启。这个新选项是
lxc_container_allow_restarts,默认值为true。如果部署者希望禁用自动重启功能,他们可以将此值设置为false,并且将禁用自动容器重启。这是 lxc_container_create role 中已存在的相同选项的补充。此选项对于避免 galara 或 rabbitmq 容器在 LXC 容器配置以需要重启的方式更改时发生不协调的重启非常有用。
galera 集群现在支持通过 HTTP 使用端口 9200 进行集群健康状况检查。 新的集群检查通过使用监控用户对 wsrep sync 状态运行简单的查询来确保节点是健康的。 此更改将提供更强大的集群检查,确保我们拥有尽可能具有容错能力的 galera 集群。
Galera 健康检查已得到改进,并且依赖于 xinetd 服务。默认情况下,该服务无法访问(使用 no_access 指令进行过滤)。可以通过将任何 xinetd 有效值设置为
galera_monitoring_allowed_source来覆盖该指令。
其他说明¶
CentOS 部署需要一个特殊的 COPR 仓库来获取现代 LXC 包。COPR 仓库目前未镜像,这导致了失败的 gate 测试和生产部署。
该 role 现在将 LXC 包从 COPR 同步到每个主机,并在 /opt/thm-lxc2.0 中构建一个本地 LXC 包仓库。这大大减少了在部署过程中必须从 COPR 服务器下载包的次数,这将减少故障,直到这些包可以从更可靠的来源托管。
此外,这应该加快 playbook 的运行速度,因为
yum可以检查本地托管的仓库,而不是具有可用性和性能挑战的远程仓库。
16.0.5¶
新特性¶
FWaaS V2 已添加到 neutron。要启用此服务,只需将“firewall_v2”添加到“neutron_plugin_base”列表中即可。
使用
lxc_cache_prep_timeout变量现在可以配置强制失败 LXC 缓存准备过程的最大时间。该值以秒为单位指定,默认值为 20 分钟。
添加了一个新的 LXC 容器模板,这将使我们能够更好地管理主机上支持的容器。 新模板使用 machinectl 命令使用现有的缓存创建容器根文件系统。 这反过来将提供更轻松的容器镜像管理、更快的构建时间和立即克隆容器(或给定变体)而不影响容器状态的能力。 此新的 lxc 容器创建模板及其提供的功能只会影响新创建的容器,允许部署者在任何现有环境中安全地采用此更改。
创建 LXC 容器时的标签选项已简化。 lxc_container_create 角色现在支持的两个标签是 lxc-{create,config}。
现在可以设置
security_sshd_permit_root_login设置,以更改/etc/ssh/sshd_config中的PermitRootLogin设置为任何可能的选项。 将security_sshd_permit_root_login设置为without-password、prohibit-password、forced-commands-only、yes或no中的一个。
默认情况下,现在已禁用搜索可写入世界的文件的功能。 搜索会导致 playbook 运行延迟,并且会消耗大量的 CPU 和 I/O 资源。 部署者可以通过将
security_find_world_writable_dirs设置为yes来重新启用搜索。
升级说明¶
v2 API 的 glance 注册服务现在默认禁用,因为它不需要并且计划在未来删除。 可以通过将
glance_enable_v2_registry设置为True来启用该服务。 由于 glance v1 API 仍然默认启用,并且它需要注册服务,因此 glance-registry 服务将保持运行和操作,如前所示。 如果将变量glance_enable_v1_api设置为False,则将禁用并删除 v1 API 和注册服务。
LXC 容器创建选项 lxc_container_backing_store 现在默认定义,其值为“dir”。 在此版本之前,后端存储选项使用多种自动检测方法来尝试根据输入到角色和从物理主机派生的事实来猜测存储类型。 虽然自动检测方法有效,但它们创建了一组繁琐的条件,并限制了我们利用其他容器存储的能力。 使此选项成为默认值允许部署者混合和匹配容器存储以适应部署的需求。 现有部署应在组或用户变量中设置此选项,以确保在配置新容器时后端存储不会发生更改。
弃用说明¶
已删除变量
glance_enable_v1_registry。 在使用 glance v1 API 时,需要注册服务,因此拥有一个用于禁用它的变量没有意义。 现在使用变量glance_enable_v1_api来启用/禁用 v1 API 的服务。
错误修复¶
当将变量
glance_enable_v2_registry设置为True时,相应的data_api设置现在已正确设置。 之前未设置,因此 API 服务未正确告知注册服务正在运行。
其他说明¶
如果将选项 lxc_container_backing_store 设置为“lvm”,则 LXC 容器创建角色现在将检查 LXC 卷组。 如果未找到此卷组,该角色将停止并指示部署者更新其配置选项并检查其主机设置。
16.0.4¶
新功能¶
添加了一个新标志以启用 Octavia V2 API(默认禁用),以便于独立运行 Octavia(无需 Neutron)。
添加了一个新标志以切换 Octavia V1 API(与 Neutron 配合运行所需的 API),并默认启用它。
部署者可以设置
lxc_hosts_opensuse_mirror_url以使用他们首选的 openSUSE 仓库镜像。 他们还可以设置lxc_hosts_opensuse_mirror_obs_url,如果他们想为 OBS 仓库设置不同的镜像。 如果他们想在两种情况下使用相同的镜像,则可以将后一个变量保留为其默认值。 可以在 http://mirrors.opensuse.org/ 获取完整的镜像列表及其功能。
部署者可以设置
pip_install_opensuse_mirror_url以使用他们首选的 openSUSE 仓库镜像。 他们还可以设置pip_install_opensuse_mirror_obs_url,如果他们想为 OBS 仓库设置不同的镜像。 如果他们想在两种情况下使用相同的镜像,则可以将后一个变量保留为其默认值。 可以在 http://mirrors.opensuse.org/ 获取完整的镜像列表及其功能。
os_tempest角色中tempest_images数据结构现在期望每个图像的值包括name(可选)和format(磁盘格式)。 此外,可选变量checksum可用于设置文件的预期校验和,格式为<algorithm>:<checksum>。
由
tempest_image_dir变量在os_tempest角色中设置的图像下载的默认位置现在已更改为/opt/cache/files,以便与 nodepool 中的默认位置匹配。 这提高了 OpenStack CI 中 CI 测试的可靠性,因为它将找到已经缓存的文件。
已在
os_tempest角色中引入了一个新变量,名为tempest_image_downloader。 当设置为deployment-host(默认值)时,它使用部署主机来处理要用于 tempest 测试的图像的下载。 然后将图像上传到目标主机以上传到 Glance。
通过将
nova_compute_ksm_enabled设置为True来启用内核共享内存支持。
弃用说明¶
为了简化
os_tempest角色,已移除以下变量。它们已被通过数据结构tempest_images替换,该结构现在具有每个镜像的等效变量。- cirros_version - tempest_img_url - tempest_image_file - tempest_img_disk_format - tempest_img_name - tempest_images.sha256 (被 checksum 替换)
安全问题¶
添加了以下标头作为额外的默认(和静态)值。X-Content-Type-Options nosniff、X-XSS-Protection “1; mode=block” 和 Content-Security-Policy “default-src ‘self’ https: wss:;”。 此外,添加了 X-Frame-Options DENY 标头,默认值为 DENY。 您可以通过 keystone_x_frame_options 变量覆盖该标头。
错误修复¶
os_tempesttempest 角色正在下载两次镜像 - 一次是任意下载,一次是用于测试。这已被合并到一个一致位置的单个下载中。
16.0.3¶
新功能¶
Erlang 和的安装现在针对 CentOS 进行了优化。 Erlang 19.x 现在通过 RabbitMQ 开发人员维护的单个软件包安装,它提供 RabbitMQ 正常运行所需的最低功能。 它还包括 HiPE 支持以提高性能。
使用 yum 的 versionlock 插件保持 Erlang 版本恒定。
RabbitMQ 现在通过 RabbitMQ 开发人员提供的 RPM 仓库安装。 通过 yum 的 versionlock 插件保持版本恒定。 这允许任务将 RabbitMQ 版本锁定到特定修订版并防止更改该版本。
升级说明¶
ceph-ansible 集成已更新以支持 ceph-ansible v3.0 系列标签。 新的 v3.0 系列对 ceph-ansible 角色和变量进行了重大重构,因此强烈建议在升级之前查阅上游 ceph-ansible 文档 以执行任何必需的变量迁移。
ceph-ansible 常见角色不再使用 galaxy 风格的“.”(例如,
ceph.ceph-common现在被克隆为ceph-common),这是由于上游角色中元依赖项处理方式的更改。 角色将根据新的命名进行克隆,并添加了一个升级 playbookceph-galaxy-removal.yml以清理过时的 galaxy 命名的角色。
关键问题¶
ceph-ansible 集成已更新以支持 ceph-ansible v3.0 系列标签。 新的 v3.0 系列对 ceph-ansible 角色和变量进行了重大重构,因此强烈建议在升级之前查阅上游 ceph-ansible 文档 以执行任何必需的变量迁移。
错误修复¶
在所有发行版上都安装了
sysstat包,但它仅配置为在 Ubuntu 和 OpenSUSE 上运行。由于/etc/cron.d/sysstat上的 SELinux 上下文和文件权限不正确,它无法在 CentOS 上运行。此问题已得到修复,并且sysstat现在可以在 CentOS 上正常运行。
16.0.2¶
安全问题¶
在以前的版本中,
net.bridge.bridge-nf-call-*内核参数设置为0以提高性能,并将调整这些参数的任务留给 neutron 在应用安全组时执行。这可能导致桥接流量未通过 iptables,从而使安全组失效。这可能允许云中的意外入站和出站流量。现在,
openstack_hostsrole 在所有主机上将这些内核参数设置为1,以确保桥接流量始终通过 iptables。
16.0.1¶
新功能¶
openstack-ansible 及其 ceph-ansible 集成使用的 Ceph 稳定版本已更改为最近的 Ceph LTS Luminous 版本。
升级说明¶
openstack-ansible 及其 ceph-ansible 集成使用的 Ceph 稳定版本已更改为最近的 Ceph LTS Luminous 版本。
16.0.0¶
序言¶
Red Hat Enterprise Linux 7 STIG 的第一个发布版本完全从预发布版本重新编号。许多 STIG 配置只是更改了数字,但有些被删除或更改了。也添加了一些新的配置。
新功能¶
已为 CentOS7/RHEL 添加了 ceph_client 角色的支持。
目前仅支持 Ceph 仓库。
现在有实验性支持,可以在 CentOS 7 上部署 OpenStack-Ansible,用于开发和测试环境。
简化了 lbaas-mgmt 网络的配置。
添加了 iptables 规则以阻止来自 Octavia 管理网络的流量到 Octavia 容器,用于 ipv4 和 ipv6。
已添加实验性支持,以允许在存在于主机组
octavia-infra_hosts中的主机上部署 OpenStack Octavia 负载平衡服务。
OpenStack-Ansible 现在支持 openSUSE Leap 42.X 发行版,主要针对最新的 42.3 版本。
os_swift 角色现在支持 swift3 中间件,允许通过 Amazon S3 API 访问 swift。 可以通过将
swift_swift3_enabled设置为true来启用此功能。
已向 bootstrap-host 角色添加一个名为
bootstrap_user_variables_template的变量,以便用户可以定义 AIO 部署的用户变量模板文件名
添加了一种方法,使系统可以自动创建 Octavia 管理网络(如果启用了 octavia_service_net_setup(默认值))。 额外的参数可以控制设置。
添加了支持 glance-image-id 和自动上传镜像(如果 octavia_amp_image_upload_enabled 为 True(默认值为 False))。 这主要是为了解决 Ansible 的 OpenStack 支持的限制,不应在生产环境中使用的设置。 请参阅文档以自行上传镜像。
部署者现在可以为 EPEL 发布软件包指定自定义软件包名称或 URL。 CentOS 系统默认使用
epel-release,但有些部署者有一个自定义软件包,该软件包将服务器重定向到内部镜像。
已添加新变量,允许部署者根据自己的喜好自定义 aodh systemd 单元文件。
删除 aodh systemd 单元文件的任务现在使用
config_template操作插件,允许部署者访问自定义单元文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件污染通用的 systemd 单元文件。
对于
os_aodh角色,systemd 单元TimeoutSec值(控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间)已从 300 秒减少到 120 秒。 这为长期会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值(控制在重新启动时服务停止和启动之间的时间)已从 150 秒减少到 2 秒,以加快重新启动速度。 可以使用aodh_*_init_config_overrides变量调整这些值,这些变量使用config_template任务来更改模板默认值。
已添加新变量以允许部署者自定义 barbican systemd 单元文件。
将 barbican systemd 单元文件删除的任务现在使用
config_template操作插件,允许部署者根据自己的意愿自定义单元文件,而无需将额外的选项加载到默认值中并污染通用的 systemd 单元文件与 jinja2 变量和条件。
对于
os_barbican角色,systemd 单元TimeoutSec值(控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间)已从 300 秒减少到 120 秒。 这为长期会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值(控制在重新启动时服务停止和启动之间的时间)已从 150 秒减少到 2 秒,以加快重新启动速度。 可以使用barbican_*_init_config_overrides变量调整这些值,这些变量使用config_template任务来更改模板默认值。
neutron 的工作线程数现在将限制为 16,除非指定了特定值。 以前,计算出的工作线程数可能会在具有大量处理器的系统上过高。 这在 POWER 系统上尤其明显。
将变量
aodh_wsgi_processes的默认值限制为 16,当用户未配置此变量时。 默认值是机器上可用 vCPU 数量的两倍,但限制值为 16。
将变量
cinder_osapi_volume_workers的默认值限制为 16,当用户未配置此变量时。 默认值是机器上可用 vCPU 数量的一半,但限制值为 16。
将变量
glance_api_workers和glance_registry_workers的默认值限制为 16,当用户未配置这些变量时。 默认值是机器上可用 vCPU 数量的一半,但限制值为 16。
将变量
gnocchi_wsgi_processes的默认值限制为 16,当用户未配置此变量时。 默认值是机器上可用 vCPU 数量的两倍,但限制值为 16。
将变量
heat_api_workers和heat_engine_workers的默认值限制为 16,当用户未配置这些变量时。 默认值是机器上可用 vCPU 数量的一半,但限制值为 16。
将变量
horizon_wsgi_processes和horizon_wsgi_threads的默认值限制为 16,当用户未配置这些变量时。 默认值是机器上可用 vCPU 数量的一半,但限制值为 16。
将变量
ironic_wsgi_processes的默认值限制为 16,当用户未配置此变量时。 默认值是机器上可用 vCPU 数量的四分之一,但限制值为 16。
将变量
keystone_wsgi_processes的默认值限制为 16,当用户未配置此变量时。 默认值是机器上可用 vCPU 数量的一半,但限制值为 16。
将变量
neutron_api_workers、neutron_num_sync_threads和neutron_metadata_workers的默认值限制为 16,当用户未配置这些变量时。 默认值是机器上可用 vCPU 数量的一半,但限制值为 16。
将变量
nova_wsgi_processes、nova_osapi_compute_workers、nova_metadata_workers和nova_conductor_workers的默认值限制为 16,当用户未配置这些变量时。 默认值是机器上可用 vCPU 数量的一半,但限制值为 16。
将变量
repo_nginx_workers的默认值限制为 16,当用户未配置此变量时。默认值是机器上可用 vCPU 数量的一半,最高限制为 16。
将变量
sahara_api_workers的默认值限制为 16,当用户未配置此变量时。默认值是机器上可用 vCPU 数量的一半,最高限制为 16。
将变量
swift_proxy_server_workers的默认值限制为 16,当用户未配置此变量且 swift 代理位于容器中时。如果 swift 代理不在容器中,默认值是机器上可用 vCPU 数量的一半。如果代理位于容器中,默认值是机器上可用 vCPU 数量的一半,最高限制为 16。
已添加新变量,允许部署者根据自己的喜好自定义 ceilometer systemd 单元文件。
现在,删除 ceilometer systemd 单元文件的任务使用
config_template操作插件,允许部署者根据需要自定义单元文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件语句污染通用的 systemd 单元文件。
已添加新变量,允许部署者根据自己的喜好自定义 ceilometer systemd 单元文件。
删除 ceilometer systemd 单元文件的任务现在使用
config_template操作插件,允许部署者访问自定义单元文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件污染通用的 systemd 单元文件。
对于
os_ceilometer角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用ceilometer_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
对于
os_ceilometer角色,现在从 git 获取几个未模板化的配置文件。可以使用ceilometer_git_config_lookup_location变量更改使用的 git 仓库。默认情况下,它指向git.openstack.org。仍然可以使用ceilometer_x_overrides变量更改这些文件。
部署者可以将
pip_install_centos_mirror_url设置为使用他们首选的 RDO 仓库镜像。
ceph_client 角色现在提供了一个名为
ceph_extra_components的新变量。OpenStack-Ansible 默认不提供的额外组件、软件包和服务可以在此处定义。
已添加
cinder_auth_strategy变量以配置 Cinder 的身份验证策略,因为 Cinder 也可以以 noauth 模式工作。
os_cinderrole 现在提供在完成数据库同步后执行在线数据迁移的功能。数据迁移将不会执行,直到布尔变量cinder_all_software_updated为 true。此变量需要由使用该 role 的 playbook 设置。
已添加新变量,允许部署者根据自己的喜好自定义 cinder systemd 单元文件。
删除 cinder systemd 单元文件的任务现在使用
config_template操作插件,允许部署者访问自定义单元文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件污染通用的 systemd 单元文件。
os-cinder-install.ymlplaybook 现在将执行 cinder 的滚动升级,包括数据库迁移(模式和在线迁移),具体过程如 cinder 文档 中所述。当使用 haproxy 作为负载均衡器时,将被更改的后端将在进行更改之前被清空,并在更改完成后重新添加到池中。
添加了对 cinder v3 api 的支持。默认情况下启用此功能,但可以通过将
cinder_enable_v3_api变量设置为false来禁用它。
对于
os_cinder角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用cinder_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
cinder-api服务现在以 uWSGI 应用程序的身份运行。您可以使用cinder_wsgi_processes_max、cinder_wsgi_processes、cinder_wsgi_threads和cinder_wsgi_buffer_size设置最大数量的 WSGI 进程、进程数、线程数和缓冲区大小。此外,您可以使用cinder_api_uwsgi_ini_overrides设置覆盖 uWSGI ini 配置文件中的任何设置。uWSGI 应用程序将侦听cinder_uwsgi_bind_address指定的地址,默认值为0.0.0.0。
已将前缀“common-”添加到所有常见标签中。这是为了允许部署者根据需要快速运行任何常见标签,而无需重新运行整个 playbook。
config_template 模板模块现在支持写入无值的 INI 选项,而无需在其后附加“=”或“:” 。这是通过“ignore_none_type”属性完成的。如果 ignore_none_type 设置为 true,则将忽略这些键/值条目;如果设置为 false,则 ConfigTemplateParser 将仅写入选项名称,而无需“=”或“:”后缀。默认值为 true。
用于在 CentOS 7 上安装 LXC 的 COPR 仓库现在设置为高于默认值的优先级,以确保 LXC 包始终来自 COPR 仓库。
部署者可以通过新的 Ansible 变量提供自定义登录横幅:
security_login_banner_text。此横幅文本用于非图形化登录,包括控制台和 ssh 登录。
os_ceilometer角色现在包含一个设施,您可以在/etc/openstack_deploy/ceilometer(默认情况下) 中放置自己的模板,并在模板引擎解释后将其部署到目标主机。如果未在此处找到文件,则将使用 git 来源模板的备用方案。
如果需要,可以通过 designate_pools_yaml 属性生成 Designate pools.yaml 文件。这允许用户使用来自其他 play 的属性填充 Designate DNS 服务器配置,从而无需在 Designate 角色之外管理该文件。
对于
os_designate角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用designate_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
已添加一个用于安装来自 ESL(erlang solutions)的现代 erlang 的新仓库,使我们能够安装和支持跨多个操作系统的现代稳定 erlang 版本。
已添加设置 RabbitMQ 仓库 URL(包括 erlang 和 RabbitMQ 本身)的功能。这是为了允许部署者定义给定仓库的位置,而无需完全重新定义特定仓库的整个定义集。已创建默认变量 rabbitmq_gpg_keys、rabbitmq_repo_url 和 rabbitmq_erlang_repo_url 以促进此功能。
可以通过将项目添加到
keystone_extra_headers来向 Keystone 响应添加额外的标头。示例keystone_extra_headers: - parameter: "Access-Control-Expose-Headers" value: "X-Subject-Token" - parameter: "Access-Control-Allow-Headers" value: "Content-Type, X-Auth-Token" - parameter: "Access-Control-Allow-Origin" value: "*"
现在支持 Fedora 26。
如果设置了
galera_repo_url的值,galera_client角色将默认使用galera_repo_urlURL。这简化了使用 MariaDB 服务器和客户端的替代镜像,因为只需要设置一个变量即可覆盖它们。
添加了 get_nested 过滤器,允许简化嵌套字典中的值查找。例如,ansible_local|get_nested(‘openstack_ansible.swift’) 将向下查找 2 层并返回结果。
已添加新变量,允许部署者根据自己的喜好自定义 glance systemd 单元文件。
删除 glance systemd 单元文件的任务现在使用
config_template操作插件,允许部署者访问自定义单元文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件污染通用的 systemd 单元文件。
对于
os_glance角色,systemd 单元RestartSec值,它控制服务停止和重新启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用glance_*_init_config_overrides变量调整此值,这些变量使用config_template任务来更改模板默认值。
glance-api服务现在以 uWSGI 应用程序的身份运行。您可以使用glance_wsgi_processes_max、glance_wsgi_processes、glance_wsgi_threads和glance_wsgi_buffer_size设置最大数量的 WSGI 进程、进程数、线程数和缓冲区大小。此外,您可以使用glance_api_uwsgi_ini_overrides设置覆盖 uWSGI ini 配置文件中的任何设置。
os_gnocchi角色现在包含一个设施,您可以在/etc/openstack_deploy/gnocchi(默认情况下) 中放置自己的默认api-paste.ini或policy.json文件,并在模板引擎解释后将其部署到目标主机。
已添加新变量,允许部署者根据自己的喜好自定义 gnocchi systemd 单元文件。
删除 gnocchi systemd 单元文件的任务现在使用
config_template操作插件,允许部署者访问自定义单元文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件污染通用的 systemd 单元文件。
对于
os_gnocchi角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用gnocchi_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
几个未模板化的
os_gnocchi` 角色 的配置文件 现在 从 git 获取。 使用的 git 仓库 可以使用 ``gnocchi_git_config_lookup_location变量进行更改。默认情况下,它指向git.openstack.org。这些文件仍然可以使用gnocchi_x_overrides变量进行更改。
从现在开始,部署者可以通过创建文件夹
/etc/openstack_deploy/group_vars/来覆盖用户空间中的任何 group_var。此文件夹的优先级高于 OpenStack-Ansible 默认 group_vars,并且合并行为与 Ansible 合并行为类似。GROUP_VARS_PATH 仍然可以更改 group_vars 文件夹的优先级。同样适用于 host 变量。
可以使用新的选项
haproxy_backend_arguments向 HAProxy 后端添加任意选项,例如 tcp-check 或 http-check。
已添加新变量,允许部署者根据自己的喜好自定义 heat systemd 单元文件。
删除 heat systemd 单元文件的任务现在使用
config_template操作插件,允许部署者访问自定义单元文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件污染通用的 systemd 单元文件。
对于
os_heat角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用heat_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
heat-api、heat-api-cfn和heat-api-cloudwatch服务现在以 uWSGI 应用程序的身份运行。您可以使用heat_wsgi_processes_max、heat_wsgi_processes、heat_wsgi_threads和heat_wsgi_buffer_size设置最大数量的 WSGI 进程、进程数、线程数和缓冲区大小。此外,您可以使用heat_api_uwsgi_ini_overrides、heat_api_cfn_uwsgi_ini_overrides和heat_api_cloudwatch_uwsgi_ini_overrides设置覆盖 uWSGI ini 配置文件中的任何设置。uWSGI 应用程序将侦听heat_api_uwsgi_bind_address、heat_api_cfn_uwsgi_bind_address和heat_api_cloudwatch_uwsgi_bind_address分别指定的地址。所有这些都默认为0.0.0.0。
现在可以禁用 horizon 中的 heat stack 密码字段。已添加变量
horizon_enable_heatstack_user_pass,默认值为 True。
已添加变量
horizon_images_allow_location以支持 horizon_local_settings.py 文件中的IMAGES_ALLOW_LOCATION设置,以便在创建镜像时指定外部位置。
允许使用 SSL 支持进行 Galera 的 SSL 连接。必须将
galera_use_ssl选项设置为true,在这种情况下,自签名 CA 证书或用户提供的 CA 证书将传递到容器/主机。
实现了与 MySQL 的 SSL 连接能力。必须将
galera_use_ssl选项设置为true(默认),在这种情况下,playbooks 会创建自签名 SSL 捆绑包并设置 MySQL 配置以使用它,或在 Galera 节点之间分发用户提供的捆绑包。
Haproxy-server 角色允许设置可调参数。为此,有必要在配置文件中设置一个选项字典,提及需要更改的选项(其余选项的默认值在模板中编程)。此外,“maxconn”全局选项也设置为可调参数。
已添加新变量,允许部署者根据自己的喜好自定义 ironic systemd 单元文件。
删除 ironic systemd 单元文件的任务现在使用
config_template操作插件,允许部署者访问自定义单元文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件污染通用的 systemd 单元文件。
对于
os_ironic角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用ironic_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
已添加新变量,允许部署者根据自己的喜好自定义 keystone systemd 单元文件。
删除 keystone systemd 单元文件的任务现在使用
config_template操作插件,允许部署者访问自定义单元文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件污染通用的 systemd 单元文件。
os_keystone角色现在(默认情况下)将从服务 git 源代码而不是从角色中获取keystone-paste.ini、policy.json和sso_callback_template.html模板。它还包含一个设施,您可以在/etc/openstack_deploy/keystone(默认情况下) 中放置自己的模板,并在模板引擎解释后将其部署到目标主机。
对于
os_keystone角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用keystone_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
如果存在匹配的服务名称、类型、区域和接口,
keystone模块的ensure_endpoint方法的默认行为已更改为更新现有的端点。这确保了每个区域不存在重复的服务条目。
现在可以使用 horizon_launch_instance_defaults 变量来自定义“启动实例”模态中找到的属性的默认值,使用 LAUNCH_INSTANCE_DEFAULTS 配置选项。请参阅 https://docs.openstack.org/developer/horizon/install/settings.html#launch-instance-defaults
移除了 nova.conf 中设置
rbd_user和rbd_secret_uuid变量时对cinder_backends_rbd_inuse的依赖。Cinder 通过 RPC 在附加卷时传递所有必要的值,因此这些变量仅对存储在 Ceph 中的临时磁盘是必需的。这些变量需要在 cinder-volume 侧的后端部分中进行设置。
现在通过来自 COPR 仓库的软件包安装 CentOS 上的 LXC,而不是从上游源代码安装。
在 lxc_container_create 角色中,现在支持 Ubuntu 系统的
preup、postup、predown和postdown键在container_networks字典中。这允许操作员配置自定义脚本,以便在 Ubuntu 的 ifupdown 系统中更改网络接口状态时运行。
已向“lxc_hosts”角色添加变量
lxc_image_cache_server_mirrors。这是一个列表类型变量,使部署者能够同时指定多个 lxc-image 镜像。
已添加变量
lxc_net_manage_iptables。如果系统范围的 iptables 规则已经存在或由部署者选择管理,则部署者可以覆盖此变量。
已添加新变量,允许部署者根据自己的喜好自定义 magnum systemd unit 文件。
现在,删除 magnum systemd unit 文件的任务使用
config_template操作插件,允许部署者根据自己的需要自定义 unit 文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件语句污染通用的 systemd unit 文件。
对于
os_magnum角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用magnum_*_init_config_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
已更新 repo 服务器文件系统结构,以允许同时运行多个操作系统和多个体系结构,并从单个服务器提供服务,而不会影响池、venv、wheel 存档和清单。新的结构遵循以下模式 $RELEASE/$OS_TYPE-$ARCH,并已应用于 os-releases、venvs 和 pools。
neutron 的
dragonflow插件现在可用。您可以将neutron_plugin_type设置为ml2.dragonflow以利用此代码路径。dragonflow代码路径当前是实验性的。
已添加新变量,允许部署者根据自己的喜好自定义 neutron systemd unit 文件。
现在,删除 neutron systemd unit 文件的任务使用
config_template操作插件,允许部署者根据自己的需要自定义 unit 文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件语句污染通用的 systemd unit 文件。
os-neutron-install.ymlplaybook 现在将执行 neutron 的滚动升级,包括数据库迁移(扩展和收缩),具体过程如 neutron 文档 中所述。
对于
os_neutron角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用neutron_*_init_config_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
os_novarole 现在提供在完成数据库同步后执行在线数据迁移的功能。数据迁移将不会执行,直到布尔变量nova_all_software_updated为 true。此变量需要由使用该 role 的 playbook 设置。
已添加新变量,允许部署者根据自己的喜好自定义 nova systemd unit 文件。
现在,删除 nova systemd unit 文件的任务使用
config_template操作插件,允许部署者根据自己的需要自定义 unit 文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件语句污染通用的 systemd unit 文件。
默认情况下,现在配置了
nova-placement服务。可以将nova_placement_service_enabled设置为False以禁用nova-placement服务。
nova-placementapi 服务现在将作为其自身的 ansible 组nova_api_placement运行。
已添加 Nova cell_v2 支持。默认单元是
cell1,可以通过nova_cell1_name覆盖。目前尚不支持多个单元。
os-nova-install.ymlplaybook 现在将执行 nova 的滚动升级,包括数据库迁移,具体过程如 nova 文档 中所述。
Nova 现在可以使用加密的数据库连接。通过将
nova_galera_use_ssl设置为True来启用此功能。
对于
os_nova角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用nova_*_init_config_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
nova-api和nova-metadata服务现在移至作为 uWSGI 应用程序运行。您可以使用nova_api_os_compute_uwsgi_ini_overrides和nova_api_metadata_uwsgi_ini_overrides设置来覆盖它们的 uwsgi 配置文件。
已添加新的变量,允许部署者根据自己的喜好自定义 octavia systemd unit 文件。
现在,删除 octavia systemd unit 文件的任务使用
config_template操作插件,允许部署者根据自己的喜好自定义 unit 文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件污染通用的 systemd unit 文件。
对于
os_octavia角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用octavia_*_init_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
octavia-api服务现在移至作为 uWSGI 应用程序运行。您可以使用octavia_wsgi_processes_max、octavia_wsgi_processes、octavia_wsgi_threads和octavia_wsgi_buffer_size设置最大数量的 WSGI 进程、进程数、线程数和缓冲区大小。此外,您可以使用octavia_api_uwsgi_ini_overrides设置来覆盖 uWSGI ini 配置文件中的任何设置。uWSGI 应用程序将侦听由octavia_uwsgi_bind_address指定的地址,默认值为0.0.0.0。
部署者可以通过
octavia_user_haproxy_templates变量提供自定义 haproxy 模板文件的列表,并使用octavia_haproxy_amphora_template变量配置 Octavia 以使用自定义 haproxy 模板文件。
密码最小和最大生存期现在是可选择的更改,可以对用户帐户采取行动,而不是打印调试警告。请参阅 STIG 要求 V-71927 和 V-71931 的文档,以查看选择加入过程和警告。
已添加
lxc_container_recreate选项,它将销毁然后重新创建 LXC 容器。容器名称和 IP 地址将保持不变,使用lxc_container_fixed_mac设置的任何容器的 MAC 地址也将保持不变。
现在使用 Gnocchi 作为默认发布者。
在 Ocata 版本中,Trove 添加了对加密 guest DBaaS 实例与控制平面之间 rpc 通信的支持。应覆盖
trove_taskmanager_rpc_encr_key和trove_inst_rpc_key_encr_key的默认值,以指定安装特定的值。
已添加存储策略,以便部署者可以覆盖如何存储日志。
per_host将日志存储在每个主机的子目录中。per_program将日志存储在每个应用程序的单个文件中,从而便于故障排除。
已添加新的变量,允许部署者根据自己的喜好自定义 sahara systemd unit 文件。
现在,删除 sahara systemd unit 文件的任务使用
config_template操作插件,允许部署者根据自己的喜好自定义 unit 文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件污染通用的 systemd unit 文件。
对于
os_sahara角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用sahara_*_init_config_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
sahara-api服务现在移至作为 uWSGI 应用程序运行。您可以使用sahara_wsgi_processes_max、sahara_wsgi_processes、sahara_wsgi_threads和sahara_wsgi_buffer_size设置最大数量的 WSGI 进程、进程数、线程数和缓冲区大小。此外,您可以使用sahara_api_uwsgi_ini_overrides设置来覆盖 uWSGI ini 配置文件中的任何设置。uWSGI 应用程序将侦听由sahara_uwsgi_bind_address指定的地址,默认值为0.0.0.0。
现在将具有固定 MAC(lxc_container_fixed_mac 变量)的容器的 MAC 地址保存到
/etc/ansible/facts.d/mac.fact文件。如果此类容器被销毁但未从清单中删除,则接口将在容器重新创建时使用相同的 MAC 地址重新创建。
您可以通过指定
trove_service_net_endpoint_type变量来设置创建 Trove 服务网络时使用的endpoint_type。这将默认设置为internal。其他可能的选项是public和admin。
已实现禁用在检查和与内部 cinder 端点交互时进行证书验证的能力。为了做到这一点,请在
/etc/openstack_deploy/user_variables.yml中设置以下内容。cinder_service_internaluri_insecure: yes
该角色现在支持基于 SUSE 的发行版。所需的软件包现在可以使用 zypper 包管理器安装。
该角色现在支持基于 SUSE 的发行版。所需的软件包现在可以使用 zypper 包管理器安装。
已添加新变量,允许部署者根据自己的喜好自定义 swift systemd unit 文件。
现在,删除 swift systemd unit 文件的任务使用
config_template操作插件,允许部署者根据自己的需要自定义 unit 文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件语句污染通用的 systemd unit 文件。
对于
os_swift角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用swift_*_init_config_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
Swift container-sync 已更新为使用
internal-client。这意味着已添加新的配置文件internal-client.conf。可以使用变量swift_internal_client_conf_overrides覆盖配置。
已添加新的变量,允许部署者根据自己的喜好自定义 trove systemd unit 文件。
现在,删除 trove systemd unit 文件的任务使用
config_template操作插件,允许部署者根据自己的喜好自定义 unit 文件,而无需将额外的选项加载到默认值中,并用 jinja2 变量和条件污染通用的 systemd unit 文件。
对于
os_trove角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用trove_*_init_config_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
添加了对 IBM z 系统(s390x)上 Ubuntu 的支持。
添加了对 IBM z 系统(s390x)上 Ubuntu 的支持。
RabbitMQ 的默认 ulimit 现在为 65536。部署者仍然可以使用 Ansible 变量
rabbitmq_ulimit调整此限制。
添加了新的变量
tempest_volume_backend_names并更新了 templates/tempest.conf.j2,以将backend_names指向此变量
你可以通过将
horizon_translations_update设置为True来强制从 Zanata 直接更新翻译。这将调用horizon-manage.py中内置的pull_catalog选项。仅在测试翻译时才应使用此功能,否则应将其设置为默认值False。
部署者现在可以定义一个环境变量
GROUP_VARS_PATH,其中包含他们选择的文件夹(用冒号分隔),以定义用户空间 group_vars 文件夹。这些变量将应用,但当前会被 OpenStack-Ansible 默认 group_vars、设置的事实以及 user_* 变量覆盖。如果部署者定义了多个路径,则找到的变量将被合并,并且优先级从左到右增加(在 GROUP_VARS_PATH 中最后定义的变量获胜)。
部署者现在可以定义一个环境变量
HOST_VARS_PATH,其中包含他们选择的文件夹(用冒号分隔),以定义用户空间 host_vars 文件夹。这些变量将应用,但当前会被 OpenStack-Ansible 默认 host_vars、设置的事实以及 user_* 变量覆盖。如果部署者定义了多个路径,则找到的变量将被合并,并且优先级从左到右增加(在 HOST_VARS_PATH 中最后定义的变量获胜)。
已知问题¶
Ceph 存储后端目前尚不适用于 openSUSE Leap 42.X。这是由于上游 Ceph Ansible playbook 中缺少 openSUSE 支持所致。
目前 Ansible 存在一个关于
HOSTNAME的 bug。如果宿主机的.bashrc文件包含名为HOSTNAME的变量,那么lxc_container模块附加的容器将会继承这个变量,并可能设置错误的$HOSTNAME。请参阅 Ansible 的修复,该修复将在 Ansible 2.3 版本中发布。
OpenStack-Ansible 设置了一个新的变量 galera_disable_privatedevices,用于控制 MariaDB 的 systemd 单元文件中 PrivateDevices 配置是否启用。
如果 galera_server 角色部署在裸机主机上,则 MariaDB 默认值保持不变 (PrivateDevices=true)。如果 galera_server 角色部署在容器内,则将 PrivateDevices 配置设置为 true,以解决 systemd 在绑定挂载 /dev/ptmx 时出现的一个错误。
有关更多详细信息,请参阅 Launchpad Bug 1697531。
OpenStack-Ansible 设置了一个新的变量 memcached_disable_privatedevices,用于控制 MemcacheD 的 systemd 单元文件中 PrivateDevices 配置是否启用。
如果 memcached_server 角色部署在裸机主机上,则默认值保持不变 (PrivateDevices=true)。如果该角色部署在容器内,则将 PrivateDevices 配置设置为 true,以解决 systemd 在绑定挂载 /dev/ptmx 时出现的一个错误。
有关更多详细信息,请参阅 Launchpad Bug 1697531。
MemcacheD 在其 systemd 单元文件中设置 PrivateDevices=true,以围绕挂载命名空间增加额外的安全性。虽然在裸机主机上与其他服务一起运行 MemcacheD 时这很有用,但在 MemcacheD 已经位于具有自身命名空间的容器中时则用处不大。此外,LXC 2.0.8 在容器内将 /dev/ptmx 作为绑定挂载呈现,并且 systemd 219(在 CentOS 7 上)无法在启用 PrivateDevices 时对 /dev/ptmx 进行额外的绑定挂载。
部署者可以将 memcached_disable_privatedevices 设置为 yes,以在 CentOS 7 上的 MariaDB 的 systemd 单元文件中设置 PrivateDevices=false。默认值为 no,这将保留 MemcacheD 包中的默认 systemd 单元文件设置。
有关更多信息,请参阅以下错误:
MariaDB 10.1+ 在其 systemd 单元文件中包含 PrivateDevices=true,以围绕 MariaDB 的挂载命名空间增加额外的安全性。虽然在裸机主机上与其他服务一起运行 MariaDB 时这很有用,但在 MariaDB 已经位于具有自身命名空间的容器中时则用处不大。此外,LXC 2.0.8 在容器内将 /dev/ptmx 作为绑定挂载呈现,并且 systemd 219(在 CentOS 7 上)无法在启用 PrivateDevices 时对 /dev/ptmx 进行额外的绑定挂载。
部署者可以将 galera_disable_privatedevices 设置为 yes,以在 CentOS 7 上的 MariaDB 的 systemd 单元文件中设置 PrivateDevices=false。默认值为 no,这将保留 MariaDB 包中的默认 systemd 单元文件设置。
有关更多信息,请参阅以下错误:
升级说明¶
对于
os_aodh角色,systemd 单元TimeoutSec值(控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间)已从 300 秒减少到 120 秒。 这为长期会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值(控制在重新启动时服务停止和启动之间的时间)已从 150 秒减少到 2 秒,以加快重新启动速度。 可以使用aodh_*_init_config_overrides变量调整这些值,这些变量使用config_template任务来更改模板默认值。
对于
os_barbican角色,systemd 单元TimeoutSec值(控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间)已从 300 秒减少到 120 秒。 这为长期会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值(控制在重新启动时服务停止和启动之间的时间)已从 150 秒减少到 2 秒,以加快重新启动速度。 可以使用barbican_*_init_config_overrides变量调整这些值,这些变量使用config_template任务来更改模板默认值。
对于
os_ceilometer角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用ceilometer_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
已删除变量
cinder_sigkill_timeout和cinder_restart_wait。以前的默认值现在已在模板中直接设置,并且可以使用cinder_*_init_overrides变量进行调整,这些变量使用config_template任务来更改模板默认值。
仅当部署者将
security_enable_virus_scanner设置为yes时,才会安装和配置 EPEL 存储库。这允许安装 ClamAV 包。如果将security_enable_virus_scanner设置为no(默认值),则不会添加 EPEL 存储库。有关更多详细信息,请参阅 Bug 1702167。
部署者现在可以选择通过该角色阻止安装 EPEL 存储库。将
security_epel_install_repository设置为no可以防止安装 EPEL。此设置可能会阻止某些软件包的安装,例如 ClamAV。
由于各自的上游文件不再存在,因此已从
os_ceilometer角色中删除了以下变量:*ceilometer_event_definitions_yaml_overrides*ceilometer_event_pipeline_yaml_overrides
可以通过 designate_pools_yaml 属性生成 Designate pools.yaml 文件(如果需要)。此功能由 designate_use_pools_yaml_attr 属性控制。将来,此行为可能会成为默认设置,并且 designate_pools_yaml 可能会成为必需变量。
对于
os_designate角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用designate_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
Designate 用于与 neutron 通信的端点默认设置为 internalURL。此更改已在模板
designate.conf.j2中完成,可以使用designate_designate_conf_overrides变量进行更改。
切换到 ESL 仓库不会产生升级影响。ESL 提供的 erlang 版本比发行版仓库中的版本更新。此外,已添加一个引脚,以确保 APT 始终将 ESL 仓库用作首选源,这是为了确保 APT 始终指向 ESL。
对于
os_glance角色,systemd 单元RestartSec值,它控制服务停止和重新启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用glance_*_init_config_overrides变量调整此值,这些变量使用config_template任务来更改模板默认值。
对于
os_gnocchi角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用gnocchi_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
对于
os_heat角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用heat_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
整个 repo 构建过程现在是幂等的。从现在开始,当重新运行 repo 构建时,它只会获取更新的 git 仓库,并在需求发生变化或正在部署新版本时重建 wheels/venvs。
repo 构建过程中的 git 克隆部分现在仅在需求发生变化时发生。可以使用布尔变量
repo_build_git_reclone强制执行 git 重克隆。
python wheel 构建过程现在仅在需求发生变化时发生。可以使用布尔变量
repo_build_wheel_rebuild强制执行 wheel 重建。
python venv 构建过程现在仅在需求发生变化时发生。可以使用布尔变量
repo_build_venv_rebuild强制执行 venv 重建。
repo 构建过程现在只有以下标签,为每个交付物提供清晰的路径。标签
repo-build-install完成所需软件包的安装。标签repo-build-wheels完成 wheel 构建过程。标签repo-build-venvs完成 venv 构建过程。最后,标签repo-build-index完成 os-releases 和 links 文件夹的清单准备和索引。
变量
haproxy_bufsize已被删除,并包含在haproxy_tuning_params字典中。
对于
os_ironic角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用ironic_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
如果您有自己的 keepalived 配置文件,请将其重命名并移动到 openstack-ansible 用户空间,例如将其移动到
/etc/openstack_deploy/keepalived/keepalived.yml。我们的 haproxy playbook 不再加载外部变量文件。keepalived 变量覆盖系统已标准化为与其他地方相同的方法。
keystone 端点现在具有无版本化的 URL。任何现有的端点都将被更新。
Keystone 现在完全使用 uWSGI(而不是带有 mod_wsgi 的 Apache),并且 Web 服务器充当反向代理。默认 Web 服务器现在设置为 Nginx 而不是 Apache,但如果配置了联合身份验证,则会自动使用 Apache。
对于
os_keystone角色,控制停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间时间间隔的 systemd 单元TimeoutSec值已从 300 秒减少到 120 秒。这为长存会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。控制重新启动时服务停止和启动之间时间间隔的RestartSec值已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用keystone_*_init_config_overrides变量来调整这些值,这些变量使用config_template任务来更改模板默认值。
变量
lxc_container_ssh_delay以及 SSH 特定的 ping 检查已被删除,转而使用 Ansible 的 wait_for_connection 模块,该模块不会依赖于 SSH 到容器以验证连接。已添加一个名为lxc_container_wait_params的新变量,以允许配置传递给wait_for_connection模块的参数。
magnum 客户端交互现在默认使用公共端点。以前设置为使用内部端点。
由 magnum 生成的实例的 keystone 端点现在默认提供公共端点。以前设置为使用内部端点。
对于
os_magnum角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用magnum_*_init_config_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
对于
os_neutron角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用neutron_*_init_config_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
对于
os_nova角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用nova_*_init_config_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
升级 nova 时,cinder
catalog_info将更改为使用cinderv3端点。请确保已升级 cinder,以便 keystone 目录中存在cinderv3端点。
默认情况下,
nova-placement服务现在作为未由 nginx Web 服务器前端的 uWSGI 应用程序运行。升级后,如果nova-placement服务在没有需要 nginx 的其他服务的宿主机或容器上运行,则应手动删除 nginx。
对于
os_octavia角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用octavia_*_init_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
变量
neutron_dhcp_domain已重命名为neutron_dns_domain。
已从 OpenStack-Ansible 的插件中删除了
neutron库。应使用上游 Ansible 模块来管理 OpenStack 网络资源。
ceilometer-api 服务/容器可以作为 O->P 升级的一部分被删除。将创建一个 ceilometer-central 容器来包含中央 ceilometer 代理。
已从
haproxy_server角色中删除以下变量,因为它们不再必要或使用。- haproxy_repo - haproxy_gpg_keys - haproxy_required_distro_packages
现在已删除 EPEL 存储库,转而使用 RDO 存储库。
这对现有的 CentOS 部署来说是一个破坏性更改。 当它发现从 EPEL 安装的某些软件包不再可用时,
yum包管理器将出现错误。部署者可能需要重建容器或重新安装软件包才能完成此更改。
对于
os_sahara角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用sahara_*_init_config_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
对于
os_swift角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用swift_*_init_config_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
已删除
openstack_tempest_gate.sh脚本,因为它需要使用已被 Tempest 弃用的run_tempest.sh脚本。为了促进切换,变量tempest_run的默认值设置为yes,强制角色默认执行 tempest。可以通过将值覆盖为no来更改此默认值。可以通过列表变量tempest_test_whitelist设置测试白名单。
对于
os_trove角色,控制在停止或重新启动服务时发送 SIGTERM 信号和 SIGKILL 信号之间的时间的 systemd unitTimeoutSec值已从 300 秒减少到 120 秒。这为长寿命会话提供了 2 分钟的排空时间,同时防止在重新启动或停止之前启动新的会话。RestartSec值控制重新启动时服务停止和启动之间的时间,已从 150 秒减少到 2 秒,以加快重新启动速度。可以使用trove_*_init_config_overrides变量(使用config_template任务)来调整这些值,从而更改模板默认值。
Gnocchi 服务端点变量的命名不正确。已重命名变量,使其与其他角色保持一致。
弃用说明¶
变量
cinder_keystone_auth_plugin已被弃用。应使用cinder_keystone_auth_type来配置身份验证类型。
变量
neutron_keystone_auth_plugin已被弃用。应使用neutron_keystone_auth_type来配置身份验证类型。
变量
swift_keystone_auth_plugin已被弃用。应使用swift_keystone_auth_type来配置身份验证类型。
变量
trove_keystone_auth_plugin已被弃用。应使用trove_keystone_auth_type来配置身份验证类型。
变量
aodh_keystone_auth_plugin已被弃用。应使用aodh_keystone_auth_type来配置身份验证类型。
变量
ceilometer_keystone_auth_plugin已被弃用。应使用ceilometer_keystone_auth_type来配置身份验证类型。
变量
gnocchi_keystone_auth_plugin已被弃用。应使用gnocchi_keystone_auth_type来配置身份验证类型。
变量
octavia_keystone_auth_plugin已被弃用。应使用octavia_keystone_auth_type来配置身份验证类型。
已弃用 Fedora 25 支持,并且不再在每次提交时进行测试。
变量
galera_client_apt_repo_url和galera_client_yum_repo_url已被弃用,以支持通用的变量galera_client_repo_url。
变量
keepalived_uca_enable已被弃用,并由keepalived_ubuntu_src替换。变量keepalived_uca_enable将在 keepalived 角色的未来版本中被删除。变量keepalived_ubuntu_src的值应为“uca”、“ppa”或“native”,分别表示从 Ubuntu Cloud 存档、从 keepalived 稳定 ppa 或不从外部源安装。
变量
keepalived_use_latest_stable已被弃用,并由keepalived_package_state替换。变量keepalived_use_latest_stable将在 keepalived 角色的未来版本中被删除。变量keepalived_package_state的值应为“latest”或“present”。
变量
keystone_apache_enabled和keystone_mod_wsgi_enabled已被删除,并由单个变量keystone_web_server替换,以选择性地设置用于 keystone 的 Web 服务器。
在 Queens 周期中,
keystone模块的ensure_endpoint方法的update状态现在已被弃用,并将被删除。将状态设置为present将达到相同的效果。
变量
lxc_container_ssh_delay以及 SSH 特定的 ping 检查已被删除,转而使用 Ansible 的 wait_for_connection 模块,该模块不会依赖于 SSH 到容器。
变量
lxc_image_cache_server已在“lxc_hosts”角色中被弃用。默认情况下,此值将从lxc_image_cache_server_mirrors列表中提取第一个项目,这仅是为了兼容性(遗留)目的。默认字符串类型变量lxc_image_cache_server将在“R”版本中从“lxc_hosts”角色中删除。
gnocchi ceph 组件已移出作为 ceph_client 角色所需的默认组件。现在可以通过使用
ceph_extra_components变量来选择性地指定它。
已从
os_nova角色中删除了以下已弃用的nova.conf选项。以下 OpenStack-Ansible 变量不再使用,应从任何变量覆盖文件中删除。*nova_dhcp_domain*nova_quota_fixed_ips*nova_quota_floating_ips*nova_quota_security_group_rules*nova_quota_security_groups
与 nginx 和 placement 相关的设置将不再起作用,应将其删除。这些设置如下 -
nova_placement_nginx_access_log_format_extras、nova_placement_nginx_access_log_format_combined、nova_placement_nginx_extra_conf、nova_placement_uwsgi_socket_port和nova_placement_pip_packages。
已删除变量
repo_build_pip_extra_index。应使用替换列表变量repo_build_pip_extra_indexes。
ceilometer API 服务现已弃用。OpenStack-Ansible 不再部署此服务。要查询指标、警报和/或事件,请使用 gnocchi、aodh 和 panko API,分别。
根据 https://review.openstack.org/#/c/413920/20,ceilometer-collector 服务现已弃用,其各自的容器默认情况下不再由 OpenStack-Ansible 部署。gnocchi 现在用作默认发布者。
上游 noVNC 开发人员建议自动检测虚拟机的控制台键盘映射。已删除三个 Ansible 变量
nova_console_keymap
nova_novncproxy_vnc_keymap
nova_spice_console_keymap
部署者仍然可以使用 nova 配置覆盖来设置特定的键盘映射(如果需要)。
已删除 plumgrid 网络提供程序。由于公司 plumgrid 不复存在,因此无需进行完整的弃用周期即可删除此提供程序。
由于 Cinder 中 glance_api_version 选项已被弃用,因此删除了
cinder_glance_api_version选项。
由于 Cinder 中 glance_api_version 选项已被弃用,因此删除了
cinder_glance_api_version选项。
默认情况下已移除 Ansible 变量
nova_cpu_mode,以便 Nova 能够自动检测默认值。硬编码值可能会导致问题。您仍然可以设置nova_cpu_mode以强制为 Nova 设置cpu_mode。此外,qemu的libvirt_type的默认值设置为none,以避免与qemu2.6.0 引起的问题。
由于 oslo.messaging 中 rpc_backend 选项已被弃用,因此移除了
heat_rpc_backend选项。
由于 oslo.messaging 中 rpc_backend 选项已被弃用,因此移除了
octavia_rpc_backend选项。
由于 oslo.messaging 中 rpc_backend 选项已被弃用,因此移除了
keystone_rpc_backend选项。
由于 oslo.messaging 中 rpc_backend 选项已被弃用,因此移除了
cinder_rpc_backend选项。
由于 oslo.messaging 中 rpc_backend 选项已被弃用,因此移除了
trove_rpc_backend选项。
由于 oslo.messaging 中 rpc_backend 选项已被弃用,因此移除了
neutron_rpc_backend选项。
由于 oslo.messaging 中 rpc_backend 选项已被弃用,因此移除了
sahara_rpc_backend选项。
由于 oslo.messaging 中 rpc_backend 选项已被弃用,因此移除了
magnum_rpc_backend选项。
由于 oslo.messaging 中 rpc_backend 选项已被弃用,因此移除了
glance_rpc_backend选项。
由于 oslo.messaging 中 rpc_backend 选项已被弃用,因此移除了
designate_rpc_backend选项。
由于
backend1_name和backend2_name已从 tempest 的提交 27905cc (合并于 2016/04/26) 中移除,因此移除了tempest_volume_backend1_name和tempest_volume_backend1_name。
严重问题¶
已修复一个错误,该错误导致在重建第一个 Keystone 容器期间运行 playbook 时 Keystone 凭证密钥丢失。有关更多详细信息,请参阅 launchpad bug 1667960。
安全问题¶
安全角色默认情况下不再根据 RPM 数据库的内容修复文件权限和所有权。部署者可以通过将
security_reset_perm_ownership设置为yes来选择加入这些更改。
magnum 客户端交互现在默认使用公共端点。以前设置为使用内部端点。
由 magnum 生成的实例的 keystone 端点现在默认提供公共端点。以前设置为使用内部端点。
Nova 现在可以使用加密的数据库连接。通过将
nova_galera_use_ssl设置为True来启用此功能。
搜索
.shosts和shosts.equiv文件的任务(STIG ID:RHEL-07-040330)现在默认跳过。搜索在包含大量文件的系统上完成需要很长时间,并且在运行时也会导致大量的磁盘 I/O。
PermitRootLogin在 ssh 配置中已从yes更改为without-password。这将仅允许使用密钥通过 ssh 身份验证 root。
最新版本的 RHEL 7 STIG 要求在用户登录系统时向用户呈现标准的登录横幅 (V-71863)。安全角色现在部署一个用于控制台和 ssh 会话的登录横幅。
作为 RHEL-07-040070 和 RHEL-07-040080 的一部分包含的
cn_map权限和所有权调整已被删除。此 STIG 配置已从最新版本的 RHEL 7 STIG 中删除。
RHEL-07-040030、RHEL-07-040040 和 RHEL-07-040050 的基于 PKI 的身份验证检查不再包含在 RHEL 7 STIG 中。这些过时配置的任务和文档已被删除。
错误修复¶
在 Ubuntu 中,
dnsmasq包实际上包含 init 脚本和与 LXC 冲突的最佳不包含的服务配置。实际的依赖包是dnsmasq-base。已调整软件包列表,并添加了一个任务以删除dnsmasq包并从所有 LXC 主机中清除相关的配置文件。
基于 RabbitMQ 的文档 [ https://rabbitmq.cn/which-erlang.html ],此更改可确保我们跨发行版使用的 erlang 版本一致且受 RabbitMQ 支持。
现在可以正确覆盖 Mysql cnf 文件。config_template 模块已扩展为支持无值选项,例如在 my.cnf 文件中找到的那些选项(例如 quick 在 mysqldump 部分下)。要使用无值选项,请使用 config_template 模块的 ignore_none_type 属性。
即使它们没有容器,Metal 宿主机也被插入到
lxc_hosts组中 (Bug 1660996)。现在已为新配置的宿主机纠正了此问题。此外,在下一次 inventory 运行或 playbook 调用时,任何不属于lxc_hosts的宿主机都将被移除。
OpenStack 服务 URI 协议变量未被用于设置 Trove 特定的 URI。这导致即使打算使用 ‘https’,公共、管理和内部 URI 也始终使用 ‘http’。
sysctl 配置任务没有跳过
enabled设置为no的配置。 相反,当设置enabled: no时,它会删除配置。现在有一个修复程序,可确保任何
enabled: no的 sysctl 配置将被跳过,并且系统上的配置将保持不变。
其他说明¶
openSUSE Leap 42.X 支持仍在进行中,除了 OpenStack CI 和个人手动测试中的基本覆盖范围外,尚未完全测试。即使将修复程序回溯到 Pike 版本将尽最大努力完成,但建议在使用 openSUSE 主机时使用 master 分支。
库存生成代码已切换为使用标准的 Python 打包工具。对于大多数人来说,这不应该是一个可见的变化。但是,在本地开发环境中运行动态库存脚本现在应该通过
python dynamic_inventory.py来调用。
从现在开始,外部仓库管理(例如在 RDO/UCA 中使用)将在 pip-install 角色中完成,而不是在 repo_build 角色中。