Queens 系列发布说明

17.1.11

新特性

  • Cinder 调度器的已启用过滤器列表,scheduler_default_filterscinder.conf 中,先前只能通过 cinder_cinder_conf_overrides 中的条目定义。现在,您可以选择定义一个列表变量,cinder_scheduler_default_filters,该变量定义了启用的过滤器。如果想要禁用默认启用的过滤器(撰写本文时,这些过滤器为 AvailabilityZoneFilterCapacityFilterCapabilitiesFilter),或者相反地,想要添加通常未启用的过滤器,例如 DifferentBackendFilterInstanceLocalityFilter,这将很有帮助。

    例如,要启用 InstanceLocalityFilter 以及通常启用的调度器过滤器,请使用以下变量。

    cinder_scheduler_default_filters:
      - AvailabilityZoneFilter
      - CapacityFilter
      - CapabilitiesFilter
      - InstanceLocalityFilter
    

17.1.9

已知问题

  • 可用 inotify 监视实例的数量受系统范围内的 sysctl 设置限制。某些进程,例如 pypi-server 或来自 ops 仓库的 elasticsearch,可能会消耗大量 inotify 监视实例。如果达到系统范围内的最大值,则主机或主机上的任何容器中的任何进程都将无法创建新的 inotify 监视实例。Systemd 使用 inotify 监视实例,如果没有可用实例,则无法重启服务。同步仓库服务器内容的进程也依赖于 inotify 监视实例。如果仓库服务器无法同步,或者服务未按预期重启,请检查在 fs.inotify.max_user_watches 中定义的 inotify 监视实例限制。已经合并了补丁来增加这些限制,但是对于现有环境或尚未升级到足够新点发布的那些环境,可能需要手动应用增加的限制。

17.1.8

新特性

  • 现在可以使用 security_ntp_server_options 修改 chrony 中的 NTP 服务器选项。

  • Chrony 获得了一个新的配置选项,可以使用 security_ntp_sync_rtc 变量将系统时钟同步回 RTC。默认情况下禁用。

弃用说明

  • 为了更好地反映其目的,已实施以下变量名称更改。

    • lxc_host_machine_quota_disabled -> lxc_host_btrfs_quota_disabled

    • lxc_host_machine_qgroup_space_limit -> lxc_host_btrfs_qgroup_space_limit

    • lxc_host_machine_qgroup_compression_limit -> lxc_host_btrfs_qgroup_compression_limit

错误修复

  • 在使用带有写时复制后端的 LXC 容器时,由于带有 nspawn_host_ 前缀的未定义变量,lxc_hosts 角色执行失败。现在已修复此问题。

17.1.7

升级说明

  • 在升级过程中使用 run-upgrade 脚本时,neutron 代理现在将自动从 neutron_agents 容器迁移到 network_hosts。neutron_agents 容器将不再需要而被删除。之前已升级到 Queens 的环境可以使用相同的 playbook 来处理迁移,或者可以检查 playbook 以确定如何手动执行迁移(如果需要)。

错误修复

  • 随着 CentOS 7.6 的发布,部署中断并变得非常缓慢,因为我们在尝试捕获一些 PolicyKit 更改时重启了 dbus。但是,这些更改实际上从未被使用,因此它们是毫无理由的。我们不再对 systemd-machined 配置和/或 PolicyKit 进行任何修改,以保持上游兼容性。

17.1.6

新特性

  • 现在可以从 nova_virt_types 字典变量(通常为 kvm)下的相应条目中设置 Libvirt CPU 模型和特性标志。 nova_cpu_model 是一个字符串值,用于设置 CPU 模型;如果将任何 nova_cpu_mode 设置为 custom 之外的值,则此值将被忽略。 nova_cpu_model_extra_flags 是一个列表,允许您指定未通过 host-model 或您选择的 custom CPU 模型通常传递的额外 CPU 特性标志。

升级说明

  • 如果您的配置先前在 nova_nova_conf_overrides 字典中设置了 libvirt/cpu_model 和/或 libvirt/cpu_model_extra_flags 变量,则应考虑将这些变量移动到 nova_cpu_modelnova_cpu_model_extra_flagsnova_virt_types 字典的相应条目(通常为 kvm)中。

17.1.5

新特性

17.1.4

新特性

  • Horizon 自 OSA 诞生以来,一直以启用 HTTPS 访问的方式部署,并且没有关闭它的方法。某些用例可能希望通过 HTTP 访问,因此此补丁启用了以下功能。

    • 通过负载均衡器通过 HTTPS 侦听,但通过 horizon 主机通过 HTTP 侦听,并让负载均衡器转发正确的标头。由于负载均衡器的存在,它将在集成构建中默认执行此操作,因此保留了当前行为。

    • 在没有负载均衡器的情况下,在 horizon 主机上启用 HTTPS。这是角色的默认行为,与它一直以来所做的一样。

    • 通过设置 haproxy_ssl: no(这将禁用 haproxy 上的 https)完全禁用 HTTPS。此设置默认情况下被新的 horizon_enable_ssl 变量继承。这是一个新选项。

17.1.1

新特性

  • os_horizon role 现在支持分发用户自定义主题。部署人员可以使用 horizon_custom_themes 字典的新键 theme_src_archive 来提供存档主题的绝对路径。仅支持 .tar.gz、.tgz、.zip、.tar.bz、.tar.bz2、.tbz、.tbz2 存档。存档内的结构应为标准主题,没有前导文件夹。

  • Octavia 正在创建虚拟机、安全组和其他内容在其项目中的。在大多数情况下,默认配额不够大。这将调整它们为 (可配置的) 合理值。

安全问题

  • 避免为您的云设置过高的配额,因为这可能会影响其他服务的性能,并可能导致拒绝服务攻击,如果负载均衡器配额未正确设置或 RBAC 未正确设置。

错误修复

17.1.0

新特性

  • 现在可以使用 tempest_test_blacklist 列表变量指定 tempest 在执行时要黑名单的测试列表。

17.0.8

弃用说明

  • 反向代理 pypi 的 repo 服务器现已移除,仅留下 pypiserver 来提供 repo 服务器上已有的软件包。尝试反向代理上游 pypi 最终变得非常不稳定,并增加了使用代理或离线安装的部署者的复杂性。因此,变量 repo_nginx_pypi_upstreamrepo_nginx_proxy_cache_path 也已被移除。

17.0.7

错误修复

  • 确定了用于确定是否为联合部署部署 sso_callback_template.html 文件的条件。

17.0.6

新特性

  • 添加了选项 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 已不再使用,并已被移除。

错误修复

  • 为了防止 libvirt 和 python-libvirt 版本不匹配导致进一步的问题,基于 KVM 的计算节点现在将使用发行版软件包 python 库来处理 libvirt。这应该可以解决 CentOS 7.5 上 pike 构建中出现的问题。

17.0.5

新特性

  • Octavia 需要 SSL 证书才能与 amphora 进行通信。 这增加了为此目的自动创建自签名证书的功能。 它为 amphora 和控制平面使用不同的证书颁发机构,从而确保最大程度的安全性。

已知问题

  • 早于 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。 这导致在 OSA queens 版本早于 17.0.5repo-build.yml playbook 的 git 克隆阶段失败。 为了解决此问题,部署者可以升级到最新版本,或者可以在 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 来解决此问题。

17.0.4

已知问题

  • lxc_hosts 角色执行中,我们使用 images.linuxcontainers.org 每天生成的镜像。 最近镜像生成方式的更改导致默认 /etc/resolve.conf 在该默认镜像中发生更改。 因此,在执行缓存准备时,它会失败。 对于 queens 版本早于 17.0.4,解决此错误的解决方法是在 /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"
    

17.0.3

新特性

  • venvwithindex=Trueignorerequirements=True 都在 tempest_git_install_fragments 中指定 (如之前默认),这将导致 tempest 从 PyPI 安装,而没有任何约束条件。这可能导致集成构建中安装的 tempest 版本与独立角色测试中安装的版本不同。今后,我们将删除 tempest_git_* 在 playbooks/defaults/repo_packages/openstack_testing.yml 中的覆盖,以便集成构建从 PyPI 安装 tempest,但应用适当的约束条件。

  • 这会将 amphora 镜像任务合并到一个通用文件中,并添加了一种通过 http(s) 从制品存储下载 amphora 镜像的方法。 随着 Octavia 团队提供测试镜像,测试已被修改为不再构建镜像,而是下载它们。

安全问题

  • 通常认为从互联网下载随机镜像是一种不良做法,尤其是 Octavia 团队提供的测试镜像,这些镜像可能包含未修补的操作系统软件包 - 因此,对于任何生产部署,请将下载 URL 调整为您的组织控制的制品存储。 该系统也不会对镜像进行身份验证(例如使用 md5),因此仅应在您的组织控制的网络上使用它。

其他说明

  • 内部变量 python_ceph_package 已重命名为 python_ceph_packages,现在是一个列表而不是一个字符串。 如果您正在使用 gnocchi 和 ceph,并且在 ceph_extra_components 覆盖中使用此内部变量,请将其更新为 python_ceph_packages

17.0.2

新特性

  • 添加了对 horizon octavia-ui 仪表板的支持。 如果定义了任何 octavia 主机,仪表板将自动启用。 如果同时启用了 Neutron LBaaSv2 和 Octavia,则 Horizon 中将显示两个负载均衡器面板。

  • 添加了配置 Nova 供应商数据以能够通过元数据服务或配置驱动程序推送内容的功能。

  • 启用 networking-bgpvpn ml2 neutron 驱动程序,以使 OpenDaylight SDN Controller 支持 OpenDaylight 上的 BGPVPN 以实现外部网络连接。 您可以将 neutron_plugin_type 设置为 ml2.opendaylight,并将 neutron_plugin_base 设置为 odl-router_v2,并将 bgpvpn 设置为启用 OpenDaylight 上的 BGPVPN。

  • 默认变量 nova_default_schedule_zone 之前默认设置为 nova。 已经删除了此默认值,以允许 nova 代码设置默认值。 部署者希望保留 nova 的默认可用区必须现在将该变量设置为 user_variables.yml 或 group_vars 覆盖。

升级说明

  • 从 pike 升级到 queens 时,容器/服务设置发生了以下更改。

    • 所有 cinder 容器服务都合并到一个 cinder_api_container 中。 之前实现的 cinder_scheduler_container 可以删除。

    • 创建了一个新的 heat_api 容器,所有 heat 服务都在其中运行。 之前实现的 heat_apis_containerheat_engine_container 可以删除。

    • ironic conductor 服务已合并到 ironic_api_container 中。 之前实现的 ironic_conductor_container 可以删除。

    • 所有 nova 服务都合并到 nova_api_container 中,其余 nova 容器可以删除。

    • 所有 trove 服务都合并到 trove_api_container 中。 之前实现的 trove_conductor_containertrove_taskmanager_container 可以删除。

    已经添加了 playbook 以通过自动化促进此过程。 请参阅操作指南中的 主要 升级 章节。

17.0.1

升级说明

  • 如果启用了 ceph-ansible,用户应从其主机中清除“ntp”软件包。ceph-ansible 之前配置为默认安装 ntp,这与 OSA ansible-hardening 角色 chrony 服务冲突。

错误修复

  • ceph-ansible 不再默认配置为安装 ntp,这与 OSA 的 ansible-hardening role 冲突,该 role 用于使用 ‘chrony’ 实现 ntp。

17.0.0

新特性

  • 已添加一个新变量,以允许部署者控制来自 common-tasks/os-lxc-container-setup.yml 的容器重启。 这个新选项是 lxc_container_allow_restarts,默认值为 true。 如果部署者希望禁用自动重启功能,他们可以将此值设置为 false,则将禁用自动容器重启。 这是与 lxc_container_create 角色中已存在的相同选项的补充。 此选项对于避免 galera 或 rabbitmq 容器在 LXC 容器配置以需要重启的方式发生更改时发生不协调的重启非常有用。

  • OpenStack-Ansible 现在支持 openSUSE Leap 42.X 发行版,主要针对最新的 42.3 版本。

  • openstack-ansible 及其 ceph-ansible 集成使用的 Ceph 稳定版本已更改为最近的 Ceph LTS Luminous 版本。

  • galera 集群现在支持通过 HTTP 使用端口 9200 进行集群健康状况检查。 新的集群检查通过使用监控用户对 wsrep sync 状态运行简单的查询来确保节点是健康的。 此更改将提供更强大的集群检查,确保我们拥有尽可能具有容错能力的 galera 集群。

  • 典型的 OSA 安装会将 neutron 和 octavia 队列放在不同的 vhost 上,从而阻止事件流传输器工作。 虽然 octavia 正在将其流式传输到自己的队列,但 neutron 侧的消费者正在侦听 neutron 队列。 借助 octavia 的最新增强功能,可以配置一个单独的队列用于事件流传输器。 此补丁程序会将事件流传输器设置为使用 neutron 的凭据将流式传输发布到 neutron 队列。 从而到达 neutron-lbaas 侧的消费者并允许进行流式传输。

  • 默认情况下,现在已禁用为软件包安装的所有文件生成和验证校验和。 检查会导致 playbook 运行延迟,并且会消耗大量的 CPU 和 I/O 资源。 部署者可以通过将 security_check_package_checksums 设置为 yes 来重新启用检查。

  • CentOS 7 环境的部署者可以使用 openstack_hosts_enable_yum_fastestmirror 变量来启用或禁用 yum 的 fastestmirror 插件。 默认设置 yes 确保 fastestmirror 已启用。

  • 已添加新的超visor 组,允许部署者更好地定义其计算工作负载。 虽然通用的“compute_hosts”组仍然有效,但现在可以使用 ironic-compute_hostskvm-compute_hostslxd-compute_hostsqemu-compute_hostspowervm-compute_hosts 组显式定义计算主机。

  • 已添加一个选项,允许用户定义 LBaaSv2 使用的 user_group。 新选项是 neutron_lbaasv2_user_group,默认情况下在 OS 特定值中设置。

  • 现在可以使用 lxc_cache_prep_timeout 变量配置强制失败 LXC 缓存准备过程的最长时间。 该值以秒为单位指定,默认值为 20 分钟。

  • 已添加一个新变量,允许部署者设置 OSA 在容器中运行部署时将使用的容器技术。 这个新变量是 container_tech,默认值为“lxc”。

  • 现在允许 lxcbr0 网桥由 NetworkManager 控制,这使得系统启动时网络能够以正确的顺序启动。 此外,启用了 NetworkManager-wait-online.service,以确保所有需要网络才能运行的服务(例如 keepalived)仅在网络配置完成后才启动。 这些更改仅在部署者在其环境中主动使用 NetworkManager 时应用。

  • Neutron 连接代理现在将在 openstack_user_config.yml 中定义的“network_hosts”内的裸机上部署。

  • Galera 健康检查已得到改进,并依赖于一个 xinetd 服务。 默认情况下,该服务是无法访问的(使用 no_access 指令过滤)。 您可以通过将任何 xinetd 有效值设置为 galera_monitoring_allowed_source 来覆盖该指令。

  • 现在可以手动指定使用不在 Ansible 库存中的后端节点的 HAProxy 服务,方法是将 haproxy_backend_nodes 设置为包含 nameip_addr 设置的列表。

  • 已实现支持 NSH 的 Open vSwitch 数据平面。 可以通过在 /etc/openstack_deploy/user_variables.yml 中设置 ovs_nsh_support: True 来激活此功能。

  • 已向 os_tempest 角色添加了一个新变量 tempest_roles,允许用户定义在 tempest 测试期间使用的 keystone 角色。

  • 现在可以设置 security_sshd_permit_root_login 设置,以更改 /etc/ssh/sshd_config 中的 PermitRootLogin 设置为任何可能的选项。 将 security_sshd_permit_root_login 设置为 without-passwordprohibit-passwordforced-commands-onlyyesno 中的一个。

  • 现在已启用持久 systemd 日志。 这允许部署者将较旧的 systemd 日志保存在磁盘上以供查看。 磁盘空间要求非常低,因为日志以二进制格式存储。 持久日志的默认位置是 /var/log/journal

    部署者可以通过将 openstack_host_keep_journals 设置为 no 来选择退出此更改。

  • ppc64le 使用的额外 percona 包现在默认由 Ansible 部署主机下载,而不是目标主机。 下载完成后,这些软件包将被推送到目标主机。 可以通过将 galera_server_extra_package_downloader 设置为 target-host 来调整此行为。 这些软件包下载到 galera_server_extra_package_path 中设置的路径。

  • repo 服务器现在实现 nginx 作为来自 pypi 的 python 包的反向代理。 初始查询将发送到本地部署的 pypiserver,以便提供任何本地构建的软件包,但如果本地不可用,它将重试查询上游 pypi 镜像,该镜像在变量 repo_nginx_pypi_upstream 中设置(默认为 pypi)并缓存响应。

  • 部署者可以通过设置 haproxy_stats_refresh_interval 变量来设置 haproxy 统计页面刷新间隔。 默认值为 60,这将使 haproxy 每 60 秒刷新一次统计页面。

  • 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。

  • ansible-hardening 角色中的任务现在基于 Red Hat Enteprise Linux Security Technical Implementation Guide 第 1 版第 3 版。

  • sysctl 参数 kernel.randomize_va_space 现在默认设置为 2。 这与大多数现代 Linux 发行版的默认设置匹配,并且可确保启用地址空间布局随机化 (ASLR)。

  • Datagram Congestion Control Protocol (DCCP) 内核模块现在默认禁用,但需要重新启动才能使更改生效。

  • 禁用 machinectl 配额系统的选项已更改。 变量 lxc_host_machine_quota_disabled 是一个布尔值,默认值为 false。 当此选项设置为 true 时,它将禁用 machinectl 配额系统。

  • 已添加 lxc_host_machine_qgroup_space_limitlxc_host_machine_qgroup_compression_limit 选项,允许部署者根据需要设置 qgroup 限制。 这些选项的默认值为“none”,实际上是 unlimited。 这些选项接受任何标称大小值,后跟单个字母类型,例如 64G。 只有当 lxc_host_machine_quota_disabled 选项设置为 false 时,这些选项才有效。

  • 通过将 nova_compute_ksm_enabled 设置为 True 来启用内核共享内存支持。

  • 当使用 Glance 和 NFS 时,NFS 挂载点现在将使用 systemd 挂载单元文件进行管理。 此更改可确保 Glance 的部署不会对 /etc/fstab 进行潜在的系统影响更改,并使我们部署 Glance 的方式现代化,尤其是在使用共享存储时。

  • 已添加新的变量到 glance 角色,允许部署者设置 glance 用户的 UID 和 GID。 新选项是 glance_system_user_uidglance_system_group_uid。 当使用共享存储作为图像后端部署 glance 时,这些选项很有用,并且仅在定义了 UID 和 GID 时才会设置 glance 用户的 UID 和 GID。

  • 默认情况下,现在已禁用搜索可写入世界的文件的功能。 搜索会导致 playbook 运行延迟,并且会消耗大量的 CPU 和 I/O 资源。 部署者可以通过将 security_find_world_writable_dirs 设置为 yes 来重新启用搜索。

已知问题

  • 已知 Ceph 存储后端目前无法在 openSUSE Leap 42.X 上工作。 这是由于上游 Ceph Ansible playbook 中缺少 openSUSE 支持所致。

升级说明

  • ceph-ansible 集成已更新,以支持 ceph-ansible v3.0 系列标签。 新的 v3.0 系列为 ceph-ansible 角色和变量带来了重大的重构,因此强烈建议您在升级之前查阅上游 ceph-ansible 文档 以执行任何必需的变量迁移。

  • ceph-ansible 通用角色不再使用 galaxy 风格的“.”(例如,ceph.ceph-common 现在被克隆为 ceph-common),这是由于上游 ceph 角色中元依赖项处理方式的更改所致。 角色将根据新的命名进行克隆,并添加了一个升级 playbook ceph-galaxy-removal.yml 以清理过时的 galaxy 命名的角色。

  • openstack-ansible 及其 ceph-ansible 集成使用的 Ceph 稳定版本已更改为最近的 Ceph LTS Luminous 版本。

  • KSM 配置默认情况下更改为在 Ubuntu 上禁用。 如果您过度提交超visor 上的 RAM,建议将 nova_compute_ksm_enabled 设置为 True

  • 默认情况下,现在已禁用 glance v1 API,因为该 API 计划在 Queens 中删除。

  • 默认情况下,现在已禁用 glance 注册表服务,因为它不需要 v2 API 并且计划在未来删除。 可以通过将 glance_enable_v2_registry 设置为 True 来启用该服务。

  • 升级时,部署者无需立即执行任何操作即可在 network_hosts 组内的主机上运行 neutron 代理服务。 简单地执行 playbook 即可在裸机上部署 neutron 服务器,并保留所有现有的代理容器不变。

  • 建议部署者在完成升级并验证集群稳定后清理 neutron_agents 容器。 这可以通过简单地禁用在 neutron_agent 容器中运行的 neutron 代理,重新平衡针对新的裸机代理的服务,删除容器,最后从库存中删除容器来完成。

  • 以下资源的默认配额已增加:网络(从 10 到 100)、子网(从 10 到 100)、端口(从 50 到 500),以匹配上游默认值。

  • 使用 Designate v1 API 的任何工具都需要重做以使用 v2 API

  • 如果您已覆盖您的 openstack_host_specific_kernel_modules,请删除其组匹配,并将该覆盖直接移动到适当的组。

    例如,对于像

    - name: "ebtables"
      pattern: "CONFIG_BRIDGE_NF_EBTABLES"
      group: "network_hosts"
    

    这样的覆盖,您可以在 network_host 组的组变量文件夹 /etc/openstack_deploy/group_vars/network_hosts 中创建一个文件,内容为

    - name: "ebtables"
      pattern: "CONFIG_BRIDGE_NF_EBTABLES"
    
  • 来自 Pike 或更早版本 Ubuntu 的任何用户都应修改其 user_external_repos_list,将 ubuntu cloud 存档存储库从 state: present 切换到 state: absent。 从现在开始,UCA 将使用文件名 uca 定义。 如果部署者想要使用其镜像,他仍然可以覆盖变量 uca_repo 以指向其镜像。 或者,部署者可以完全定义要添加和删除的仓库,忽略我们的默认值,方法是覆盖 openstack_hosts_package_repos

弃用说明

  • 用于在 Ubuntu 发行版上选择上游 Percona 存储库的变量 galera_percona_xtrabackup_repo_url 已删除,并且默认情况下始终使用默认的上游存储库。

  • 变量 keystone_memcached_serverskeystone_cache_backend_argument 已被弃用,取而代之的是 keystone_cache_servers,这是一个用于缓存目的的服务器列表。

  • 在 Queens 之前的 OSA 部署中,如果 repo_git_cache_dir 设置为 repo 容器主机上存在的文件夹,则该文件夹将被符号链接到 repo 容器的绑定挂载点,而不是将其内容同步到 repo 容器。此功能在 Queens 中已被弃用,并在 Rocky 中将被移除。仍然可以使用 git 缓存,但文件夹内容将从部署主机同步到 repo 容器。如果您之前使用了符号链接功能,请将内容移动到标准文件夹并删除符号链接。

  • Ceilometer API 在 OpenStack Queens 版本中不再可用,此补丁删除了所有与 API 相关配置的引用,因为它们不再需要。

  • 变量 galera_client_opensuse_mirror_obs_url 已被移除,因为不再使用 OBS 仓库来安装 MariaDB 包。

  • 变量 glance_enable_v1_registry 已被移除。在使用 glance v1 API 时,注册服务是必需的,因此拥有一个禁用它的变量没有意义。现在使用变量 glance_enable_v1_api 来启用/禁用 v1 API 的服务。

  • 在 OpenStack-Ansible 的 ocata 版本中实现的 nova_placement 数据库实际上从未被用于任何目的,因为上游代码中存在回滚。数据库应该为空,可以删除。因此,以下变量也不再具有任何功能,并且已被移除。

    • nova_placement_galera_user

    • nova_placement_galera_database

    • nova_placement_db_max_overflow

    • nova_placement_db_max_pool_size

    • nova_placement_db_pool_timeout

  • 以下变量已被移除,因为它们不再具有任何用途。

    • galera_package_arch

    • percona_package_download_validate_certs

    • percona_package_url

    • percona_package_fallback_url

    • percona_package_sha256

    • percona_package_path

    • qpress_package_download_validate_certs

    • qpress_package_url

    • qpress_package_fallback_url

    • qpress_package_sha256

    • qpress_package_path

    之前使用这些变量的功能已过渡到使用更简单的数据结构。

  • 为了简化 os_tempest 角色,已移除以下变量。它们已被通过数据结构 tempest_images 替换,该结构现在具有每个镜像的等效变量。- cirros_version - tempest_img_url - tempest_image_file - tempest_img_disk_format - tempest_img_name - tempest_images.sha256 (被 checksum 替换)

关键问题

  • ceph-ansible 集成已更新,以支持 ceph-ansible v3.0 系列标签。 新的 v3.0 系列为 ceph-ansible 角色和变量带来了重大的重构,因此强烈建议您在升级之前查阅上游 ceph-ansible 文档 以执行任何必需的变量迁移。

  • Designate V1 API 已被移除,无法启用。

安全问题

  • 容器中 sshd_config 中的 PermitRootLogin 已从 ‘yes’ 更改为 ‘prohibit-password’。默认情况下,容器中没有设置密码,但部署主机的 ssh 公钥被注入到目标节点的 authorized_keys 中。

  • 添加了以下标头作为附加的默认(和静态)值:X-Content-Type-Options nosniffX-XSS-Protection “1; mode=block”Content-Security-Policy “default-src ‘self’ https: wss:”。此外,还添加了 X-Frame-Options DENY 标头,默认设置为 DENY。您可以通过变量 keystone_x_frame_options 覆盖该标头。

  • 由于我们使用 neutron 的凭据访问队列,因此对安全性有要求的人员可能希望在 neutron 队列上为 octavia 设置一个额外的用户,仅限于 octavia 发布的主题。

错误修复

  • 当变量 glance_enable_v2_registry 设置为 True 时,相应的 data_api 设置现在被正确设置。 之前未设置,因此 API 服务未正确告知注册正在运行。

  • os_tempest tempest 角色正在下载两次镜像 - 一次是任意下载,一次是用于测试。这已被合并到一个一致位置的单个下载中。

  • CentOS 7 上 neutron 的 SELinux 策略现在已提供,以修复 neutron 代理尝试启动 haproxy 和 dnsmasq 等守护进程时发生的 SELinux AVC。

其他说明

  • openSUSE Leap 42.X 支持仍在进行中,除了 OpenStack CI 和个人手动测试中的基本覆盖范围外,尚未完全测试。 即使将修复程序回溯到 Pike 版本将尽最大努力完成,但建议在使用 openSUSE 主机时使用 master 分支。

  • CentOS 部署需要一个特殊的 COPR 仓库来获取现代 LXC 包。 COPR 仓库目前未被镜像,这导致了失败的 gate 测试和生产部署。

    该角色现在将 LXC 包从 COPR 同步到每个主机,并在 /opt/thm-lxc2.0 中构建一个本地 LXC 包仓库。 这大大减少了在部署期间必须从 COPR 服务器下载包的次数,这将减少故障,直到这些包可以托管在更可靠的源中。

    此外,这应该加快 playbook 的运行速度,因为 yum 可以检查本地托管的仓库,而不是具有可用性和性能挑战的远程仓库。

  • 通过定义 cinder_system_user_uidcinder_system_group_gid,添加了指定 cinder 系统用户 GID 和 UID 的支持。 此设置是可选的。

  • 变量 nova_scheduler_use_baremetal_filtersnova_metadata_host 已被移除,以匹配上游 nova 的更改。 nova_virt_types 字典也不再需要 nova_scheduler_use_baremetal_filtersnova_firewall_driver 键。

  • Icehouse 发布以来,max_fail_percentage playbook 选项一直被标记为要移除。 虽然目的是允许大规模部署在单个节点由于瞬态问题而失败的情况下成功,但此选项产生的问题比它解决的问题更多。 如果发生瞬态但低于设置的失败百分比的故障,playbook 将报告成功,这可能导致根据故障发生的位置出现静默故障。 如果部署人员发现自己处于这种情况,则问题会加剧,因为工具将报告没有已知问题。 为了确保部署人员获得最佳的部署体验和最准确的信息,已更改为从所有默认 playbook 中移除 max_fail_percentage 选项。 移除此选项的副作用是,如果需要从运行中省略某个主机,则需要跳过特定的主机,但好处是消除了难以追踪的静默故障。 要跳过给定 playbook 运行中的故障主机,请使用特定运行的 –limit ‘!$HOSTNAME’ CLI 切换器。 一旦解决故障主机的相关问题,请重新运行特定的 playbook,而无需 –limit 选项,以确保一切同步。

  • use_neutron 选项被标记为在 sahara 中要移除。

  • vars 插件 override_folder.py 已被移除。 随着 Ansible 2.4 的发展 [”https://review.openstack.org/#/c/522778”],此插件不再需要。 此插件提供的功能已替换为本机 Ansible 仓库插件。