Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

发行注记

Red Hat OpenStack Platform 13

Release details for Red Hat OpenStack Platform 13

摘要

本文档概述此 Red Hat OpenStack Platform 发行版本的主要功能、功能增强和已知问题。

第 1 章 简介

1.1. 关于本发行版本

此 Red Hat OpenStack Platform 发行版本基于 OpenStack "Queens" 发行版本。其中包括特定于 Red Hat OpenStack Platform 的附加功能、已知问题和已解决的问题。

本文仅包含与 Red Hat OpenStack Platform 相关的变更。OpenStack "Queens"发行版本本身的发行说明可在以下位置找到 :https://releases.openstack.org/queens/index.html。

Red Hat OpenStack Platform 使用了其他红帽产品的组件。有关这些组件支持的具体信息,请参见以下链接:

https://access.redhat.com/site/support/policy/updates/openstack/platform/

要评估 Red Hat OpenStack Platform,请访问:

http://www.redhat.com/openstack/

注意

Red Hat OpenStack Platform 用例可以使用 Red Hat Enterprise Linux High Availability 附加组件。有关附加组件的详情,请查看以下 URL 如需了解与 Red Hat OpenStack Platform 搭配使用的软件包版本的详细信息,请参阅以下 URL: https://access.redhat.com/site/solutions/509783

1.2. 要求

Red Hat OpenStack Platform 只支持 Red Hat Enterprise Linux 7 的最新版本。

Red Hat OpenStack Platform 仪表板(horizon)是一个基于 Web 的界面,用于管理 OpenStack 资源和服务。此版本的控制面板支持下列网页浏览器的最新稳定版本:

  • Chrome
  • Firefox
  • Firefox ESR
  • Internet Explorer 11 及更高版本(禁用兼容模式

    注意

    您可以使用 Internet Explorer 11 显示控制面板,但由于该浏览器已不再维护,预计一些功能会降级。

1.3. 部署限制

如需 Red Hat OpenStack Platform 的部署限制清单,请参见 Red Hat OpenStack Platform 部署限制

1.4. 数据库容量管理

有关在 Red Hat OpenStack Platform 环境中维护 MariaDB 数据库容量的推荐做法,请参见 Red Hat Enterprise Linux OpenStack Platform 数据库容量管理

1.5. 认证的驱动程序和插件

如需 Red Hat OpenStack Platform 中经认证的驱动程序和插件的列表,请参见 Red Hat OpenStack Platform 组件、插件和驱动程序支持

1.6. 认证的客户机操作系统

如需 Red Hat OpenStack Platform 中经认证的客户机操作系统的列表,请参见 Red Hat OpenStack Platform 和 Red Hat Enterprise Virtualization 中的经认证的客户机操作系统

1.7. 裸机置备支持的操作系统

如需可通过裸机置备(ironic)在 Red Hat OpenStack Platform 中裸机节点上安装的受支持客户机操作系统的列表,请参阅可通过 裸机置备(ironic) 部署的受支持操作系统。

1.8. 虚拟机监控程序支持

Red Hat OpenStack Platform 仅支持与 libvirt 驱动程序一起使用(使用 KVM 作为 Compute 节点上的虚拟机监控程序)。

从 Red Hat OpenStack Platform 7 (Kilo)发行版本起,Ironic 被全面支持。Ironic 允许您使用通用技术(如 PXE 引导和 IPMI)置备裸机机器,从而覆盖广泛的硬件,同时支持可插拔式驱动程序,实现特定供应商的附加功能。

红帽不支持其他计算虚拟化驱动程序,如已淘汰的 VMware "direct-to-ESX" hypervisor 和非 KVM libvirt 管理程序。

1.9. 内容交付网络 (CDN) 软件仓库

本节介绍了部署 Red Hat OpenStack Platform 13 所需的存储库设置。

您可以通过内容交付网络(CDN)安装 Red Hat OpenStack Platform 13。要做到这一点,将 subscription-manager 配置为使用正确的软件仓库。

运行以下命令启用 CDN 存储库:

#subscription-manager repos --enable=[reponame]

运行以下命令以禁用 CDN 存储库:

#subscription-manager repos --disable=[reponame]

表 1.1. 所需的存储库(x86_64)

软件仓库名称软件仓库标签

Red Hat Enterprise Linux 7 Server (RPMS)

rhel-7-server-rpms

Red Hat Enterprise Linux 7 Server - RH Common (RPMs)

rhel-7-server-rh-common-rpms

Red Hat Enterprise Linux High Availability (for RHEL 7 Server)

rhel-ha-for-rhel-7-server-rpms

Red Hat OpenStack Platform 13 for RHEL 7 (RPMs)

rhel-7-server-openstack-13-rpms

Red Hat Enterprise Linux 7 Server - Extras (RPMs)

rhel-7-server-extras-rpms

表 1.2. 可选存储库(x86_64)

软件仓库名称软件仓库标签

Red Hat Enterprise Linux 7 Server - Optional

rhel-7-server-optional-rpms

Red Hat OpenStack Platform 13 Operational Tools for RHEL 7 (RPMs)

rhel-7-server-openstack-13-optools-rpms

表 1.3. 所需的存储库(ppc64le)

软件仓库名称软件仓库标签

Red Hat Enterprise Linux for IBM Power, little endian

rhel-7-for-power-le-rpms

Red Hat OpenStack Platform 13 for RHEL 7 (RPMs)

rhel-7-server-openstack-13-for-power-le-rpms

禁用的软件仓库

下表概述了必须禁用的存储库以确保 Red Hat OpenStack Platform 13 正常工作。

表 1.4. 禁用的软件仓库

软件仓库名称软件仓库标签

Red Hat CloudForms Management Engine

"cf-me-*"

Red Hat Enterprise Virtualization

"rhel-7-server-rhev*"

Red Hat Enterprise Linux 7 Server - Extended Update Support

"*-eus-rpms"

警告

Red Hat OpenStack Platform 软件仓库中的一些软件包和 Extra Packages for Enterprise Linux (EPEL) 软件仓库提供的软件包存在冲突。在启用了 EPEL 软件仓库的系统中使用 Red Hat OpenStack Platform 不被支持。

1.10. 产品支持

可用资源包括:

客户门户网站

红帽客户门户为您提供广泛的资源,以帮助您完成规划、部署和维护 OpenStack 部署。这些资源包括:

  • 知识库文章和解决方案。
  • 技术摘要.
  • 产品文档.
  • 支持问题单管理。

请通过 https://access.redhat.com/ 访问客户门户网站。

邮件列表

红帽提供了与 OpenStack 用户相关的公共邮件列表:

  • rhsa-announce 邮件列表提供了包括 Red Hat OpenStack Platform 在内的红帽产品的安全补丁程序的发行通知。

请通过 https://www.redhat.com/mailman/listinfo/rhsa-announce 进行订阅。

1.11. 不支持的功能

Red Hat OpenStack Platform 不支持以下功能:

  • 自定义策略,包括手动或通过任何 *Policies heat 参数修改 policy.json 文件。请勿修改默认策略,除非文档包含明确的修改说明。

如果您需要任何这些功能的支持,请联系红帽客户体验与互动团队,获取例外的支持。

第 2 章 主要新功能

本节概述此 Red Hat OpenStack Platform 发行版本中包括的主要新功能。

2.1. Red Hat OpenStack Platform Director

本节概述 director 的主要新功能。

快进升级
director 通过多个版本提供 快速发展的升级路径,特别是从 Red Hat OpenStack Platform 10Red Hat OpenStack Platform 13。目标是在下一个长生命版本可用时,为用户提供处于 长生命版本和升级的某些 OpenStack 版本中 的机会。《 快进升级 指南 》中提供了完整说明。
Red Hat Virtualization control plane
director 现在支持使用 Red Hat Virtualization 中部署的 Controller 节点置备 overcloud。有关新虚拟化功能的更多信息,请参阅 使用 Red Hat Virtualization 和 Red Hat OpenStack Platform 13 虚拟化 OpenStack control plane

2.2. 容器

本节概述 Red Hat OpenStack Platform 中容器化的主要新功能。

完全容器化服务
发行版本提供所有 Red Hat OpenStack Platform 服务作为容器,包括之前版本中未容器化的服务:OpenStack Networking (neutron)、OpenStack Block Storage (cinder)和 OpenStack 共享文件系统服务(manila)。overcloud 现在使用完全容器化服务。

2.3. 裸机服务

本节概述裸机 (ironic) 服务的主要新功能。

L3 route spine-leaf network
director 包括为置备和内省功能定义多个网络的功能。此功能与可组合网络相结合,允许用户为 overcloud 调配完整的 L3 路由运行架构。《 Spine Leaf 网络指南 中提供了完整说明。
Red Hat Virtualization 驱动程序
director OpenStack Bare Metal (ironic)服务包含一个驱动程序(staging-ovirt),用于管理 Red Hat Virtualization 环境中的虚拟节点。
Red Hat OpenStack Platform for POWER
现在,您可以在 IBM POWER8 little endian 硬件上部署预置备 overcloud Compute 节点。

2.4. Ceph Storage

本节概述 Ceph 存储的主要新功能。

Red Hat Ceph Storage 3.0 support
在这个版本中,Red Hat Ceph Storage 3.0 (luminous)是 Red Hat OpenStack 的默认支持版本,它是 director 部署的默认版本。Ceph 现在支持从版本 2.x 升级到 3。运行 Red Hat Ceph Storage 2.x (Jewel)的外部集群(不是由 director 部署)仍然与较新的 Ceph 客户端兼容。如果使用 director 部署 Ceph 集群,则升级到新的 OpenStack 版本也会将 Red Hat Ceph Storage 升级到 3.0。
扩展 Ceph 元数据服务器和 RADOS 网关节点
Red Hat Ceph Storage 3.0 添加了对通过适当的 Ceph 文件系统(CephFS)配置在多个元数据服务器(MDS)之间扩展元数据负载的支持。配置后,您的 Ceph 集群中可用的额外专用 MDS 服务器会自动分配到这个额外的负载。另外,可以添加新的专用 Ceph RADOS 网关(RGW)节点,允许 RGW 根据需要扩展。
使用 NFS 的 Manila CephFS 存储
共享文件系统服务(manila)支持通过 NFSv4 协议挂载 Ceph 文件系统(CephFS)支持的共享文件系统。在 Controller 节点上运行的 NFS-Ganesha 服务器用于将 CephFS 导出到具有高可用性(HA)的租户。租户彼此隔离,只能通过提供的 NFS 网关接口访问 CephFS。此新功能完全集成到 director 中,从而为共享文件系统服务启用 CephFS 后端部署和配置。
增强的多个 Cinder Ceph 池支持
可使用 director 模板参数将块存储(cinder) RADOS 块设备(RBD)后端映射到同一 Ceph 集群中的不同池,即 CinderRbdExtraPools。除了与 CinderRbdPoolName 参数关联的标准 RBD 后端外,还会为与此参数关联的每个 Ceph 池创建一个新的块存储 RBD 后端。
使用 ceph-ansible 的 RBD 镜像 director
Ceph rbd-mirror 守护进程从远程集群拉取镜像更新,并将其应用到本地集群中的镜像。RBD 镜像功能通过 ceph-ansible 和 Red Hat Ceph Storage 3.0 (luminous)部署为容器。与镜像相关的 OpenStack 元数据不由 rbd-mirror 复制。

2.5. Compute

本节概述计算(Compute)服务的主要新功能。

实时 KVM 集成

现在完全支持将 KVM (RT-KVM)与计算服务集成。RT-KVM 的好处包括:

  • 系统调用和中断的确定和平均延迟。
  • 客户机实例中精度时间协议(PTP)支持准确时钟同步(不支持此版本)。

2.6. 高可用性

本节概述高可用性的主要新功能。

用于实例 HA 的 director 集成
现在,您可以使用 director 部署 Instance HA。这可让您为实例 HA 配置安装和升级,而无需进一步手动步骤。
注意

Instance HA 的 director 集成只在版本 13 及更新的版本中可用。要从以前的版本升级到版本 13 (包括快进升级),您必须首先手动禁用实例 HA。

2.7. 指标和监控

本节概述指标和监控组件的主要新功能和更改。

collectd 5.8 集成

collectd 5.8 版本包括以下额外插件:

  • OVS-stats - 插件收集 OVS 连接网桥和接口的统计信息。
  • OVS -events - 插件监控 Open vSwitch (OVS)连接的接口的链接状态,将值分配到 collectd,并在 OVS 数据库中链路状态更改时发送通知。
  • hugepages - hugepages 插件允许按数字、字节或平台上对空闲和使用的巨页监控。
  • Intel -rdt - intel_rdt 插件通过 Intel 资源 Director 技术(Intel® RDT)等监控功能(如 Cache Monitoring Technology (CMT)、内存带宽监控(MBM))收集信息。这些功能提供有关共享资源使用情况的信息,如最后级别的缓存 occupancy、本地内存带宽使用情况、远程内存带宽使用以及每个时钟的说明。
  • libvirt 插件扩展 - libvirt 插件扩展为支持平台上的 CMT、MBM、CPU Pinning、Utilization 和 State 指标。
collectdgnocchi 集成

collectd-gnocchi 插件将指标发送到 gnocchi。默认情况下,它创建一个名为 collectd 的资源类型,以及监控每一主机的新资源。

每个主机都有一个使用下列命名约定动态创建的指标列表:

plugin-plugin_instance/type-type_instance-value_number

要正确创建指标,请确保归档策略规则匹配。

支持 具有多个 RabbitMQ 服务器的传感器
在这个版本中,Red Hat OpenStack Platform 增加了对使用多个 RabbitMQ 服务器的传感器的支持。要做到这一点,使用 config.yaml 文件中的 MonitoringRabbitCluster 参数。
Intel Resource Director Technology/Memory Bandwidth Monitoring 支持
内存带宽监控(MBM)是 Intel® 资源 Director 技术(RDT)不可或缺的一部分。内存用量和可用性从所有节点收集,并可供 OpenStack 使用,以作出更好的调度决策,并根据 SLA 提供。
删除 Telemetry API 和 ceilometer-collector
Telemetry API 服务由 OpenStack Telemetry Metrics (gnocchi)服务和 OpenStack Telemetry Alarming (aodh)服务 API 替代。ceilometer-collector 服务由 ceilometer-notification-agent 守护进程替代,因为遥测轮询代理会将来自示例文件的消息发送到 ceilometer-notification-agent 守护进程。
注意

Ceilometer 作为一个整体没有被弃用,只是 Telemetry API 服务和 ceilometer-collector 服务。

2.8. 网络功能虚拟化

本节概述网络功能虚拟化 (NFV) 的主要新功能。

NFV 工作负载的实时 KVM Compute 角色
现在,实时 KVM (RT-KVM) Compute 节点支持 NFV 工作负载,增加了 RT-KVM Compute 节点角色。这个新角色公开了具有实时功能的 Compute 节点子集,以支持具有字符串延迟要求的虚拟机。

2.9. OpenDaylight

本节概述 OpenDaylight 服务的主要新功能。

OpenDaylight 集成

OpenDaylight 是灵活的模块化开放 SDN 平台,现在此 Red Hat OpenStack Platform 发行版本被完全支持。当前的红帽产品结合了精心选择的 OpenDaylight 组件,这些组件旨在使 OpenDaylight SDN 控制器作为 OpenStack 的网络后端启用。此解决方案中使用的关键的 OpenDaylight 项目是 NetVirt,它支持 OpenStack neutron API。

包括以下功能:

  • Date Plane Astraction:平台的 P4 插件。
  • 容器:适用于 Kubernetes 的插件,以及混合虚拟机容器环境的 Neutron 北向扩展的开发。

如需更多信息,请参阅 Red Hat OpenDaylight 产品指南Red Hat OpenDaylight 安装与配置指南

2.10. OpenStack 网络

本节概述网络服务的主要新功能。

Octavia LBaaS
Octavia 现在被完全支持。Octavia 是一个官方的 OpenStack 项目,提供负载均衡功能,旨在取代当前的基于 HAProxy 的实施。Octavia 实施 LBaaS v2 API,但也提供额外的功能。Octavia 包括一个引用负载均衡驱动程序,它通过 amphora (实施为 Compute 虚拟机)提供负载均衡驱动程序。
Open Virtual Network (OVN)
OVN 现在被完全支持。OVN 是基于 Open vSwitch 的网络虚拟化解决方案,可为实例提供网络服务。OVN 完全支持 neutron API。

2.11. 安全性

本节概述安全组件的主要新功能。

Barbican
OpenStack Key Manager (barbican)是 Red Hat OpenStack Platform 的 secret Manager。您可以使用 barbican API 和命令行集中管理 OpenStack 服务使用的证书、密钥和密码。
Barbican - 加密卷的支持
您可以使用 barbican 来管理 Block Storage (cinder)加密密钥。此配置使用 LUKS 加密附加到您的实例的磁盘,包括引导磁盘。主要管理方面对用户而言是透明的。
Barbican - glance 镜像签名
您可以配置 Image Service (glance),以验证是否未被篡改了上传的镜像。镜像首先使用存储在 barbican 中的密钥进行签名,然后镜像在各自使用前进行验证。
与策略决策点(PDP)集成
对于依赖策略决策点(PDP)来控制对资源的访问的客户,身份服务(keystone)现在可以将项目与外部 PDP 集成以进行授权检查。外部 PDP 可以评估访问请求,并根据已建立的策略授予或拒绝访问。
基础架构和虚拟化强化
AIDE 内部检测现已在技术预览下提供。director 的 AIDE 服务允许操作员集中设置其入侵检测规则集,然后在 overcloud 上安装和设置 AIDE。

2.12. 存储

本节概述存储组件的主要新功能。

块存储 - 块存储服务的容器化部署
此发行版本中,块存储服务(cinder)的容器化部署现在是默认的。如果您将后端用于具有外部安装依赖项的服务,您必须为部署获取特定于供应商的容器。
块存储 - 多后端可用域
块存储服务(cinder)现在允许在配置文件的后端部分使用新驱动程序配置选项 backend_availability_zone 来定义后端可用域。在以前的版本中,cinder-volume 中配置的后端必须是同一存储可用区的一部分。
块存储 - OpenStack Key Manager 支持
块存储服务(cinder)现在可以使用 OpenStack Key Manager (barbican)来存储用于卷加密的加密密钥。此功能通过在 director 中配置 OpenStack Key Manager 来启用。具有 Identity Service (keystone)的 admin 或 creator 角色的用户,可以向 OpenStack Key Manager 中添加新密钥。
Block Storage - RBD 驱动程序加密支持
RBD 驱动程序现在使用 LUKS 处理块存储服务(cinder)卷加密。此功能为使用块存储服务和计算服务在 RBD 上加密卷的功能,提供 data-at-rest 安全性。使用 RBD 驱动程序加密需要 OpenStack Key Manager (barbican)。RBD 驱动程序加密仅支持块存储服务。
Image Service - 镜像签名和验证支持
Image Service (glance)现在通过 OpenStack Key Manager (barbican)提供可引导镜像的签名和签名验证。现在,在存储镜像前会验证镜像签名。您必须将加密签名添加到原始镜像,然后才能将其上传到镜像服务。此签名用于在引导时验证镜像。OpenStack Key Manager 为签名密钥提供关键管理支持。
Object Storage - At-rest 加密和 OpenStack Key Manager 支持
Object Storage (swift)服务现在可以使用 AES 以加密形式存储对象,使用存储在 OpenStack Key Manager (barbican)中的 256 位密钥。使用 director 为对象存储启用加密后,系统会创建一个用于加密集群中的所有对象的密钥。这为保护对象并在对象存储集群中保持安全合规性的选项。
共享文件系统 - 共享文件系统服务的容器化部署
共享文件系统服务(manila)的容器化部署现在是本发行版本中的默认设置。如果您将后端用于具有外部安装依赖项的服务,您必须为部署获取特定于供应商的容器。
共享文件系统 - 使用 NetApp ONTAP cDOT 驱动程序的 IPv6 访问规则支持
共享文件系统服务(manila)现在支持导出由 NetApp ONTAP 后端通过 IPv6 网络支持的共享。对导出的共享的访问由 IPv6 客户端地址控制。
共享文件系统 - 使用 NFS 的 Manila CephFS 存储
共享文件系统服务(manila)支持通过 NFSv4 协议挂载 Ceph 文件系统(CephFS)支持的共享文件系统。在 Controller 节点上运行的 NFS-Ganesha 服务器用于将 CephFS 导出到具有高可用性(HA)的租户。租户彼此隔离,只能通过提供的 NFS 网关接口访问 CephFS。此新功能完全集成到 director 中,从而为共享文件系统服务启用 CephFS 后端部署和配置。

2.13. 技术预览

本节概述了 Red Hat OpenStack Platform 13 中技术预览的功能。

注意

有关技术预览功能的支持范围的更多信息,请参阅技术预览功能支持范围

2.13.1. 新增技术预览

以下新功能作为技术预览提供:

基于 Ansible 的配置(配置下载)
director 现在可以作为基础使用 overcloud 计划生成一组 Ansible playbook。这会将 OpenStack Orchestration (heat)中的 overcloud 配置方法更改为基于 Ansible 的方法。一些受支持的 OpenStack Platform 13 功能(如升级)将此功能作为其进程的一部分。但是,不建议在生产环境中使用这些支持区域,且仅作为技术预览提供。
OVS 硬件卸载
Open vSwitch (OVS)硬件卸载通过将大量处理移动到使用 SmartNICs 的硬件来加速 OVS。这会将 OVS 处理卸载到 SmartNIC 来保存主机资源。

2.13.2. 之前发布的技术预览

以下功能仍为技术预览:

基准测试服务

Rally 是一种基准测试工具,可自动化和统一化多节点 OpenStack 部署、云验证、基准测试和性能分析。它可以作为 OpenStack CI/CD 系统的基本工具,可持续改进其 SLA、性能和稳定性。它由以下核心组件组成:

  • 服务器供应商 - 提供与不同虚拟化技术(LXS、Virsh 等)和云供应商交互的统一接口。它通过 ssh 访问和在一个 L3 网络中实现。
  • 部署引擎 - 使用从服务器提供者检索到的服务器,在进行任何基准测试步骤前部署 OpenStack 分发。
  • 验证 - 针对部署云运行特定的测试集合,以检查它是否正常工作,收集结果并以人类可读的形式显示它们。
  • 基准测试引擎 - 允许您编写参数化基准测试方案并针对云运行它们。
基准测试服务 - 引入了新插件类型:hook
允许测试场景作为迭代运行,并提供有关 rly 报告中执行操作的时间戳(及其他信息)。
基准测试服务 - 新场景
为 nova、cinder、magnum、ceilometer、manila 和 neutron 添加了基准测试场景。
基准测试服务 - 验证组件重构
rally 验证用于启动 Tempest。它被重构为覆盖新的模型:验证类型、验证器和验证结果。
单元
OpenStack 计算包含 Cells (由 nova-cells 软件包提供)的概念,用于划分计算资源。在这个发行版本中,Cells v1 被 Cells v2 替代。Red Hat OpenStack Platform 部署 "cell of one" 作为默认配置,但目前不支持多cell 部署。
DNS-as-a-Service (DNSaaS)
DNS 即服务(DNSaaS),也称为 Designate,包括用于域和记录管理的 REST API,是多租户的,并与 OpenStack 身份服务(keystone)集成以进行身份验证。DNSaaS 包括了一个框架,用于与计算(nova)和 OpenStack Networking (neutron)通知集成,允许自动生成的 DNS 记录。DNSaaS 包括与 Bind9 后端集成。
防火墙即服务(FWaaS)
Firewall-as-a-Service 插件为 OpenStack Networking (neutron)添加边界防火墙管理。FWaaS 使用 iptables 将防火墙策略应用到项目内的所有虚拟路由器,并支持每个项目的一个防火墙策略和逻辑防火墙实例。FWaaS 通过过滤 OpenStack Networking (neutron)路由器上的流量在边界下运行。这与安全组区分开,在实例级别操作。
Google Cloud Storage 备份驱动程序(Block Storage)
Block Storage (cinder)服务现在可以配置为使用 Google Cloud Storage 来存储卷备份。此功能为辅助云进行昂贵维护的一个替代方法只是进行灾难恢复。
裸机节点的链接聚合

此发行版本为裸机节点引入了链路聚合。通过链路聚合,您可以在裸机节点 NIC 上配置绑定,以支持故障转移和负载平衡。此功能需要特定的硬件交换机供应商支持,它们可从专用的 neutron 插件进行配置。验证您的硬件厂商交换机是否支持正确的 neutron 插件。

或者,您可以手动预先配置开关来为裸机节点设置绑定。要启用节点从其中一个绑定接口引导,交换机需要支持 LACP 和 LACP 回退(如果绑定未形成绑定,则绑定链接回退到单个链接)。否则,节点还需要单独的置备和清理网络。

Red Hat SSO
此发行版本包括 keycloak-httpd-client-install 软件包的版本。这个软件包提供了一个命令行工具,可帮助将 Apache mod_auth_mellon SAML 服务提供商配置为 Keycloak SAML IdP 的客户端。

第 3 章 发行信息

本发行注记重点概述部署此 Red Hat OpenStack Platform 版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

在本 Red Hat OpenStack Platform 发行版本的产品支持周期内,每个更新版本的说明都会包括在相应的公告中。

3.1. Red Hat OpenStack Platform 13 GA

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.1.1. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1419556

Object Store 服务(swift)现在可以与 Barbican 集成,以透明地加密和解密您的存储(at-rest)对象。at-rest 加密与 in-transit 加密不同,它引用了在存储于磁盘上的对象。

Swift 对象以明文形式存储在磁盘上。如果问题早已达到生命期,这些磁盘可能会造成安全风险。加密对象可以缓解这些风险。

Swift 以透明方式执行这些加密任务,在上传到 swift 时自动加密对象,然后在提供给用户时自动解密。这个加密和解密使用相同的(ymmetric)密钥进行,密钥保存在 Barbican 中。

BZ#1540239

此功能增强添加了对将指标数据发送到 Gnocchi DB 实例的支持。

为 collectd 可组合服务添加了以下新参数。如果 CollectdGnocchiAuthMode 设置为 'simple',则 CollectdGnocchiProtocol, CollectdGnocchiServer, CollectdGnocchiPort 和 CollectdGnocchiUser 被考虑进行配置。

如果 CollectdGnocchiAuthMode 设置为 'keystone',则将 CollectdGnocchiKeystone* 参数考虑进行配置。

下面是添加的参数的详细描述:

CollectdGnocchiAuthMode

类型:字符串

描述:身份验证 Gnocchi 服务器的类型使用。支持的值有'simple' 和 'keystone'。

默认:'simple'

CollectdGnocchiProtocol

类型:字符串

描述:API 协议 Gnocchi 服务器使用.

默认: 'http'

CollectdGnocchiServer

类型:字符串

Description:我们应该发送指标的 gnocchi 端点的名称或地址。

默认: nil

CollectdGnocchiPort

类型:数字

描述:我们将在 Gnocchi 服务器上连接的端口。

默认: 8041

CollectdGnocchiUser

类型:字符串

Description:使用简单身份验证向远程 Gnocchi 服务器进行身份验证的用户名。

默认: nil

CollectdGnocchiKeystoneAuthUrl

类型:字符串

描述:用于身份验证的 Keystone 端点 URL。

默认: nil

CollectdGnocchiKeystoneUserName

类型:字符串

Description:用于向 Keystone 进行身份验证的用户名。

默认: nil

CollectdGnocchiKeystoneUserId

类型:字符串

描述:用于向 Keystone 进行身份验证的用户 ID。

默认: nil

CollectdGnocchiKeystonePassword

类型:字符串

描述:用于向 Keystone 进行身份验证的密码

默认: nil

CollectdGnocchiKeystoneProjectId

类型:字符串

描述:用于向 Keystone 进行身份验证的项目 ID。

默认: nil

CollectdGnocchiKeystoneProjectName

类型:字符串

描述:用于向 Keystone 进行身份验证的项目名称。

默认: nil

CollectdGnocchiKeystoneUserDomainId

类型:字符串

描述:用于向 Keystone 进行身份验证的用户域 ID。

默认: nil

CollectdGnocchiKeystoneUserDomainName

类型:字符串

描述:用于向 Keystone 进行身份验证的用户域名。

默认: nil

CollectdGnocchiKeystoneProjectDomainId

类型:字符串

描述:用于向 Keystone 进行身份验证的项目域 ID。

默认: nil

CollectdGnocchiKeystoneProjectDomainName

类型:字符串

描述:用于向 Keystone 进行身份验证的项目域名。

默认: nil

CollectdGnocchiKeystoneRegionName

类型:字符串

描述:用于向 Keystone 进行身份验证的区域名称。

默认: nil

CollectdGnocchiKeystoneInterface

类型:字符串

描述:要进行身份验证的 Keystone 端点的类型。

默认: nil

CollectdGnocchiKeystoneEndpoint

类型:字符串

描述:如果要覆盖 Keystone 值,请 Explicitly state Gnocchi 服务器 URL

默认: nil

CollectdGnocchiResourceType

类型:字符串

Description:由 collectd-gnocchi 插件在 Gnocchi 中创建的默认资源类型来存储主机。

默认:'collectd'

CollectdGnocchiBatchSize

类型:数字

Description:最小值 Gnocchi 应该批处理。

默认:10

BZ#1592823

Ansible playbook 的日志现在包括提供部署、更新和升级期间操作时间的信息。

3.1.2. 技术预览

本节中列出的项目作为技术预览提供。有关技术预览状态范围的详情,以及相关的支持影响,请参阅 https://access.redhat.com/support/offerings/techpreview/

BZ#1446311

此发行版本添加了对 PCI 设备 NUMA 关联性策略的支持,这些策略被配置为 "[pci]alias" 配置选项的一部分。支持三个策略:

"必需" (必需)"legacy" (默认; 必须有;如果可用)"首选" (nice 才需要具有)

在所有情况下,如果可能,都提供严格的 NUMA 关联性。这些策略允许您配置每个 PCI 别名应严格的 NUMA 关联性,以最大化资源利用率。策略之间的主要区别在于,在调度失败前,您将要考虑到的 NUMA 关联性量。

当为 PCI 设备配置"首选"策略时,nova 会在与 PCI 设备的 NUMA 节点不同的 NUMA 节点上使用 CPU (如果可用)。这会增加资源利用率,但会降低这些实例的性能。

BZ#1488095

从 RHOS-12 开始,OpenStack 服务正在变为容器化状态。在本发行版本中,我们还对 OpenStack Tempest 进行容器化。容器化 OpenStack Tempest 作为技术预览提供。

3.1.3. 发行注记

本节概述了本发行版本的重要信息,包括推荐做法和 Red Hat OpenStack Platform 的显著变化。您必须将此信息纳入考量,才能确保您的部署获得最佳效果。

BZ#1468020

共享文件系统服务(manila)现在为 NetApp ONTAP cDOT 驱动程序提供 IPv6 访问规则支持,它可让您将 manila 与 IPv6 环境搭配使用。

因此,共享文件系统服务现在支持通过 IPv6 网络导出由 NetApp ONTAP 后端支持的共享。对导出的共享的访问由 IPv6 客户端地址控制。

BZ#1469208

共享文件系统服务(manila)支持通过 NFSv4 协议挂载 Ceph 文件系统(CephFS)支持的共享文件系统。在 Controller 节点上运行的 NFS-Ganesha 服务器用于将 CephFS 导出到具有高可用性(HA)的租户。租户彼此隔离,只能通过提供的 NFS 网关接口访问 CephFS。此新功能完全集成到 director 中,为共享文件系统服务启用 CephFS 后端部署和配置。

BZ#1496584

当 neutron 服务容器化时,尝试在网络命名空间中运行命令可能会失败,并显示以下错误:

# ip netns exec qrouter...
RTNETLINK answers: Invalid argument

要在网络命名空间中运行命令,您必须从创建命名空间的 neutron 容器执行它。例如,l3-agent 为路由器创建网络命名空间,因此命令需要更改为:

# docker exec neutron_l3_agent ip netns exec qrouter...

与使用 'qdhcp' 开头的网络命名空间类似,您需要从 'neutron_dhcp' 容器中执行。

BZ#1503521

此发行版本引进了对 networking-ovn 中的内部 DNS 解析的支持。虽然存在两个已知的限制,但有一个 .BZ#1581332,它可防止通过内部 DNS 正确解析内部 fqdn 请求。

请注意,在 GA 版本中 tripleo 默认不配置扩展。如需临时解决方案,请参阅 .BZ#1577592。

BZ#1533206

openstack-gnocchi 软件包已重命名为 gnocchi。由于上游项目范围的变化,openstack- 前缀已被删除。Gnocchi 已从 OpenStack umbrella 中移出,并作为独立项目维护。

BZ#1556933

自 2.1 版本 2.1 起,python-cryptography 检查证书中使用的 CNS Names 是否符合 IDN 标准。如果找到的名称没有遵循此规范,加密将无法在使用 OpenStack 命令行界面或 OpenStack 服务日志中发现证书和不同错误。

BZ#1563412

为 OpenStack Compute (nova)保留的主机内存已从 2048 MB 增加到 4096 MB。这会影响您的环境的容量估算。如果需要,您可以使用环境文件中的 'NovaReservedHostMemory' 参数重新配置保留的内存。例如:

parameter_defaults: NovaReservedHostMemory: 2048

BZ#1564176

python-mistralclient 不是任何支持的 overcloud 用例的一部分,因此它从 OSP 13 版本的 -tools 频道中丢弃。

BZ#1567735

将 OVN 用作网络后端的 OSP13 在第一个发行版本中不包含 IPv6 支持。对邻居请求来自客户机虚拟机的响应存在问题,这会导致默认路由丢失。

BZ#1575752

在以前的版本中,*NetName 参数(如 InternalApiNetName)更改了默认网络的名称。这不再被支持。

要更改默认网络的名称,请使用自定义的可组合网络文件(network_data.yaml),并使用 '-n' 选项将其包含在您的 'openstack overcloud deploy' 命令中。在这个文件中,您应该将 "name_lower" 字段设置为您要更改的网络的自定义 net 名称。有关更多信息,请参阅高级 Overcloud 自定义指南中的"使用 Composable Networks"。

另外,您需要为 ServiceNetMap 表添加本地参数到 network_environment.yaml,并将旧网络名称的所有默认值覆盖到新的自定义名称。默认值可以在 /usr/share/openstack-tripleo-heat-templates/network/service_net_net_map.j2.yaml 中找到。在以后的 OSP-13 版本中将不需要修改 ServiceNetMap。

BZ#1577537

修复了一些容器镜像不可用的 OSP 13 测试程序问题。

BZ#1578312

当 OVSDB 服务器切换到其他控制器节点时,来自 neutron-server/metadata-agent 的重新连接不会发生,因为它们没有检测到这个条件。

因此,引导虚拟机可能无法作为 metadata-agent 置备新的元数据命名空间,集群不会如预期执行。

可能的解决方法是,在将新控制器提升为 OVN 数据库的 master 后,重启所有计算节点中的 ovn_metadata_agent 容器。另外,将 plugin.ini 上的 ovsdb_probe_interval 增加到 600000 毫秒。

BZ#1589849

当在 Compute 节点上停止 OVN 元数据代理时,该节点上的所有虚拟机都无法访问元数据服务。其影响在于,如果生成新虚拟机或现有虚拟机被重启,则虚拟机将无法访问元数据,直到重新备份 OVN 元数据代理。

BZ#1592528

在个别情况下,在多次重启控制器节点后,RabbitMQ 可能会处于不一致的状态,该状态将阻止 overcloud 上的 API 操作。

此问题的症状是: - 在 OpenStack 服务日志中执行任何形式的条目:DuplicateMessageError: Found duplicate message (629ff0024219488499b0fac0caa3a3a5)。跳过它。- "openstack network agent list" 返回一些代理为 DOWN

要恢复正常操作,请在任何控制器节点上运行以下命令(您只需要在一个控制器上执行此操作):pcs resource restart rabbitmq-bundle

3.1.4. 已知问题

目前,Red Hat OpenStack Platform 存在的已知问题包括:

BZ#1321179

使用 python-requests 的 OpenStack 命令行客户端目前无法在 SAN 字段中验证具有 IP 地址的证书。

BZ#1461132

当将 Red Hat Ceph Storage 用作 Cinder 卷和 Cinder 备份的块存储后端时,任何尝试执行增量备份将导致完全备份,而无需任何警告。这是个已知问题。

BZ#1508449

OVN 将 DHCP 作为 openflow 控制器,直接在计算节点上使用 ovn-controller。但是 SR-IOV 实例通过 VF/PF 直接连接到网络。因此,SR-IOV 实例无法从任何位置获取 DHCP 响应。

要解决这个问题,请将 OS::TripleO::Services::NeutronDhcpAgent 更改为:

OS::TripleO::Services::NeutronDhcpAgent: docker/services/neutron-dhcp.yaml

BZ#1515815

当路由器网关被清除后,不会删除与学习 IP 地址相关的 3 层流。学到的 IP 地址包括 PNF 和外部网关 IP 地址。这会造成过时的流,但无法正常工作问题。外部网关和 IP 地址不会频繁更改。删除外部网络时,会删除过时的流。

BZ#1518126

Redis 在启用了 TLS 的 HA 部署中无法正确复制跨节点间的数据。Redis 后续节点将不包含领导节点中的任何数据。建议为 Redis 部署禁用 TLS。

BZ#1519783

Neutron 可能会出现错误声明,用于 Neutron 路由器创建配额超过。存在一个已知问题:由于 networking-odl 错误,在 Neutron DB 中使用单一创建请求来创建多个路由器资源。造成此问题的解决方法是,使用 OpenStack Neutron CLI 删除重复的路由器,然后再次创建路由器,从而产生单个实例。

BZ#1557794

在备份和恢复 director 的过程中发现了一个回归问题。因此,这个过程需要修改和验证,然后才能发布。

因此,Red Hat OpenStack Platform 13 正式发布书 'Back Up 和 Restore the Director Undercloud'。该程序会在此版本正式发行(GA)后被更新,并在验证后立即发布。

BZ#1559055

OpenDaylight 日志记录可能缺少以前的日志。这是 OpenDaylight journald 日志记录的一个已知问题(使用 "docker logs opendaylght_api" 命令)。当前的一个临时解决方案是将 OpenDaylight 日志记录切换为 "file" 机制,该机制会将容器内的 /opt/opendaylight/data/logs/karaf.log 记录到 /opt/opendaylight/data/logs/karaf.log。为此,请配置以下 heat 参数:OpenDaylightLogMechanism: 'file'。

BZ#1568012

当将浮动 IP 关联到实例时,连接到外部 IP 会失败,然后取消关联浮动 IP。当租户 VLAN 网络时,会出现这种情况:* 在非NAPT 交换机上生成的虚拟机与浮动 IP 关联,并*浮动 IP 被删除。这会导致在 NAPT 交换机的 FIB 表中缺少流(大致)。

由于缺少 FIB 表条目,虚拟机将丢失与公共网络的连接。

将浮动 IP 与虚拟机关联可恢复与公共网络的连接。只要浮动 IP 与虚拟机关联,就可以连接到互联网。但是,您将丢失来自外部网络的公共 IP/浮动 IP。

BZ#1568311

当实例没有浮动 IP 地址访问另一个路由器上的浮动 IP 时,多个子网的 nova 实例之间的第 3 层连接可能会失败。当 nova 实例分散到多个计算节点时,会出现这种情况。这个问题还没有适当的临时解决方案。

BZ#1568976

在部署过程中,一个或多个 OpenDaylight 实例可能会因为功能加载错误而无法正确启动。这可能会导致部署或功能失败。

当部署通过时,三个 OpenDaylight 实例必须只有两个可以正常工作,才能成功进行部署。第三个 OpenDaylight 实例可能会错误地启动。使用 docker ps 命令检查每个容器的健康状况。如果不健康,请使用 docker restart opendaylight_api 重启容器。

当部署失败时,唯一的选项是重启部署。对于基于 TLS 的部署,所有 OpenDaylight 实例都必须正确引导或部署将失败。

BZ#1571864

在快进升级过程中临时删除 Heat 堆栈资源会触发 RHEL 取消注册。因此,RHEL 不注册就已停止,因为 Heat 软件部署信号无法正常工作。

为避免此问题,overcloud 仍然在 OSP 10 上,并准备好执行最后的 overcloud 次要版本更新:1.编辑模板文件 /usr/share/openstack-tripleo-heat-templates/extraconfig/pre_deploy/rhel-registration/rhel-registration.yaml 2。从模板创建 RHELUnregistration 和 RHELUnregistrationDeployment 资源。3.继续进行小的更新和快进升级过程。

BZ#1573597

在 collectd 日志和 "ConnectionError: ('Connection aborted.', CannotSendRequest ())中,用作 Gnocchi 后端的任何错误,在 gnocchi-metricd.conf 中生成 503 错误。要缓解这个问题,请提高 CollectdDefaultPollingInterval 参数的值,或者提高 Swift 集群性能。

BZ#1574708

当从集群中移除并重新连接 OpenDaylight 实例时,实例可能无法成功加入集群。节点最终会重新加入集群。

在这种情况下,应该执行以下操作:* 重启有问题的节点。* 监控 REST 端点以验证集群成员是否健康: http://$ODL_IP:8081/jolokia/read/org.opendaylight.controller:Category=ShardManager,name=shard-manager-config,type=DistributedConfigDatastore * 应该包含一个字段 "SyncStatus",而 "true" 的值代表一个健康的。

BZ#1574725

当 VLAN 提供商网络的同一子网中的多个虚拟机调度到两个不同的 Compute 节点时,虚拟机间会出现 ARP。

由于这些虚拟机之间的 ARP 数据包失败,因此两个虚拟机之间没有网络。

BZ#1575023

manila-share 服务无法初始化,因为对 ceph-ansible 的复杂 ceph-keys 处理的更改会在 /etc/ceph/ceph.client.manila.keyring 文件中生成不正确的内容。

允许 manila-share 服务初始化:

1)创建 /usr/share/openstack/tripleo-heat-templates 的副本,以用于 overcloud 部署。

2)编辑 …​/tripleo-heat-templates/docker/services/ceph-ansible/ceph-base.yaml 文件,将第 295 行中的所有 triple 反斜杠更改为单反斜杠。

删除前:

mon_cap: 'allow r, allow command \\\"auth del\\\", allow command \\\"auth caps\\\", allow command \\\"auth get\\\", allow command \\\"auth get-or-create\\\"'

删除后:

mon_cap: 'allow r, allow command \"auth del\", allow command \"auth caps\", allow command \"auth get\", allow command \"auth get-or-create\"'

3)部署 overcloud,替换 tripleo-heat-templates 的副本的副本,其中验证 /usr/share/openstack-tripleo-heat 模板发生在原始 overcloud-deploy 命令中。

ceph 键 /etc/ceph/ceph.client.manila.keyring 文件会具有适当的内容,manila-share 服务将正确初始化。

BZ#1575118

Ceph 版本 12.2.1 降低了每个 OSD 允许的最大 PG 数量。较低限制可能会导致 monitor 预先发出 HEALTH_WARN 消息。

监控警告阈值已从每个 OSD 从 300 减小到 200 个 PG。200 仍然是每个 OSD 通常建议 100 个 PG 的两倍。此限制可以通过监视器上的 mon_max_pg_per_osd 选项进行调整。旧的 mon_pg_warn_max_per_osd 选项已被删除。

池消耗的 PG 数量不能降低。如果升级会导致预先存在的部署达到最大限制,您可以在 ceph-upgrade 步骤中提高其预升级值。在环境文件中,添加如下参数设置:

parameter_defaults:
  CephConfigOverrides:
    mon_max_pg_per_osd: 300

此设置应用到 ceph.conf,集群则保持 HEALTH_OK 状态。

BZ#1575150

存在一个已知问题:当 OpenDaylight 群集成员停止时,OpenDaylight 集群可能会停止响应 30 分钟(因为失败或以其他方式)。临时解决方案会等待,直到集群再次变为活跃状态。

BZ#1575496

将物理主机接口用于带有 Director 的外部网络时,如果接口未附加到 OVS 网桥,该接口不会在 OpenDaylight 设置中传递流量。流量不会通过,您应该避免这种配置。

始终对 overcloud 外部网络使用 NIC 模板中的 OVS 网桥。默认情况下,这个网桥在 Director 中被命名为 "br-ex" (但您可以使用任何名称)。您应将用于外部网络的物理主机接口连接到此 OVS 网桥。

当您使用附加到 OVS 网桥的接口时,部署将正确运行,到租户的外部网络流量将可以正常工作。

BZ#1577975

OpenDaylight 可能遇到非常高的 CPU 用量。此问题不应影响 OpenDaylight 的功能,但它可能会影响其他系统服务。

BZ#1579025

当 pacemaker 试图提升从设备节点时,OVN pacemaker 资源代理(RA)脚本有时无法正确处理促销操作。当 ovsdb-servers 将主 IP 移到节点的 RA 脚本时,会看到这一点。这个问题已解决。

出现问题时,neutron 服务器将无法使用 OVN 北和南向 DB 服务器,并将所有 Create/Update/Delete API 连接到 neutron 服务器会失败。

重启 ovn-dbs-bundle 资源将解决这个问题。在其中一个控制器节点中运行以下命令:

"pcs resource restart ovn-dbs-bundle"

BZ#1579417

SNAT 支持要求配置 VXLAN 隧道,而不管租户网络中使用的封装是什么。在使用 VLAN 租户网络时,还必须正确配置 MTU,因为 VXLAN Tunnel 标头添加到有效负载中,这可能导致数据包超过默认 MTU (1500 Bytes)。

VXLAN 隧道必须正确配置,以便 SNAT 流量通过它们。使用 VLAN 租户网络时,使用以下方法之一配置 MTU,以便 SNAT 流量可以通过 VXLAN 隧道:: * 配置 VLAN 租户网络,以在每个网络配置上使用 1450 的 MTU。* 将 NeutronGlobalPhysnetMtu heat 参数设置为 1450。注意:这意味着所有扁平/VLAN 提供商网络均具有 1450 MTU,可能不是可取的(特别是用于外部提供商网络)。* 在lay 下配置 MTU 为 1550 (或更高)的租户网络。这包括在租户网络 NIC 的 NIC 模板中设置 MTU。

BZ#1581337

HAProxy 用于网络负载均衡,必须为版本 1.6 或更高版本,才能正确地支持 PING 类型运行状况监控器。

Red Hat OpenStack Platform 13 中包含的 HAProxy 版本是一个比 1.6 更早的版本,在配置 PING 类型健康监控器时使用 TCP 连接。

BZ#1583541

如果基于 SRIOV 的计算实例在不同的网络上,则没有与 OVS 计算实例的连接。解决办法是使用连接到两个 VLAN 提供商网络的外部路由器。

BZ#1584518

默认情况下,RHOSP 不在 nova 中配置 differentHostFilter / SameHostFilter 的可用性,且这些设置需要正确完成一些测试。因此,多个安全组测试可能会随机失败。

您应该跳过这些测试,或者将这些过滤器添加到您的 nova 配置中。

BZ#1584762

如果在 undercloud 上手动启用 Telemetry,则 hardware.* 指标不起作用,因为每个节点上的防火墙错误配置也无法正常工作。

作为临时解决方案,您需要通过为 undercloud 部署添加额外的模板来使用 control plane 网络手动设置 snmpd 子网,如下所示"

parameter_defaults: SnmpdIpSubnet: 192.168.24.0/24

BZ#1588186

一个竞争条件会导致 Open vSwitch 没有连接到 Opendaylight openflowplugin。目前,针对此产品的 13.z 版本实施了一个修复程序。

BZ#1590114

如果在 undercloud 上手动启用 Telemetry,则 hardware.* 指标不起作用,因为每个节点上的防火墙错误配置也无法正常工作。

作为临时解决方案,您需要通过为 undercloud 部署添加额外的模板来使用 control plane 网络手动设置 snmpd 子网,如下所示"

parameter_defaults:
  SnmpdIpSubnet: 192.168.24.0/24

BZ#1590560

ceph-ansible 实用程序并不总是从创建该文件的同一节点中删除 ceph-create-keys 容器。

因此,部署可能会失败,并显示消息 "Error response from daemon: No such container: ceph-create-keys"。 这会影响任何 ceph-ansible 运行(包括全新的部署),其中包括:* 多个计算备注或 * 自定义角色作为 ceph 客户端,后者也托管了使用 ceph 的服务。

BZ#1590938

如果您在 RHCS3 上部署了三个 OSD,并且按照 pgcalc (https://access.redhat.com/labs/cephpgc确定的池设置 PG 号),部署将失败,因为 ceph-ansible 在所有 OSD 处于活动状态前创建池。

要避免这个问题,请将默认 PG 号设置为 32;部署完成后,手动提高 PG 号,如存储策略指南所述 https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html/storage_strategies_guide/placement_groups_pgs#set_the_number_of_pgs

BZ#1590939

由于 ceph-ansible OpenStack 池任务具有不正确的容器名称,因此无法并置 Ceph MON 和 OSD。标准 HCI (计算 + OSD)不会受到影响。

BZ#1593290

当使用基于 SR-IOV 的网络接口运行并删除客户机的虚拟客户机时,重启 nova-compute 服务后,无法再将该节点上的 SR-IOV VF 附加到任何客户端。这是因为可用的设备在服务启动时枚举,但因为该设备附加到客户机中,它不包含在主机设备列表中。

删除客户端后,您必须重启 'nova-compute' 服务。删除客户端并重新启动服务后,可用的 SR-IOV 设备列表将正确。

BZ#1593715

不安全的 registry 列表会比一些容器镜像在以后进行更新。因此,新引入的不安全 registry 中的容器镜像无法在 openstack overcloud upgrade run 命令期间下载。

您可以使用以下临时解决方案之一:

选项 A:在由 Pacemaker 管理的容器的节点上手动更新 /etc/sysconfig/docker 文件,并添加任何新引入的不安全 registry。

选项 B:在升级前运行 openstack overcloud deploy 命令,并使用环境文件和 DockerInsecureRegistryAddress 参数提供所需的新的不安全注册表列表。

所有容器镜像都应该在升级过程中成功下载。

BZ#1593757

在现有 overcloud 部署上启用 Octavia 作为成功报告,但 Octavia API 端点无法访问,因为 Controller 节点上的防火墙规则配置错误。

在所有控制器节点上进行故障排除,添加防火墙规则,并确保在 DROP 规则之前插入它们。

IPv4:
  # iptables -A INPUT -p tcp -m multiport --dports 9876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy ipv4" -j ACCEPT
  # iptables -A INPUT -p tcp -m multiport --dports 13876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy_ssl ipv4" -j ACCEPT
  # iptables -A INPUT -p tcp -m multiport --dports 9876,13876 -m state --state NEW -m comment --comment "120 octavia_api ipv4" -j ACCEPT
IPv6:
  # ip6tables -A INPUT -p tcp -m multiport --dports 9876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy ipv6" -j ACCEPT
  # ip6tables -A INPUT -p tcp -m multiport --dports 13876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy_ssl ipv6" -j ACCEPT
  # ip6tables -A INPUT -p tcp -m multiport --dports 9876,13876 -m state --state NEW -m comment --comment "120 octavia_api ipv6" -j ACCEPT

重启 HAProxy:

  # docker restart haproxy-bundle-docker-0

BZ#1595363

在快速的升级过程中,用户将 undercloud 从版本 10 升级到版本 11。在某些情况下,nova-api.log 可能会报告以下错误:

意外的 API 错误。表 'nova_cell0.instances' 不存在

您可以运行以下命令来解决这个错误:

$ sudo nova-manage api_db sync

这个问题不是关键性,不应以主要的方式造成快进的升级过程。

BZ#1790653

由于 OpenStack 网络绑定端口的方式,DVR 环境中的网络实例的实时迁移可能会导致使用浮动 IP 地址的现有连接断开连接。目前,RHOSP 13 中没有临时解决方案。但是,这个问题已在 RHOSP 14 及更新的版本中解决。

3.2. Red Hat OpenStack Platform 13 维护支持版本 - 2018 年 7 月 19 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.2.1. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1592823

Ansible playbook 的日志现在包括提供部署、更新和升级期间操作时间的信息。

3.2.2. 发行注记

本节概述了本发行版本的重要信息,包括推荐做法和 Red Hat OpenStack Platform 的显著变化。您必须将此信息纳入考量,才能确保您的部署获得最佳效果。

BZ#1578312

当 OVSDB 服务器切换到其他控制器节点时,来自 neutron-server/metadata-agent 的重新连接不会发生,因为它们没有检测到这个条件。

因此,引导虚拟机可能无法作为 metadata-agent 置备新的元数据命名空间,集群不会如预期执行。

可能的解决方法是,在将新控制器提升为 OVN 数据库的 master 后,重启所有计算节点中的 ovn_metadata_agent 容器。另外,将 plugin.ini 上的 ovsdb_probe_interval 增加到 600000 毫秒。

3.2.3. 已知问题

目前,Red Hat OpenStack Platform 存在的已知问题包括:

BZ#1515815

当路由器网关被清除后,不会删除与学习 IP 地址相关的 3 层流。学到的 IP 地址包括 PNF 和外部网关 IP 地址。这会造成过时的流,但无法正常工作问题。外部网关和 IP 地址不会频繁更改。删除外部网络时,会删除过时的流。

BZ#1519783

Neutron 可能会出现错误声明,用于 Neutron 路由器创建配额超过。存在一个已知问题:由于 networking-odl 错误,在 Neutron DB 中使用单一创建请求来创建多个路由器资源。造成此问题的解决方法是,使用 OpenStack Neutron CLI 删除重复的路由器,然后再次创建路由器,从而产生单个实例。

BZ#1559055

OpenDaylight 日志记录可能缺少以前的日志。这是 OpenDaylight journald 日志记录的一个已知问题(使用 "docker logs opendaylght_api" 命令)。当前的一个临时解决方案是将 OpenDaylight 日志记录切换为 "file" 机制,该机制会将容器内的 /opt/opendaylight/data/logs/karaf.log 记录到 /opt/opendaylight/data/logs/karaf.log。为此,请配置以下 heat 参数:OpenDaylightLogMechanism: 'file'。

BZ#1568311

当实例没有浮动 IP 地址访问另一个路由器上的浮动 IP 时,多个子网的 nova 实例之间的第 3 层连接可能会失败。当 nova 实例分散到多个计算节点时,会出现这种情况。这个问题还没有适当的临时解决方案。

BZ#1568976

在部署过程中,一个或多个 OpenDaylight 实例可能会因为功能加载错误而无法正确启动。这可能会导致部署或功能失败。

当部署通过时,三个 OpenDaylight 实例必须只有两个可以正常工作,才能成功进行部署。第三个 OpenDaylight 实例可能会错误地启动。使用 docker ps 命令检查每个容器的健康状况。如果不健康,请使用 docker restart opendaylight_api 重启容器。

当部署失败时,唯一的选项是重启部署。对于基于 TLS 的部署,所有 OpenDaylight 实例都必须正确引导或部署将失败。

BZ#1583541

如果基于 SRIOV 的计算实例在不同的网络上,则没有与 OVS 计算实例的连接。解决办法是使用连接到两个 VLAN 提供商网络的外部路由器。

BZ#1588186

一个竞争条件会导致 Open vSwitch 没有连接到 Opendaylight openflowplugin。目前,针对此产品的 13.z 版本实施了一个修复程序。

BZ#1593757

在现有 overcloud 部署上启用 Octavia 作为成功报告,但 Octavia API 端点无法访问,因为 Controller 节点上的防火墙规则配置错误。

临时解决方案:

在所有控制器节点上,添加防火墙规则,并确保在 DROP 规则之前插入它们:

IPv4:
  # iptables -A INPUT -p tcp -m multiport --dports 9876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy ipv4" -j ACCEPT
  # iptables -A INPUT -p tcp -m multiport --dports 13876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy_ssl ipv4" -j ACCEPT
  # iptables -A INPUT -p tcp -m multiport --dports 9876,13876 -m state --state NEW -m comment --comment "120 octavia_api ipv4" -j ACCEPT
IPv6:
  # ip6tables -A INPUT -p tcp -m multiport --dports 9876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy ipv6" -j ACCEPT
  # ip6tables -A INPUT -p tcp -m multiport --dports 13876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy_ssl ipv6" -j ACCEPT
  # ip6tables -A INPUT -p tcp -m multiport --dports 9876,13876 -m state --state NEW -m comment --comment "120 octavia_api ipv6" -j ACCEPT

重启 HAProxy:

  # docker restart haproxy-bundle-docker-0

3.3. Red Hat OpenStack Platform 13 Maintenance Release - August 29, 2018

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.3.1. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1561961

此功能添加了对 PCI 设备 NUMA 关联性策略的支持。它们被配置为 [pci]alias 配置选项的一部分。支持三种策略:- 必需 - - 所有案例中都会提供严格的 NUMA 相关性(如果可能)。策略之间的主要区别在于,您可以在调度失败前保留的 NUMA 关联性量。通过这些策略,您可以配置 NUMA 关联性的严格程度如何基于每个设备,或者更具体地配置每个设备别名。这有助于确保资源最大利用率。当为 PCI 设备配置"首选"策略时,如果所有可用,nova 会从 PCI 设备的不同 NUMA 节点使用 CPU。这会增加这些资源利用率,同时降低这些实例的性能。

BZ#1564918

在以前的版本中,Ironic 仅将一个 IPMI 错误视为可重试。这可能会导致未调整 Ironic 失败。在这个版本中,Ironic 将更多类型的 IPMI 错误消息视为由由 IPMI 支持的硬件接口重试的,如电源管理和管理硬件接口。具体来说,"Node busy", "Timeout", "Out of space" 和 "BMC initialization in progress" IPMI 错误会导致 Ironic 重试 IPMI 命令。其结果提高了基于 IPMI 的与 BMC 通信的可靠性。

BZ#1571741

Nova 的 libvirt 驱动程序现在允许在配置 CPU 模型时指定粒度 CPU 功能标志。

这个变化的一个优点是,在"Meltdown" CVE 修复应用程序后,在具有特定基于 Intel 的虚拟 CPU 模型运行的客户机中遇到的性能下降。通过将 CPU 功能标记("Process-Context ID")公开给 客户机 CPU 来降低此客户机 性能影响,假设 PCID 标志可在物理硬件本身中可用。

如需了解更多详细信息,请参阅 nova.conf 中的 [libvirt]/cpu_model_extra_flags 的文档。

BZ#1574349

在部署 overcloud 之前,可以自动为集群创建 stonith 资源。在开始部署前,运行以下命令:openstack overcloud generate fencing --ipmi-lanplus --output /home/stack/fencing.yaml /home/stack/instackenv.json

然后,将 '-e /home/stack/fencing.yaml' 传递给 deploy 命令的参数列表。这会自动为集群创建所需的 stonith 资源。

BZ#1578633

RHOSP-director-images 现在是多架构。OSP 13 现在有 overcloud ppc64le 的 ironic python 代理镜像。所生成的 rhosp-director-images 进行了调整,以适应这个更改。因此,rhosp-director-images 和 rhosp-director-images-ipa 现在是 meta-packages,带有 rhosp-director-images-<arch> 和 rhosp-director-images-ipa-<arch> rpms。

BZ#1578636

RHOSP-director-images 现在是多架构。OSP 13 现在有 overcloud ppc64le 的 ironic python 代理镜像。所生成的 rhosp-director-images 进行了调整,以适应这个更改。因此,rhosp-director-images 和 rhosp-director-images-ipa 现在是 meta-packages,带有 rhosp-director-images-<arch> 和 rhosp-director-images-ipa-<arch> rpms。

BZ#1579691

Nova 的 libvirt 驱动程序现在允许在配置 CPU 模型时指定粒度 CPU 功能标志。其中一个好处是,在应用程序"Meltdown" CVE 修复后,在具有特定基于 Intel 的虚拟 CPU 型号运行的客户机中,性能降级存在的一个好处。通过将 CPU 功能标记("Process-Context ID")公开给 客户机 CPU 来降低此客户机 性能影响,假设 PCID 标志可在物理硬件本身中可用。这个更改删除了只有 'PCID' 作为唯一 CPU 功能标记的限制,并允许添加和删除多个 CPU 标记,从而对其他用例进行修改。如需更多信息,请参阅 nova.conf 中的 [libvirt]/cpu_model_extra_flags 的文档。

BZ#1601472

为 DPDK 和 SR-IOV 环境重新测试和更新了从 RHOSP 10 升级到带有 NFV 的 RHOSP 13 的步骤。

BZ#1606224

在这个版本中,Red Hat 支持的所有 CPU 架构上的 KVM 虚拟化均支持 Ceph 存储。

BZ#1609352

此功能增强介绍了为 Nova 和 实用程序添加了 GA 容器,以及 IBM Power LE 上的 Cinder、Glance、Keystone、Neutron 和 Swift 技术预览容器。

BZ#1619311

RHOSP-director-images 现在是多架构。OSP 13 现在有 overcloud ppc64le 的 ironic python 代理镜像。所生成的 rhosp-director-images 进行了调整,以适应这个更改。因此,rhosp-director-images 和 rhosp-director-images-ipa 现在是 meta-packages,带有 rhosp-director-images-<arch> 和 rhosp-director-images-ipa-<arch> rpms。

3.3.2. 发行注记

本节概述了本发行版本的重要信息,包括推荐做法和 Red Hat OpenStack Platform 的显著变化。您必须将此信息纳入考量,才能确保您的部署获得最佳效果。

BZ#1523864

在这个版本中,增加了对使用 Manila IPv6 导出位置和带有 Dell-EMC Unity 和 VNX 后端的访问规则的支持。

BZ#1549770

容器现在是默认的部署方法。仍有一种在 environments/baremetal-services.yaml 中部署 baremetal 服务的方法,但预计最终会消失。

引用环境/服务 docker 的资源 registry 的环境文件必须改为环境/服务路径。如果您需要保留任何已部署的裸机服务,请更新对环境/服务裸机的引用,而不是原始的放置环境/服务。

BZ#1565028

README 已添加到 /var/log/opendaylight 中,表示正确的 OpenDaylight 日志路径。

BZ#1570039

添加了容器化 logrotate 服务的压缩选项,以压缩轮转的日志。delaycompress 选项可确保第一次轮转日志文件保持未压缩。

BZ#1575752

在以前的版本中,*NetName 参数(如 InternalApiNetName)更改了默认网络的名称。这不再被支持。要更改默认网络的名称,请使用自定义的可组合网络文件(network_data.yaml),并使用 '-n' 选项将其包含在您的 'openstack overcloud deploy' 命令中。在这个文件中,将 "name_lower" 字段设置为您要更改的网络的自定义 net 名称。有关更多信息,请参阅高级 Overcloud 自定义指南中的"使用 Composable Networks"。另外,您需要为 ServiceNetMap 表添加本地参数到 network_environment.yaml,并将旧网络名称的所有默认值覆盖到新的自定义名称。您可以在 /usr/share/openstack-tripleo-heat-templates/network/service_net_map.j2.yaml 中找到默认值。在以后的 OSP-13 版本中将不需要修改 ServiceNetMap。

BZ#1592528

在个别情况下,在多次重启控制器节点后,RabbitMQ 可能会处于不一致的状态,该状态将阻止 overcloud 上的 API 操作。

此问题的症状是: - 在 OpenStack 服务日志中执行任何形式的条目:DuplicateMessageError: Found duplicate message (629ff0024219488499b0fac0caa3a3a5)。跳过它。- "openstack network agent list" 返回一些代理为 DOWN

要恢复正常操作,请在任何控制器节点上运行以下命令(您只需要在一个控制器上执行此操作):pcs resource restart rabbitmq-bundle

3.3.3. 已知问题

目前,Red Hat OpenStack Platform 存在的已知问题包括:

BZ#1557794

在备份和恢复 director 的过程中发现了一个回归问题。因此,这个过程需要修改和验证,然后才能发布。

因此,Red Hat OpenStack Platform 13 正式发布书 'Back Up 和 Restore the Director Undercloud'。该程序会在此版本正式发行(GA)后被更新,并在验证后立即发布。

BZ#1579025

当 pacemaker 试图提升从设备节点时,OVN pacemaker 资源代理(RA)脚本有时无法正确处理促销操作。当 ovsdb-servers 将主 IP 移到节点的 RA 脚本时,会看到这一点。这个问题已解决。

出现问题时,neutron 服务器将无法使用 OVN 北和南向 DB 服务器,并将所有 Create/Update/Delete API 连接到 neutron 服务器会失败。

重启 ovn-dbs-bundle 资源将解决这个问题。在其中一个控制器节点中运行以下命令:

"pcs resource restart ovn-dbs-bundle"

BZ#1584762

如果在 undercloud 上手动启用 Telemetry,则 hardware.* 指标不起作用,因为每个节点上的防火墙错误配置也无法正常工作。作为临时解决方案,您需要为 undercloud 部署添加额外的模板,使用 control plane 网络手动设置 snmpd 子网,如下所示: parameter_defaults: SnmpdIpSubnet: 192.168.24.0/24

3.4. Red Hat OpenStack Platform 13 维护支持版本 - 2018 年 11 月 13 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.4.1. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1466117

要将 MTU 设置为 OSPD 的一部分,这个版本会将 neutron::plugins::ml2::physical_network_mtus 添加为 heat 模板中的 NeutronML2PhysicalNetworkMtus,以在 ml2 插件中启用 MTU。Neutron::plugins::ml2::physical_network_mtus 根据 TripleO heat 模板中的值来设置。

BZ#1545151

当 OpenStack 更新和/或升级时,director 将最新的 amphora 镜像上传到 glance。最新的 amphora 镜像确保 amphora 实例使用最新的通用程序错误和安全修复运行,而不仅适用于 Octavia 代理修复,也用于操作系统修复。

在这个版本中,使用最新的 amphora 镜像创建新并重新创建实例。之前的 amphora 镜像将保留在 glance 中,并重命名为将时间戳包含在后缀中。

BZ#1561961

此功能添加了对 PCI 设备 NUMA 关联性策略的支持。它们被配置为 [pci]alias 配置选项的一部分。支持三种策略:- 必需 - - 所有案例中都会提供严格的 NUMA 相关性(如果可能)。策略之间的主要区别在于,您可以在调度失败前保留的 NUMA 关联性量。通过这些策略,您可以配置 NUMA 关联性的严格程度如何基于每个设备,或者更具体地配置每个设备别名。这有助于确保资源最大利用率。当为 PCI 设备配置"首选"策略时,如果所有可用,nova 会从 PCI 设备的不同 NUMA 节点使用 CPU。这会增加这些资源利用率,同时降低这些实例的性能。

BZ#1571286

您可以使用 weigher CPUWeigher 根据主机基于 vCPU 使用情况来分散(默认)或数据包工作负载。您可以将 nova.conf [filter_scheduler] cpu_weight_multiplier 配置选项设置为 -1.0 或 1.0。如果将这个选项设置为 1.0,则实例将分散到主机中。如果将这个选项设置为 -1.0,则实例在主机上进行打包。如果将值设为 0,则禁用 weigher。

BZ#1619485

在有些情况下,multipathd 显示状态 不会因为应该返回错误代码,因此我们现在会检查 stdout 作为这个问题的一个临时解决方案,以便正确检测到 multipathd 处于错误状态。

BZ#1628786

为防止多架构环境中的 Ceph 设置失败,此更新可确保 Ceph 设置客户端用户、密钥和池没有在非 x86_64 系统上运行。

Ceph 设置仅在 x86_64 系统上被支持。在此次更新之前,如果 clients 组中的第一个清单项不是 x86_64 系统,则该系统上的 Ceph 设置会失败,并导致 ceph-install 中止。

BZ#1629873

iSCSI 设备检测根据重新扫描时间检查是否存在设备。在扫描间可用的设备未探测到。在这个版本中,搜索和重新扫描是独立的操作,它会以不同的节奏进行操作,每秒钟的检查会发生。

BZ#1631009

在以前的版本中,undercloud hieradata 覆盖可用于使用类似 overcloud 的 <service>::config 选项来调优某些服务配置。但是,所有部署的 OpenStack 服务都不提供此功能。在这个版本中,任何目前不可用的配置值都可以通过 <service>::config hieradata 进行更新。

BZ#1640833

在块存储服务的 HPE Nimble Storage 驱动程序中添加了对卷重新类型和迁移操作的支持。

3.4.2. 发行注记

本节概述了本发行版本的重要信息,包括推荐做法和 Red Hat OpenStack Platform 的显著变化。您必须将此信息纳入考量,才能确保您的部署获得最佳效果。

BZ#1496584

当 neutron 服务容器化时,尝试在网络命名空间中运行命令可能会失败,并显示以下错误:

# ip netns exec qrouter...
RTNETLINK answers: Invalid argument

要在网络命名空间中运行命令,您必须从创建命名空间的 neutron 容器执行它。例如,l3-agent 为路由器创建网络命名空间,因此命令应该是:

# docker exec neutron_l3_agent ip netns exec qrouter...

同样,如果网络命名空间以 'qdhcp' 开头,您需要从 'neutron_dhcp' 容器中执行。

BZ#1567735

将 OVN 用作网络后端的 OSP13 在第一个发行版本中不包含 IPv6 支持。对邻居请求来自客户机虚拟机的响应存在问题,导致默认路由丢失。

BZ#1589849

当在 Compute 节点上停止 OVN 元数据代理时,该节点上的所有虚拟机都无法访问元数据服务。其影响在于,如果生成新虚拟机或现有虚拟机被重启,则虚拟机将无法访问元数据,直到重新备份 OVN 元数据代理。

3.4.3. 已知问题

目前,Red Hat OpenStack Platform 存在的已知问题包括:

BZ#1621062

Octavia-amphora 文件命名更改可能会导致符号链接或符号链接使用不正确的命名。作为临时解决方案,请运行 /usr/sbin/rhosp-director-image-update。这会解决这个问题。

3.5. Red Hat OpenStack Platform 13 维护支持版本 - 2019 年 1 月 16 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.5.1. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1476282

现在,您可以使用 overcloud-minimal qcow2 镜像部署 overcloud 的最小版本。这种最小安装不需要 OpenStack 权利进行更新。

BZ#1600115

在以前的版本中,使用 OVN 逻辑路由器的新连接的第一个数据包用于发现目的地的 MAC 地址。这会导致在新连接中丢失第一个数据包。

此功能增强添加了相应的功能,以便正确对新连接的第一个数据包进行队列,这可防止丢失该数据包。

BZ#1607362

此功能添加了对在 IPv6 地址上部署 OpenDaylight (ODL)的支持。

BZ#1635892

Octavia 之前为与 VIP 和 VRRP Amphora 端口关联的安全组分配了 Octavia 项目。这导致用户无法限制负载均衡器的访问。在这个版本中,添加了将 SG 所有权更改为属于用户项目(对于某些白名单项目),允许用户优化负载均衡器的访问策略。

BZ#1636395

此功能允许您使用可信 SR-IOV 虚拟功能(VF)创建实例,例如更改 VF 的 MAC 地址,并直接从客户机实例启用混杂模式。这些功能可帮助您直接从实例为实例配置故障转移 VF。

要为 VF 配置可信模式,您必须首先在 nova.conf 中设置 [pci] passthrough_whitelist JSON 配置选项 的可信 值。然后,您可以使用绑定配置集中的 trusted=true 属性创建端口。确保 vnic-type 属性具有 hw_vebdirect 值。

BZ#1644020

此功能添加一个新参数 NovaLibvirtVolumeUseMultipath (boolean),这会在 Compute 节点的 nova.conf 文件中设置多路径配置参数 libvirt/volume_use_multipath。可以为每个 Compute 角色设置此参数。默认值为 False

BZ#1646907

此功能增加了在 UEFI 模式中引导整个安全强化镜像的功能。

BZ#1648261

此功能增强添加了 NeutronOVSTunnelCsum 参数,它可让您在 heat 模板中配置 neutron::agents::ml2::ovs::tunnel_csum。此参数设置或删除 OVS 代理中传输 IP 数据包的 GRE/VXLAN 隧道上的隧道标头校验和。

BZ#1656495

此功能添加了参数 NovaSchedulerWorkers,它允许您为各个调度程序节点配置多个 nova-schedule worker。默认值为 1

3.5.2. 已知问题

目前,Red Hat OpenStack Platform 存在的已知问题包括:

BZ#1574708

当从集群中移除并重新连接 OpenDaylight 实例时,实例可能无法成功加入集群。节点最终会重新加入集群。

在这种情况下应采取以下操作:

响应应包含 "SyncStatus" 字段,而 "true" 值代表一个健康的群集成员。

BZ#1579025

当 pacemaker 试图提升从设备节点时,OVN pacemaker 资源代理(RA)脚本有时无法正确处理促销操作。当 ovsdb-servers 将主 IP 移到节点的 RA 脚本时,会看到这一点。这个问题已解决。

出现问题时,neutron 服务器将无法使用 OVN 北和南向 DB 服务器,并将所有 Create/Update/Delete API 连接到 neutron 服务器会失败。

重启 ovn-dbs-bundle 资源将解决这个问题。在其中一个控制器节点中运行以下命令:

pcs resource restart ovn-dbs-bundle

3.6. Red Hat OpenStack Platform 13 维护支持版本 - 2019 年 3 月 13 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.6.1. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1636496

在这个版本中,您可以使用以下参数为后端成员和 frontend 客户端设置默认的 Octavia 超时:

  • OctaviaTimeoutClientData: Frontend client inactive timeout
  • OctaviaTimeoutMemberConnect: Backend member 连接超时
  • OctaviaTimeoutMemberData :后端成员不活跃超时
  • OctaviaTimeoutTcpInspect: Time to wait TCP packets for content inspection

所有这些参数的值都以毫秒为单位。

BZ#1636895

在这个版本中,您可以在 IPv6 地址中创建隧道端点。

BZ#1650576

在以前的版本中,OpenDaylight 打包使用默认的 OpenDaylight log_pattern 值,并包含 PaxOsgi 附加程序。这些默认值并非始终适合每个部署,因此最好配置自定义值。

在这个版本中,puppet-opendaylight 有两个额外的配置变量:

  • log_pattern :使用此变量配置您希望用于 OpenDaylight 日志记录器 log4j2 的日志模式。
  • enable_paxosgi_appender :使用此布尔值标记启用或禁用 PaxOsgi 附加程序。

Puppet-opendaylight 还修改 OpenDaylight 默认值。使用 puppet-opendaylight 的部署具有新的默认值:

  • log_pattern: %d{ISO8601} | %-5p | %-16t | %-60c{6} | %m%n
  • enable_paxosgi_appender: false

新变量配置选项

log_pattern

控制用于日志模式的字符串。

默认: %d{ISO8601} | %-5p | %-16t | %-60c{6} | %m%n

有效选项: 是有效的 log4j2 模式的字符串。

enable_paxosgi_logger

控制 PaxOsgi 附加器是否为日志记录启用的布尔值。

如果启用 enable_paxosgi_logger 变量,还必须修改日志模式来利用额外的功能。修改 log_pattern 变量,并包含包含 PaxOsgi 令牌的模式。例如,将 log_pattern 变量设置为包含以下值的字符串:

'%X{bundle.id} - %X{bundle.name} -
+
%X{bundle.version}'

如果没有编辑 log_pattern 变量,PadOsgi 附加程序仍然被启用,并继续运行,但日志记录不会利用额外的功能。

例如,将 enable_paxosgi_logger 变量设置为 true,并将 log_pattern 变量设置为以下值:

'%d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n'

默认:false

有效选项:布尔值值 truefalse

3.6.2. 发行注记

本节概述了本发行版本的重要信息,包括推荐做法和 Red Hat OpenStack Platform 的显著变化。您必须将此信息纳入考量,才能确保您的部署获得最佳效果。

BZ#1597666

在这个版本中,OpenDaylight 次要更新包含在 Red Hat OpenStack Platform 次要更新工作流中。

BZ#1611960

在这个版本中,使用 OpenDaylight 作为后端的 Red Hat OpenStack Platform 环境中的 Compute 节点可以成功扩展。

3.6.3. 已知问题

目前,Red Hat OpenStack Platform 存在的已知问题包括:

BZ#1574725

当 VLAN 提供商网络的同一子网中的多个虚拟机调度到两个不同的 Compute 节点时,虚拟机间会出现 ARP。

由于这些虚拟机之间的 ARP 数据包失败,因此两个虚拟机之间没有网络。

BZ#1575150

存在一个已知问题:当 OpenDaylight 群集成员停止时,OpenDaylight 集群可能会停止响应 30 分钟(因为失败或以其他方式)。临时解决方案会等待,直到集群再次变为活跃状态。

BZ#1577975

OpenDaylight 可能遇到非常高的 CPU 用量。此问题不应影响 OpenDaylight 的功能,但它可能会影响其他系统服务。

3.6.4. 删除的功能

此功能已从 Red Hat OpenStack Platform 发行版本中删除。

BZ#1431431

块存储 - 高可用性 Active-Active 卷服务不再作为技术预览提供,且在这个版本中不支持。

BZ#1683464

Block Storage - RBD Cinder 卷复制不再可用于技术预览,且不被支持。

3.7. Red Hat OpenStack Platform 13 Maintenance Release - April 30, 2019

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.7.1. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1654079
在以前的版本中,如果 overcloud 处于失败状态,undercloud 升级会失败。因此,您无法通过修改 undercloud 来部署修复。

在这个版本中,您可以使用新的 undercloud 升级选项 --force。此选项会导致 undercloud 升级过程忽略 overcloud 状态。

BZ#1692872

在这个版本中,您可以使用以下新标签来控制配置管理 Ansible playbook 和任务:

  • container_config
  • container_config_tasks
  • container_config_scripts
  • container_startup_configs
  • host_config
  • step1
  • step2
  • step3
  • step4
  • step5

3.7.2. 已知问题

目前,Red Hat OpenStack Platform 存在的已知问题包括:

BZ#1664701

一个最新更改,对带有 NUMA 拓扑页大小的实例进行内存分配。在这个版本中,带有 NUMA 拓扑的实例的内存不再会被订阅。

因此,目前所有带有 NUMA 拓扑的实例都禁用内存超额订阅,而之前只能使用带有巨页的实例才能使用 oversubscription。这会影响具有显式 NUMA 拓扑的实例,以及具有隐式拓扑的实例。由于使用巨页或 CPU 固定,一个实例可以有一个隐式 NUMA 拓扑。

如果可能,请避免使用显式 NUMA 拓扑。如果需要 CPU 固定,生成隐式 NUMA 拓扑,则没有临时解决方案。

3.8. Red Hat OpenStack Platform 13 维护支持版本 - 2019 年 7 月 10 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.8.1. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1589505
在这个版本中,您可以配置 NUMA 关联性,以确保实例放置在与为 vSwitch 提供外部连接相同的 NUMA 节点上。此功能可用于类型为 'flat' 或 'vlan' 和第 3 层网络类型的 'vxlan'、'gre' 或 'geneve' 的第 2 层网络。
BZ#1688461

有两个新的 CLI 参数可用于 config-download

  • 在单独的 CLI 会话中监控部署,或使用 openstack overcloud status 的 API 来监控部署。
  • 使用 openstack overcloud 失败 日志并保存 Ansible 错误,以备将来分析。
BZ#1698467
此功能增强为 Octavia Horizon 仪表板增加了新功能和可用性改进。
BZ#1698683
在这个版本中,添加了一个新的 director 参数 CinderNfsSnapshotSupport,您可以使用它控制 NFS 后端上的块存储服务(cinder)快照。
BZ#1701427

在以前的版本中,如果您在整个环境中启用了 TLS,内部服务(如 haproxy 和 manila API)之间的通信不受保护。

在这个版本中,manila API 支持内部 API 网络上的 TLS 端点。

BZ#1714227
在这个版本中,通过 director 添加了对第二个 ceph Storage Tier 部署功能的支持。

3.8.2. 技术预览

本节中列出的项目作为技术预览提供。有关技术预览状态范围的详情,以及相关的支持影响,请参阅 https://access.redhat.com/support/offerings/techpreview/

BZ#1624971

在这个版本中,您可以使用 multi-attach 功能将单个卷附加到多个主机。在没有存储协议和数据一致性的情况下连接卷必须由适当的软件应用程序(如集群文件系统)提供。

联系红帽,以确定您的目标存储驱动程序是否支持本版本中多重附加功能。多重附加卷不支持 Cinder 卷加密,其他功能限制可能会适用。

3.8.3. 发行注记

本节概述了本发行版本的重要信息,包括推荐做法和 Red Hat OpenStack Platform 的显著变化。您必须将此信息纳入考量,才能确保您的部署获得最佳效果。

BZ#1651191

在这个版本中,增加了对 Ansible Networking ML2 插件的支持,该插件提供以下功能:

  • ironic baremetal 客户机的隔离租户网络功能。
  • 为裸机恢复节点自动切换配置。
  • 将同一 ML2 驱动程序用于多个交换机平台。
BZ#1696332
这个版本为 IPv6 端点提供 OpenStack 消息传递服务(zaqar)支持,以协助通过 IPv6 部署的 Undercloud。
BZ#1701425

在以前的版本中,manila API 没有部署为 Apache httpd 服务器。

在这个版本中,Apache 日志位于带有 manila API 容器的节点上的 /var/log/containers/httpd/manila-api 中。

3.8.4. 已知问题

目前,Red Hat OpenStack Platform 存在的已知问题包括:

BZ#1581337

HAProxy 用于网络负载均衡,必须为版本 1.6 或更高版本,才能正确地支持 PING 类型运行状况监控器。

Red Hat OpenStack Platform 13 中包含的 HAProxy 版本是一个比 1.6 更早的版本,在配置 PING 类型健康监控器时使用 TCP 连接。

3.9. Red Hat OpenStack Platform 13 Maintenance Release - September 4, 2019

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.9.1. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1614361

在这个版本中,您可以在快速升级过程中使用 Red Hat OpenStack Platform 13 host-config-and-reboot 环境:

  1. 第一次引导 脚本中删除 NodeUserData 映射
  2. host-config-and-reboot.yaml 环境文件添加到 deploy 命令
  3. 使用特定于角色的参数将 KernelArgs 和 TunedProfile 添加到 OvS-DPDK 角色
  4. 确保 KernelArgs 和 TunedProfile 对应于 OpenStack Platform 10 值。任何更改会导致节点在快进升级过程中重启,升级会失败。

Ansible 无法处理由 heat 堆栈配置执行的重新启动。任何会导致重启的错误的配置都会导致 fast-forward 升级过程失败。

注意

您仍然可以通过现有的首次引导脚本执行快速升级,即使有新的补丁存在。

BZ#1631107

在这个版本中,Red Hat OpenStack Platform 包含一个新的参数 DnsSearchDomains。您可以将此参数用于具有不同 DNS 子域的 IDM 和 FreeIPA 环境。在环境文件的 parameter_defaults 部分中设置此参数,以将 DNS 搜索域列表添加到 resolv.conf 中。

BZ#1679267

在以前的版本中,在现有部署中无法升级到 TLS Everywhere。

在这个版本中,您可以在不重新安装内部 OpenStack 服务的情况下保护内部 OpenStack 服务之间的动态连接。

BZ#1688385

借助此项功能增强,您可以使用 tripleo::profile::base::mysql::mysql_server_options hiera 哈希键将任意 mysql 配置选项传递给 overcloud 上的 mysql 集群。

BZ#1706992

在这个版本中,如果在不迁移实例的情况下重启节点,您可以在 Compute 节点上配置实例自动重启。您可以配置 Nova 和 libvirt-guests 代理,以便在 Compute 节点重新引导时正常关闭实例,并在 Compute 节点重启时重启它们。以下参数在 Red Hat OpenStack Platform 13 中新增:NovaResumeGuestsStateOnHostBoot (True/False) NovaResumeGuestsShutdownTimeout (默认 300s)

BZ#1713761

在这个版本中,您可以使用名为 domain 的接口的密钥设置 ifcfg 配置的域。使用它来改进 DNS 搜索,这是支持具有不同 DNS 子域的 IDM/FreeIPA 环境。

BZ#1732220

在这个版本中,在 overcloud 上的 localhost 上默认启用 rabbitmq-management 接口,以便通过其管理 API 监控和查询 rabbitmq 的状态变得更加简单。

3.9.2. 技术预览

本节中列出的项目作为技术预览提供。有关技术预览状态范围的详情,以及相关的支持影响,请参阅 https://access.redhat.com/support/offerings/techpreview/

BZ#1700882

在这个版本中,块存储服务 multi attach 功能扩展到 Ceph RBD 驱动程序。

3.9.3. 发行注记

本节概述了本发行版本的重要信息,包括推荐做法和 Red Hat OpenStack Platform 的显著变化。您必须将此信息纳入考量,才能确保您的部署获得最佳效果。

BZ#1592528

在个别情况下,当多次重启控制器节点时,RabbitMQ 可以处于不一致的状态,在 overcloud 上阻止 API 操作。

此问题的症状是: - 在 OpenStack 服务日志中执行任何形式的条目:DuplicateMessageError: Found duplicate message (629ff0024219488499b0fac0caa3a3a5)。跳过它。- "openstack network agent list" 返回一些代理为 DOWN

要恢复正常操作,请在任何控制器节点上运行以下命令: pcs resource restart rabbitmq-bundle

BZ#1656978

在以前的版本中,Neutron SR-IOV 代理为虚拟功能(VF)设置两个可能的状态, 启用或禁用 ,这会强制 VF 链接状态,而不考虑物理功能(PF)链路状态。

在这个版本中,Neutron SR-IOV 代理将 VF 设置为自动 或禁用。自动复制 PF 或 downauto 状态。因此,如果 PF 处于 down 状态,VF 不会传输或接收,即使使用相同的嵌入式交换机(NIC)中的其他 VF。

注意

此行为不是标准,它取决于 NIC 供应商的实现。在 PF 关闭 时,检查驱动程序手册中的 VF 的实际行为。

BZ#1708705

这个版本为 hpe3par 驱动程序启用了 multi-attach 功能。

3.9.4. 已知问题

目前,Red Hat OpenStack Platform 存在的已知问题包括:

BZ#1745130

目前,TLS Everywhere 存在已知问题,因此 overcloud 节点无法注册到 IdM。作为临时解决方案,在运行 overcloud 部署前从所有 overcloud 节点中删除 /etc/ipa/ca.crt/。如需更多信息,请参阅 https://bugzilla.redhat.com/show_bug.cgi?id=1732564

3.9.5. 弃用的功能

本节中的项目可能不再受支持,或者在以后的发行版本中将不再受支持。

BZ#1541829

从计算 REST API 进行文件注入。现在,当使用 API microversion < 2.56 时,这将继续被支持。但是,nova 最终将删除此功能。更改如下:

  • POST /servers create server API 和 POST /servers/{server_id}/action 重建服务器 API 弃用 personality 参数。在请求正文中指定 personality 参数到这些 API 时,会导致 400 Bad Request 错误响应。
  • 在这个版本中,添加了对将 user_data 传递给重建服务器 API 的支持。
  • 停止从 GET /limits API 返回 maxPersonalitymaxPersonalitySize 响应值。
  • 停止接受并返回 injected_file _ file、injected_file_path_bytesos-quota-setsos-quota-class-sets API 的injected_file_content_bytes

3.10. Red Hat OpenStack Platform 13 维护支持版本 - 2019 年 11 月 6 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.10.1. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1561961

此发行版本包括对 PCI 设备 NUMA 关联性策略的支持。您可以将这些策略配置为 [pci]alias 配置选项的一部分。支持以下策略:

  • required
  • legacy
  • preferred

在所有情况下,如果可能,会提供严格的 NUMA 关联性。策略之间的主要区别在于,在调度失败前可以牺牲的 NUMA 关联性量。

您可以使用这些策略为各个设备配置 NUMA 关联性的严格程度,或者为每个设备别名配置更具体的。这有助于确保资源最大利用率。

当您为 PCI 设备配置"首选"策略时,nova 现在会在与 PCI 设备的 NUMA 节点不同的 NUMA 节点上使用 CPU,如果只有不同的节点可用。这会增加这些资源利用率,同时降低这些实例的性能。

BZ#1656292

在这个版本中,您可以在 Red Hat OpenStack Platform 13 中使用 NVIDIA vGPU GRID 驱动程序。红帽完全支持包括这些驱动程序的安装,不包括对围绕 NVIDIA GPU 和专用驱动程序开发的第三方应用程序的支持。

BZ#1684421

在这个版本中,您可以根据每个角色配置 NovaEnableRbdBackend,以便您可以使用 RBD 临时磁盘部署一组计算主机。剩余的主机仍然使用默认的本地临时磁盘。

注意为了获得最佳性能,您部署到 RBD 临时计算主机的镜像必须采用 RAW 格式,您部署到本地临时计算主机的镜像必须采用 QCOW2 格式。

BZ#1726733

在此次更新之前,默认的 amphora 超时时间对于生产环境过高。

在这个版本中,默认的 amphora 超时更适合生产环境。您还可以使用新的 director 参数覆盖默认值。

BZ#1731210

这个功能增强将事实升级为 3,它当您在有大量网络接口的系统中部署和运行更新时,可以提高性能。此版本的事实缓存支持事实缓存并更快地生成事实列表。

请注意,当您使用实施 facter 版本 3 的 openstack-tripleo-heat-templates 版本时,您必须在主机系统中运行 facter 版本 3。

BZ#1732220

在这个版本中,在 overcloud 上的 localhost 上默认启用 rabbitmq-management 接口,以便通过其管理 API 监控和查询 rabbitmq 的状态变得更加简单。

BZ#1733260

在这个版本中,openstack-tripleo-common 被改进,以便您可以运行 openstack overcloud generate fencing 命令,为使用 staging-ovirt 电源驱动程序的 ironic 节点创建适当的隔离配置,类似于您在 RHV 上部署的虚拟机。

Puppet-tripleo 也有改进,现在可以为 RHV 上的虚拟机正确配置 pacemaker fence-rhevm stonith 代理。

BZ#1746112

借助此次更新,overcloud 角色名称现在可以以数字开头,如 10Controller99Compute

BZ#1762167

此功能增强将以下插件添加到 collectd 容器中: - connectivity - mysql - ping - procevent - snmp-agent - sysevent

3.11. Red Hat OpenStack Platform 13 维护支持版本 - 2019 年 12 月 19 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.11.1. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1766735

此功能增强允许 OpenStack Image Service (glance)卷挂载到容器化 control plane 中,如 ScaleIO 的要求。

3.11.2. 弃用的功能

本节中的项目可能不再受支持,或者在以后的发行版本中将不再受支持。

BZ#1719815

OpenStack Telemetry Event Storage (panko)服务现已弃用。对 panko 的支持仅限于使用 Red Hat Cloudforms。红帽不推荐在 Red Hat Cloudforms 用例之外使用 panko。您可以使用以下选项而不是使用 panko:

  • 轮询 OpenStack Telemetry Metrics (gnocchi)服务,而不是轮询 panko。这可让您访问资源历史记录。
  • 使用 OpenStack Telemetry Alarming (aodh)服务在事件发生时触发警报。如果 OpenStack Telemetry Alarming (aodh)服务无法直接访问应用程序,您可以使用 OpenStack Messaging Service (zaqar)在队列中存储警报。

3.12. Red Hat OpenStack Platform 13 维护支持版本 - 2020 年 3 月 10 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.12.1. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1726733

此功能增强提供了适用于生产环境的默认 Octavia 超时,以及以下新的 heat 参数来覆盖默认值:

  • OctaviaConnectionMaxRetries
  • OctaviaBuildActiveRetries
  • OctaviaPortDetachTimeout
BZ#1757886
现在,您可以根据实例级别配置 PCI NUMA 关联性。这需要为使用基于 SR-IOV 的网络接口的实例配置 NUMA 关联性。在以前的版本中,只能在主机级别为 PCI 透传设备配置 NUMA 关联性。
BZ#1760567
在这个版本中,添加了一个功能来验证从 ceph-tools 存储库中安装了 ceph-ansible。
BZ#1760871

在这个版本中,添加了以下参数来微调 Octavia keepalived VRRP 设置:

octavia::controller::vrrp_advert_int

Amphora 角色和优先级公告内部公告(以秒为单位)。默认值为 $::os_service_default

octavia::controller::vrrp_check_interval

VRRP 健康检查脚本以秒为单位运行间隔。默认值为 $::os_service_default

octavia::controller::vrrp_fail_count

过渡到故障率前的连续失败数量。默认值为 $::os_service_default。

octavia::controller::vrrp_success_count

过渡到成功率前连续的连续成功次数。默认值为 $::os_service_default。

octavia::controller::vrrp_garp_refresh_interval

来自 MASTER 的 Ltuitous ARP 公告之间的时间(以秒为单位)。默认值为 $::os_service_default。

octavia::controller::vrrp_garp_refresh_count

对每个刷新间隔做出的介绍性 ARP 公告数量。默认值为 $::os_service_default。

要自定义您的环境,请参阅 https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/13/html/advanced_overcloud_customization/

BZ#1766735
此功能增强允许 OpenStack Image Service (glance)卷挂载到容器化 control plane 中,如 ScaleIO 的要求。
BZ#1777993
在这个版本中,为 Libvirt OpenStack Nova virt 驱动程序启用了对附加卷的扩展的支持。
BZ#1782229

此功能增强添加了两个新参数,即 GlanceImageImportPluginsGlanceImageConversionOutputFormat,以在镜像导入过程中启用镜像服务(glance)插件。

例如,如果您启用 image_conversion 插件,以下命令会导入 qcow2 镜像,以原始格式存储,并在导入后自动转换:

Glance image-create-via-import --disk-format qcow2 --container-format bare --name cirros --import-method web-download --uri http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img

这意味着,当您将 RBD 用作镜像服务驱动程序时,可以始终以原始格式存储镜像。

3.13. Red Hat OpenStack Platform 13 维护支持版本 - 2020 年 6 月 24 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.13.1. 错误修复

此 Red Hat OpenStack Platform 发行版本中修复了以下错误:

BZ#1650046

在此次更新之前,当以 root 用户身份使用 su 登录时,SELinux 限制会阻止 RabbitMQ 日志在 undercloud 上正确轮转。

rabbitmq-server 软件包已更新,openstack-selinux 有一个新的策略规则来启用正确的日志轮转。

BZ#1783210
在这个版本中,在 cinder-backup 容器的 pacemaker 模板版本中放入正确的 ipc:host 设置。
BZ#1805840

在此次更新之前,部署 Ceph RadosGW 不会创建 swiftoperator 角色,而具有 swiftoperator 角色的用户不会被授予 RadosGW Swift 端点的管理权限。

在这个版本中,部署 Swift 或 Ceph RadosGW 会自动创建 swiftoperator 角色,而具有 swiftoperator 角色的用户现在可以管理 RadosGW 对象以及 Swift 对象。

BZ#1811122

在此次更新之前,xtremio 驱动程序报告了不正确的可用空间容量,这会阻止依赖存储后端的虚拟机实例置备不足。

在这个版本中,xtremio 驱动程序会报告正确的可用空间容量,虚拟机实例可以正确置备。

BZ#1813640
在这个版本中,为在处理过程中 Neutron DHCP 代理收到的端口分配优先级,以便减少"Failed"在引导实例时分配网络'错误。
BZ#1813642

在这个版本中解决了一个因为 OpenStack Platform 维护发行版本为 2019 年 7 月 10 日(RHOSP 13.0.7)升级失败的问题。特别是,它修复了 OpenStack Compute (nova)中的单元管理错误。

现在,您可以从 2019 年 7 月 10 日(RHOSP 13.0.7)的 OpenStack Platform 维护发行版本升级到较新的 OpenStack 版本。

BZ#1829284
此更新可以正确地将 cinder 卷与对应的 VxFlex OS 卷关联,因此当您删除卷时,对应的后端卷也会被删除。在以前的版本中,删除 cinder 卷不会触发删除对应的 VxFlex OS 卷。
BZ#1829765

在此次更新之前,cinder RBD 驱动程序不会执行修剪或丢弃操作,这会阻止用户从 cinder RBD 卷修剪未使用的空间。

在这个版本中,cinder RBD 驱动程序支持修剪和丢弃操作。

BZ#1835870
在这个版本中解决了一个会导致 HPE 3par 存储的 Cinder 离线卷迁移失败的问题。

3.13.2. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1670592
在这个版本中,增加了对使用 OVS-DPDK 进行超融合基础架构(HCI)部署的支持。HCI 架构具有配置有 Compute 和 Ceph Storage 服务的 overcloud 节点共存,以更好地利用资源。
BZ#1759254
此功能增强添加了 OctaviaConnectionLogging 参数,以便您可以禁用连接流日志记录。默认设置为 true,这表示已记录连接流。
BZ#1823416
此功能增强将 cinder Datera 驱动程序更新为版本 2.2。
BZ#1841194
此功能增强更正了导致网络流量破坏 openvswitch 防火墙驱动程序的条件。在以前的版本中,对于相关数据包的目的地 MAC 地址,缺少转发数据库(FDB)条目会导致在集成网桥上的给定 VLAN 中的所有端口上出现。现在,流量只定向到正确的端口。

3.13.3. 发行注记

本节概述了本发行版本的重要信息,包括推荐做法和 Red Hat OpenStack Platform 的显著变化。您必须将此信息纳入考量,才能确保您的部署获得最佳效果。

BZ#1804412
在这个版本中,您可以在 amphora 中禁用连接日志。

3.14. Red Hat OpenStack Platform 13 Maintenance Release - October 28, 2020

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.14.1. 错误修复

此 Red Hat OpenStack Platform 发行版本中修复了以下错误:

BZ#1723482

在此次更新之前,计算(nova)服务不会释放资源,如网络端口,直到恢复 Compute 节点会导致负载均衡服务(octavia)故障转移,当无法在关闭的 Compute 节点上从实例分离网络端口时失败。

在这个版本中,负载均衡服务中的故障转移流已更新,以解决这个问题。负载平衡服务现在将放弃计算服务将不发布的端口,将它们保留为 Compute 服务或网络服务的"待定删除"状态,以便在恢复 Compute 节点后进行清理。这会解决这个问题,即使 Compute 节点仍然失败,也允许故障切换成功。

BZ#1806975

在此次更新之前,当同时执行几个恢复时,备份服务会失败,因为系统内存不足。

在这个版本中,通过减少对数据的引用计数,在备份恢复操作过程中,增加了 Python 释放内存的速度,以便 Python 在解压缩后立即垃圾回收数据,而不是等待恢复完成。这解决了这个问题,允许备份服务同时处理多个恢复。

BZ#1841157
在此次更新之前,FC 实时迁移失败。在这个版本中,为对应的主机将正确的设备信息发送到 FC os-brick。另外,当实时迁移过程在 Compute 节点上失败时,该设备现在已从正确的掩码视图中删除。
BZ#1841866
在此次更新之前,3PAR 驱动程序没有检查可能的卷 ID 的 _name_id 字段,这会导致卷在实时迁移后无法使用。在这个版本中,驱动程序知道 _name_id 字段作为卷 ID 的替代位置,实时迁移的卷现在可以正常工作。
BZ#1843196

在此次更新之前,从快照创建卷时,内部临时快照(在同步迁移期间创建)不会被从 VNX 存储中删除。

例如,如果我们从 volume V1 (内部临时快照 S2)创建新卷 V2,则从复制 S1 开始。V1 现在有两个快照:S1 和 S2。虽然我们从 OpenStack Block Storage (cinder)中删除 V1、V2 和 S1,但 S2 不会被删除。这会导致 V1 和 S2 都保留在 VNX 存储上。

在这个版本中,临时快照 S2 被删除,可以成功删除 V1。

BZ#1854950

在此次更新之前,实例在从 RHOSP 10 升级到 RHOSP 13 后无法访问其卷,因为在将 OpenStack Block Storage 服务从主机迁移到容器前不会卸载用作 OpenStack Block Storage (cinder)的 NFS 共享。因此,当容器化服务启动并更改 OpenStack 块存储服务目录中所有文件的所有权时,它还改变了 NFS 共享中的文件。

在这个版本中,在升级容器中运行的服务前,OpenStack Block Storage NFS 共享会被卸载。这会解决这个问题,实例现在可以在升级到 RHOSP 13 后访问其卷。

BZ#1861084

在此次更新之前,如果 OpenStack Shared File Systems (manila)服务配置了 VServer-scoped ONTAP 凭证,则会导致共享置备失败。这是因为,在尝试确定存储系统功能时,NetApp ONTAP 驱动程序最近变化会导致共享管理器服务陷入重启循环中。

在这个版本中,NetApp ONTAP 驱动程序会检查 Vserver 范围的 NetApp 用户,并为确定存储系统功能添加一个回退路径,从而解决了这个问题。OpenStack 共享文件系统服务现在可以成功确定存储系统功能,并成功共享配置。

BZ#1862105

在此次更新之前,代理的初始连接错误会破坏重试逻辑,这有时会导致代理无法与 Ironic 服务通信,并将误导 TypeError 记录到代理控制台。

在这个版本中,这个异常处理已被修复,以明确处理已知的可能的连接和查找失败情况,且日志已更新,以提供有关代理发生的情况。现在,连接会被代理重试,日志记录在意外失败时不会报告 TypeError。

BZ#1867817
在此次更新之前,使用 ceilometer-metrics-qdr.yaml 环境文件会导致独立 Redis 配置,而不是由 OpenStack Telemetry (ceilometer)所需的集群 redis 实例。在这个版本中,资源 registry 中使用正确的服务文件来解决这个问题。
BZ#1847305

在启动过程中,ironic-conductor 服务可能会丢失裸机节点中的保留锁定,以便在 ironic-conductor 重启过程早期被接受工作。在重启 ironic-conductor 服务的过程中,丢失锁定会导致一个竞争条件提交到 OpenStack Bare Metal Provisioning (ironic)部署,这会导致请求失败并显示 "NodeNotLocked" 错误。

在这个版本中,会在 ironic-conductor 进程接受可以解决这个问题前执行数据库清理检查。

3.14.2. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1802038
此功能增强添加了对一个外部 Red Hat Ceph Storage 4.1 集群的支持。
BZ#1845802

此增强为 Networking (neutron)服务添加了新的配置选项: http_retries,可用于配置对 Compute (nova)服务或 OpenStack Bare Metal Provisioning (ironic)服务的 API 调用次数。默认情况下,如果失败,API 调用会重试 3 次。

借助此项功能增强,网络服务可以重试 API 请求以防止引导实例中出现错误,例如,确保计算服务收到端口已准备好使用的通知。

BZ#1815202

当使用 config-download 技术预览功能时,生成的 Ansible playbook 不包括为 config-download playbook 量身定制的默认 ansible.cfg。默认的 Ansible 设置不适用于大规模部署。

此功能增强允许您使用以下命令生成可与 config-download playbook 搭配使用的 ansible.cfg

$ openstack tripleo config generate ansible

3.14.3. 已知问题

目前,Red Hat OpenStack Platform 存在的已知问题包括:

BZ#1891014

目前,在次要更新期间实时迁移实例时,TLS Everywhere 环境存在了一个已知问题。

随着对完整 QEMU 原生 TLS 加密的支持的支持,在实时迁移(BZ1754791)时,实例实时迁移会在运行实例的 RHOSP 部署上执行次要更新时失败。这是因为在更新过程中会创建 TLS NBD 块迁移的证书,它尚未存在于 libvirtd 容器中。证书在创建 libvirt 容器时合并到容器目录树中,而不是直接从主机绑定挂载。因此,在更新过程中需要迁移的实例的 QEMU 进程不会自动获得新证书,NBD 设置过程会失败,并显示以下错误:

libvirtError: internal error: unable to execute QEMU command 'object-add': Unable to access credentials /etc/pki/qemu/ca-cert.pem: No such file or directory

实时迁移适用于在更新后创建的实例。

临时解决方案:

您可以使用以下选项之一来解决这个问题:

  • 在更新完成后停止并启动无法实时迁移的实例,以便新的 QEMU 进程由具有证书详情的 libvirt 容器创建。
  • 在 overcloud 中添加以下配置,以禁用 NBD 的 TLS 传输加密,并且部署 overcloud:

      parameter_defaults:
        UseTLSTransportForNbd: False
BZ#1726270

存在一个已知问题,导致 glance db purge 命令失败并显示 IntegrityError,并显示类似"Cannot delete 或更新父行的消息:外部键约束"会在您尝试从其他表中清除记录时会失败"。

临时解决方案:

在从 images 表中清除记录前,从其他表中手动删除记录。

3.15. Red Hat OpenStack Platform 13 维护支持版本 - 2020 年 12 月 16 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.15.1. 错误修复

此 Red Hat OpenStack Platform 发行版本中修复了以下错误:

BZ#1879531

在此次更新之前,当 Red Hat OpenStack Platform (RHOSP)用户将其容器配置为使用 latest 标签时,RHOSP 不会获取或重建这些容器以使用更新的容器镜像。

在这个版本中解决了这个问题。现在,每当用户运行部署操作(包括更新)时,RHOSP 始终获取容器镜像并检查每个运行中的容器的镜像 ID,以确定是否应重新构建使用最新镜像。RHOSP 重启它更新的所有容器。

重要

这个版本是从之前的版本中更改,用于 RHOSP 管理容器更新。在以前的版本中,RHOSP 才会检查镜像是否存在。现在,RHOSP 始终会在部署操作过程中刷新容器,并重启它更新的任何容器。因此,除非您通过 Red Hat Satellite 部署控制容器标签,否则不应重复使用标签(如 latest 和 always 使用 --tag-from-labels 选项)。

3.16. Red Hat OpenStack Platform 13 维护支持版本 - 2021 年 3 月 17 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.16.1. 错误修复

此 Red Hat OpenStack Platform 发行版本中修复了以下错误:

BZ#1908366

在这个版本中解决了导致 VxFlex 卷分离尝试失败的问题。

VxFlex cinder 卷凭证方法最近与预先存在的卷附加不兼容。如果在凭证方法更改前进行了 VxFlex 卷附加,请尝试分离失败。

现在,分离不会失败。

3.16.2. 已知问题

目前,Red Hat OpenStack Platform 存在的已知问题包括:

BZ#1841371

使用快照转让卷到另一用户时,将转让卷,但快照仍然保持归上一个用户所有。

作为临时解决方案,在 Red Hat Openstack Platform 13 中手动管理快照。请参阅 Red Hat OpenStack 实例和镜像指南中的"管理实例快照" [1]。

[1] https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/13/html-single/instances_and_images_guide/index#section-instance-snapshots

3.17. Red Hat OpenStack Platform 13 维护支持版本 - 2021 年 6 月 16 日

本发行注记重点概述部署此 Red Hat OpenStack Platform 发行版本时需要考虑的信息,如技术预览项、推荐做法、已知问题和淘汰的功能等。

3.17.1. 错误修复

此 Red Hat OpenStack Platform 发行版本中修复了以下错误:

BZ#1888417

在此次更新之前,块存储服务(cinder)的 NetApp SolidFire 后端的 API 调用可能会失败,并显示 xNotPrimary 错误。当当 SolidFire 自动移动连接以重新平衡集群工作负载时,会出现此类错误。

在这个版本中,SolidFire driver patch 把 xNotPrimary 例外添加到可以重试的例外列表中。

BZ#1888469

在此次更新之前,用户在某些环境中遇到超时,大在卷过大时。这些多字节卷通常遇到涉及 SolidFire 集群的网络性能或升级问题。

在这个版本中,在 SolidFire 驱动程序中添加了两个超时设置,允许用户为其环境设置适当的超时。

BZ#1914590

在此次更新之前,当块存储服务(cinder) API 响应丢失时,NetApp SolidFire 后端创建了未使用的重复卷。

在这个版本中,对 SolidFire 驱动程序的补丁首先检查卷名称是否已存在,然后再尝试创建它。补丁还会在检测到读取超时后立即检查卷创建,并防止 API 调用无效。

BZ#1934440

在此次更新之前,Service Telemetry Framework (STF)客户端无法连接到 STF 服务器,因为最新版本的 Red Hat AMQ Interconnect 不允许没有 CA 证书的 TLS 连接。

在这个版本中,通过提供新的编排服务(heat)参数, MetricsQdrSSLProfiles 来解决这个问题。

要获取 Red Hat OpenShift TLS 证书,请输入以下命令:

$ oc get secrets
$ oc get secret/default-interconnect-selfsigned -o jsonpath='{.data.ca\.crt}' | base64 -d

MetricsQdrSSLProfile 参数与 Red Hat OpenShift TLS 证书的内容添加到自定义环境文件:

MetricsQdrSSLProfiles:
    -   name: sslProfile
        caCertFileContent: |
           -----BEGIN CERTIFICATE-----
           ...
           TOpbgNlPcz0sIoNK3Be0jUcYHVMPKGMR2kk=
           -----END CERTIFICATE-----

然后,使用 openstack overcloud deploy 命令重新部署 overcloud。

BZ#1940153

在此次更新之前,当使用块存储服务(cinder)从 HP3Par 存储后端服务器的快照中创建大量实例(可引导卷)时,会发生超时。HP 变量(convert_to_base)设置为 true,这会导致 HP3Par 创建原始卷的厚卷。这是一个不必要的操作,不需要的操作。

在这个版本中,较新的 HP 驱动程序(4.0.11)已向后移植到 RHOSP 13 中,其中包含新的 spec:

hpe3par:convert_to_base=True | False
  • true (默认)- 卷独立于快照创建(HOS8 行为)。
  • false - 卷是作为快照子创建的(HOS5 行为)。

    使用

    您可以使用 cinder type-key 命令为 HPE3Par 卷设置这个新的 spec:

    cinder type-key <volume-type-name-or-ID> set hpe3par:convert_to_base=False | True

    Example

    $ cinder type-key myVolType set hpe3par:convert_to_base=False
    $ cinder create --name v1 --volume-type myVolType 10
    $ cinder snapshot-create --name s1 v1
    $ cinder snapshot-list
    $ cinder create --snapshot-id <snap_id> --volume-type myVolType --name v2 10

    备注

    如果 v2 的大小大于 v1 的大小,则无法增大该卷。在这种情况下,为了避免任何错误,v2 将转换为基本卷(convert_to_base=True)。

BZ#1943181

在此次更新之前,当计算服务(nova)对块存储服务(cinder)发出 终止连接 调用时,单一和多路径设备不会被清除,因此数据丢失风险,因为这些设备处于 保留 状态。

造成此问题的原因是,os-brick disconnect_volume 代码假定 use_multipath 参数的值与原始 connect_volume 调用中使用的连接器的值相同。

在这个版本中,块存储服务会改变其执行断开连接的方式。现在,当附加到实例的卷的 Compute 服务中的多路径配置改变时,os-brick 代码可以正确地清除和分离卷。

3.17.2. 功能增强

此 Red Hat OpenStack Platform 发行版本包括以下功能增强:

BZ#1875508

此功能增强允许您覆盖部署 overcloud 时角色的编排服务(heat)参数 ServiceNetMap

在使用 TLS-everywhere 处使用 TLS-everywhere 的 spine-leaf (edge)部署时,当用于在角色上映射网络时,hiera interpolation 存在问题。覆盖每个角色的 ServiceNetMap 解决了在某些 TLS-everywhere 部署过程中看到的问题,提供更简单的接口,并替换了更复杂的 hiera interpolation 的需求。

3.17.3. 发行注记

本节概述了本发行版本的重要信息,包括推荐做法和 Red Hat OpenStack Platform 的显著变化。您必须将此信息纳入考量,才能确保您的部署获得最佳效果。

BZ#1924727
块存储备份服务有时会需要访问主机上运行该服务的容器中无法使用的文件。此功能增强添加了 CinderBackupOptVolumes 参数,您可以使用它来为块存储备份服务指定额外的容器卷挂载。

第 4 章 技术备注

本章补充了通过 Content Delivery Network 发布的 Red Hat OpenStack Platform "Queens" 勘误公告文本中包含的信息。

4.1. RHEA-2018:2086 — Red Hat OpenStack Platform 13.0 Enhancement Advisory

本节中所包括的错误已在 RHEA-2018:2086 公告中解决。有关此公告的详情请点击以下链接 :https://access.redhat.com/errata/RHEA-2018:2086。

ceph-ansible

ceph-ansible 实用程序并不总是从创建该文件的同一节点中删除 ceph-create-keys 容器。

因此,部署可能会失败,并显示消息 "Error response from daemon: No such container: ceph-create-keys"。 这会影响任何 ceph-ansible 运行(包括全新的部署),其中包括:* 多个计算备注或 * 自定义角色作为 ceph 客户端,后者也托管了使用 ceph 的服务。

gnocchi

openstack-gnocchi 软件包已重命名为 gnocchi。由于上游项目范围的变化,openstack- 前缀已被删除。Gnocchi 已从 OpenStack umbrella 中移出,并作为独立项目维护。

OpenDaylight

当将浮动 IP 关联到实例时,连接到外部 IP 会失败,然后取消关联浮动 IP。当租户 VLAN 网络时,会出现这种情况:* 在非NAPT 交换机上生成的虚拟机与浮动 IP 关联,并*浮动 IP 被删除。这会导致在 NAPT 交换机的 FIB 表中缺少流(大致)。

由于缺少 FIB 表条目,虚拟机将丢失与公共网络的连接。

将浮动 IP 与虚拟机关联可恢复与公共网络的连接。只要浮动 IP 与虚拟机关联,就可以连接到互联网。但是,您将丢失来自外部网络的公共 IP/浮动 IP。

openstack-cinder

在以前的版本中,由于滚动升级,cinder 服务必须在执行离线升级时重启两次。

可以使用新的可选参数 - 称为 "--bump-versions"-- 跳过双系统重启--添加到 cinder-manage db sync 命令中。

Block Storage 服务(cinder)使用同步锁定来防止卷镜像缓存中出现重复条目。锁定范围太大,并导致同时创建镜像的卷与锁定竞争,即使没有启用镜像缓存。

这些同时从镜像创建卷的请求会被序列化且不并行运行。

因此,同步锁定已被更新,以最小化锁定范围,并且仅在启用卷镜像缓存时才生效。

现在,当禁用卷镜像缓存时,从镜像中同时创建卷的请求会并行运行。当卷镜像缓存被启用时,最小化锁定以确保在缓存中只创建一个条目。

openstack-manila

共享文件系统服务(manila)现在为 NetApp ONTAP cDOT 驱动程序提供 IPv6 访问规则支持,它可让您将 manila 与 IPv6 环境搭配使用。

因此,共享文件系统服务现在支持通过 IPv6 网络导出由 NetApp ONTAP 后端支持的共享。对导出的共享的访问由 IPv6 客户端地址控制。

共享文件系统服务(manila)支持通过 NFSv4 协议挂载 Ceph 文件系统(CephFS)支持的共享文件系统。在 Controller 节点上运行的 NFS-Ganesha 服务器用于将 CephFS 导出到具有高可用性(HA)的租户。租户彼此隔离,只能通过提供的 NFS 网关接口访问 CephFS。此新功能完全集成到 director 中,为共享文件系统服务启用 CephFS 后端部署和配置。

openstack-neutron

当向路由器添加或删除接口时,在 DHCP 代理上启用了隔离的元数据,则不会更新该网络的元数据代理。

因此,如果实例位于未连接到路由器的网络中,实例将无法获取元数据。

在添加或删除路由器接口时,您需要更新元数据代理。然后,当网络被隔离时,实例将从 DHCP 命名空间中获取元数据。

openstack-selinux

在以前的版本中,virtlogd 服务在客户机虚拟机启动时记录冗余 AVC 拒绝错误。在这个版本中,virtlogd 服务不再尝试发送对 systemd 的关闭禁止调用,这可以防止上面描述的错误发生。

openstack-swift

Object Store 服务(swift)现在可以与 Barbican 集成,以透明地加密和解密您的存储(at-rest)对象。at-rest 加密与 in-transit 加密不同,它引用了在存储于磁盘上的对象。

Swift 对象以明文形式存储在磁盘上。如果问题早已达到生命期,这些磁盘可能会造成安全风险。加密对象可以缓解这些风险。

Swift 以透明方式执行这些加密任务,在上传到 swift 时自动加密对象,然后在提供给用户时自动解密。这个加密和解密使用相同的(ymmetric)密钥进行,密钥保存在 Barbican 中。

openstack-tripleo-common

Octavia 不会扩展到实际工作负载,因为为"服务"项目默认配置的配额限制在 overcloud 中创建的 Octavia 负载均衡器的数量。

要缓解这个问题,请以 overcloud admin 用户身份将所需的配额设置为无限或一些足够大的值。例如,在 undercloud 上运行以下命令:

# source ~/overcloudrc
# openstack quota set --cores -1 --ram -1 --ports -1 --instances -1 --secgroups -1 service

tripleo.plan_management.v1.update_roles 工作流不会将 overcloud 计划名称(swift 容器名称)或 zaqar 队列名称传递给它触发的子工作流。这会导致在使用 overcloud 计划名称以外的默认计划名称('overcloud')时发生错误。在这个版本中,可以正确地传递这些参数并恢复正确的行为。

如果容器设置为自动重启,则 'docker kill' 命令不会退出。如果用户尝试运行 'docker kill <container>',它可能会无限期挂起。在这种情况下,CTRL+C 将停止该命令。

要避免这个问题,请使用 'docker stop'(而不是 'docker kill')来停止容器化服务。

原因:"openstack overcloud node configure"命令仅将映像 ID 用于 "deploy-kernel" 和 "deploy-ramdisk" 参数。现在,在修复后会接受镜像 ID。

openstack-tripleo-heat-templates

此功能增强添加了对从 director 部署启用了 RT 的计算节点以及"常规"计算节点的支持。

  1. 基于 tripleo-heat-templates/environments/compute-real-time-example.yaml,创建一个 compute-real-time.yaml 环境文件,该文件会至少为 ComputeRealTime 角色设置参数:

    • IsolCpusList 和 NovaVcpuPinSet:应当为实时工作负载保留的 CPU 内核数。这取决于您的实时计算节点的 CPU 硬件。
    • KernelArgs: 设置为 "default_hugepagesz=1G hugepagesz=1G hugepages=X",具体取决于客户机数量以及它们有多少内存。
  2. 构建和上传 overcloud-realtime-compute 镜像:

    • 准备仓库(用于 CentOS):

    • OpenStack overcloud 镜像构建 --image-name overcloud-realtime-compute --config-file /usr/share/openstack-tripleo-common/image-yaml/overcloud-realtime-compute.yaml --config-file /usr/share/openstack-tripleo-common/image-yaml/overcloud-realtime-compute-centos7.yaml
    • OpenStack overcloud 镜像上传 --update-existing --os-image-name overcloud-realtime-compute.qcow2
  3. 使用 ComputeRealTime 和所有其他所需的角色创建 roles_data.yaml,例如: openstack overcloud roles generate -o ~/rt_roles_data.yaml Controller ComputeRealTime …​ 并将 ComputeRealTime 角色分配给实时节点。请查看 https://docs.openstack.org/tripleo-docs/latest/install/advanced_deployment/custom_roles.html
  4. 部署 overcloud:

    openstack overcloud deploy --templates -r ~/rt_roles_data.yaml -e ./tripleo-heat-templates/environments/host-config-and-reboot.yaml -e ./compute-real-time.yaml [...]

glance-direct 方法在 HA 配置中使用时需要一个共享暂存区域。如果不存在通用暂存区域,则使用"glance-direct"方法上传在 HA 环境中可能会失败。传入到控制器节点的请求分布在可用的控制器节点上。个控制器处理第一步,另一个控制器都使用控制器将镜像写入不同的暂存区域来处理第二个请求。第二个控制器无法访问控制器处理第一步所使用的相同暂存区域。

Glance 支持多种镜像导入方法,包括 'glance-direct' 方法。此方法使用三步方法:创建镜像记录,将镜像上传到暂存区域,然后将镜像从暂存区域传输到存储后端,以便镜像变为可用。在 HA 设置(即,有 3 个控制器节点)中,glance-direct 方法需要一个在控制器节点上使用共享文件系统的通用暂存区域。

现在,可以配置已启用的 Glance 导入方法列表。默认配置不会启用 'glance-direct' 方法(默认为启用web-download)。为了避免在 HA 环境中将映像可靠地导入到 Glance,请不要启用"glance-direct"方法。

openvswitch systemd 脚本会在主机中停止时删除 /run/openvswitch 文件夹。ovn-controller 容器内的 /run/openvswitch 路径变为过时的目录。当服务再次启动时,它会重新创建 文件夹。为了让 ovn-controller 再次访问此文件夹,必须重新挂载 文件夹或 ovn-controller 容器重启。

添加了一个新的 CinderRbdExtraPools Heat 参数,它指定用于 Cinder 的 RBD 后端的 Ceph 池列表。为列表中的每个池创建一个额外的 Cinder RBD 后端驱动程序。除了与 CinderRbdPoolName 关联的标准 RBD 后端驱动程序之外。新参数是可选的,默认为空列表。所有池都与单个 Ceph 集群关联。

Redis 在启用了 TLS 的 HA 部署中无法正确复制跨节点间的数据。Redis 后续节点将不包含领导节点中的任何数据。建议为 Redis 部署禁用 TLS。

此功能增强添加了对将指标数据发送到 Gnocchi DB 实例的支持。

为 collectd 可组合服务添加了以下新参数。如果 CollectdGnocchiAuthMode 设置为 'simple',则 CollectdGnocchiProtocol, CollectdGnocchiServer, CollectdGnocchiPort 和 CollectdGnocchiUser 被考虑进行配置。

如果 CollectdGnocchiAuthMode 设置为 'keystone',则将 CollectdGnocchiKeystone* 参数考虑进行配置。

下面是添加的参数的详细描述:

CollectdGnocchiAuthMode

类型:字符串

描述:身份验证 Gnocchi 服务器的类型使用。支持的值有'simple' 和 'keystone'。

默认:'simple'

CollectdGnocchiProtocol

类型:字符串

描述:API 协议 Gnocchi 服务器使用.

默认: 'http'

CollectdGnocchiServer

类型:字符串

Description:我们应该发送指标的 gnocchi 端点的名称或地址。

默认: nil

CollectdGnocchiPort

类型:数字

描述:我们将在 Gnocchi 服务器上连接的端口。

默认: 8041

CollectdGnocchiUser

类型:字符串

Description:使用简单身份验证向远程 Gnocchi 服务器进行身份验证的用户名。

默认: nil

CollectdGnocchiKeystoneAuthUrl

类型:字符串

描述:用于身份验证的 Keystone 端点 URL。

默认: nil

CollectdGnocchiKeystoneUserName

类型:字符串

Description:用于向 Keystone 进行身份验证的用户名。

默认: nil

CollectdGnocchiKeystoneUserId

类型:字符串

描述:用于向 Keystone 进行身份验证的用户 ID。

默认: nil

CollectdGnocchiKeystonePassword

类型:字符串

描述:用于向 Keystone 进行身份验证的密码

默认: nil

CollectdGnocchiKeystoneProjectId

类型:字符串

描述:用于向 Keystone 进行身份验证的项目 ID。

默认: nil

CollectdGnocchiKeystoneProjectName

类型:字符串

描述:用于向 Keystone 进行身份验证的项目名称。

默认: nil

CollectdGnocchiKeystoneUserDomainId

类型:字符串

描述:用于向 Keystone 进行身份验证的用户域 ID。

默认: nil

CollectdGnocchiKeystoneUserDomainName

类型:字符串

描述:用于向 Keystone 进行身份验证的用户域名。

默认: nil

CollectdGnocchiKeystoneProjectDomainId

类型:字符串

描述:用于向 Keystone 进行身份验证的项目域 ID。

默认: nil

CollectdGnocchiKeystoneProjectDomainName

类型:字符串

描述:用于向 Keystone 进行身份验证的项目域名。

默认: nil

CollectdGnocchiKeystoneRegionName

类型:字符串

描述:用于向 Keystone 进行身份验证的区域名称。

默认: nil

CollectdGnocchiKeystoneInterface

类型:字符串

描述:要进行身份验证的 Keystone 端点的类型。

默认: nil

CollectdGnocchiKeystoneEndpoint

类型:字符串

描述:如果要覆盖 Keystone 值,请 Explicitly state Gnocchi 服务器 URL

默认: nil

CollectdGnocchiResourceType

类型:字符串

Description:由 collectd-gnocchi 插件在 Gnocchi 中创建的默认资源类型来存储主机。

默认:'collectd'

CollectdGnocchiBatchSize

类型:数字

Description:最小值 Gnocchi 应该批处理。

默认:10

BZ#1566376

OVN 元数据服务不在基于 DVR 的环境中部署。因此,实例无法获取实例名称、公钥等元数据。

此补丁启用了上述服务,以便任何引导的实例都可以获取元数据。

Cinder 后端服务的 Heat 模板触发 Puppet 在 overcloud 主机上部署 cinder-volume 服务,无论该服务是否要部署到容器中。这会导致 cinder-volume 服务部署两次: 在容器中以及主机上的。

因此,当操作由主机上运行的恶意 cinder-volume 服务处理时,OpenStack 卷操作(如创建和附加卷)偶尔会失败。

因此,Cinder 后端 heat 模板已被更新,无法部署 cinder-volume 服务的第二个实例。

在 collectd 日志和 "ConnectionError: ('Connection aborted.', CannotSendRequest ())中,用作 Gnocchi 后端的任何错误,在 gnocchi-metricd.conf 中生成 503 错误。要缓解这个问题,请提高 CollectdDefaultPollingInterval 参数的值,或者提高 Swift 集群性能。

manila-share 服务无法初始化,因为对 ceph-ansible 的复杂 ceph-keys 处理的更改会在 /etc/ceph/ceph.client.manila.keyring 文件中生成不正确的内容。

要允许 manila-share 服务初始化:1)使 /usr/share/openstack/tripleo-heat-templates 的副本用于 overcloud 部署。

2)编辑 …​/tripleo-heat-templates/docker/services/ceph-ansible/ceph-base.yaml 文件,将第 295 行中的所有 triple 反斜杠更改为单反斜杠。before: mon_cap: 'allow r, allow command \\\"auth del\\\", allow command \\\"auth caps\\\", allow command \\\"auth get\\\", allow command \\\"auth get-or-create\\\"' After: mon_cap: 'allow r, allow command \"auth del\", allow command \"auth caps\", allow command \"auth caps\", allow command \"auth\"auth

3)部署 overcloud,替换 tripleo-heat-templates 的副本的副本,其中验证 /usr/share/openstack-tripleo-heat 模板发生在原始 overcloud-deploy 命令中。

ceph 键 /etc/ceph/ceph.client.manila.keyring 文件会具有适当的内容,manila-share 服务将正确初始化。

为 HA 配置 cinder-volume 服务时,cinder 的 DEFAULT/host 配置被设置为 "hostgroup"。其他 Cinder 服务(cinder-api, cinder-scheduler, cinder-backup)将"hostgroup"用于其配置,无论哪个 overcloud 节点正在运行该服务。来自这些服务的日志消息看起来像是来自同一"主机组"主机,这很难知道哪个节点生成消息。

当为 HA 部署时,cinder-volume 的 backend_host 被设置为 "hostgroup",而不是将 DEFAULT/host 设置为该值。这样可确保每个节点的 DEFAULT/host 值是唯一的。

因此,来自 cinder-api、cinder-scheduler 和 cinder-backup 的日志消息与生成消息的节点正确关联。

升级到新版本后,块存储服务(cinder)一直使用之前版本的旧 RPC 版本。因此,所有 Cinder API 请求都要求最新的 RPC 版本失败。

当升级到新版本时,所有 cinder RPC 版本都会更新以匹配最新版本。

python-cryptography

自 2.1 版本 2.1 起,python-cryptography 检查证书中使用的 CNS Names 是否符合 IDN 标准。如果找到的名称没有遵循此规范,加密将无法在使用 OpenStack 命令行界面或 OpenStack 服务日志中发现证书和不同错误。

安装 python-cryptography 构建后,来自 RDO 的初始导入会失败,因为它缺少了 Obsoletes。这个软件包的 RHEL 7 构建正确,并具有正确的条目。

在这个版本中,为 python-cryptography 添加了 Obsoletes。

python-ironic-tests-tempest

在 OSP 版本 13 升级后,在升级前安装 tempest 插件(-tests) rpm。初始升级打包没有包括弃用旧 rpm 所需的 epoch 命令。OSP 13 中未包括 sub-rpm,新插件 rpm 中的 Obsoletes 没有正确使用 rpm。

要解决这个问题,请更正过时的或手动卸载旧的 -rpm,并手动安装替换插件 python2-*-tests-tempest。

python-networking-ovn

为帮助维护 neutron 和 OVN 数据库之间的一致性,在后端内部进行配置更改并验证。每个配置更改都会被分配一个修订版本号,调度任务会验证对数据库进行的所有创建、更新和删除操作。

此发行版本引进了对 networking-ovn 中的内部 DNS 解析的支持。虽然存在两个已知的限制,但 bz#1581332 可防止通过内部 dns 解析内部 fqdn 请求。

请注意,在 GA 版本中 tripleo 默认不配置扩展。如需临时解决方案,请参阅 bz#1577592。

当创建子网时,没有添加 DHCP 选项,这样的子网上的实例将无法获取 DHCP。

相反,使用 Metadata/DHCP 端口来实现这一目的,以便实例能够获取 IP 地址。您必须启用元数据服务。现在,没有外部网关的子网上的实例可以通过 DHCP 通过 OVN 元数据/DHCP 端口获取其 IP 地址。

当前 L3 HA 调度程序没有考虑节点的优先级。因此,所有网关都由同一节点托管,且负载不会分布到候选节点。

在这个版本中,通过一种算法在调度网关路由器时选择最小载入的节点。网关端口现在被调度到至少载入网络节点,并在它们间平均分布负载。

当子端口重新分配给另一个虚拟机监控程序上的不同中继时,它不会更新其绑定信息,子端口也不会过渡到 ACTIVE。

在这个版本中,当子端口从中继中删除时清除绑定信息。现在,当子端口重新分配给位于不同虚拟机监控程序上的另一个中继端口时,子端口过渡到 ACTIVE。

python-os-brick

使用 iSCSI 发现时,节点启动配置从"automatic"重置为"默认",这会导致重新启动时不会启动该服务。这个问题已通过在每次发现后恢复所有启动值来修复。

python-zaqar-tests-tempest

因为 tempest 插件集合在 Queens 周期中从 openstack-*-tests rpm 子软件包中提取,所以升级会遇到依赖项问题。但是,并非所有打包组合都有正确的 Provides 和 Obsolet。OSP 13 没有 -tests (unittest sub-rpms)。

当试图通过之前版本安装 -tests 进行升级时,会导致因为依赖项问题而失败。

为纠正此问题,他们从中提取的 -tests rpm 的旧版本 Obsoletes 已重新添加。

4.2. RHSA-2018:2214 - Important: openstack-tripleo-heat-templates 安全更新

本节中所包括的错误已在 RHSA-2018:2214 公告中解决。有关此公告的详情请点击以下链接 :https://access.redhat.com/errata/RHSA-2018:2214.html。

openstack-tripleo-common

Ansible playbook 的日志现在包括提供部署、更新和升级期间操作时间的信息。

openstack-tripleo-heat-templates

在以前的版本中,overcloud 更新会因为 OpenDaylight 中的过时的缓存而失败。在这个版本中,OpenDaylight 会停止,在升级到新版本前会删除过时的缓存。级别 1 更新用于 OpenDaylight 部署。当前不支持 2 级更新。

在现有 overcloud 部署上启用 Octavia 作为成功报告,但 Octavia API 端点无法访问,因为 Controller 节点上的防火墙规则配置错误。

临时解决方案:

在所有控制器节点上,添加防火墙规则,并确保在 DROP 规则之前插入它们:

IPv4:
  # iptables -A INPUT -p tcp -m multiport --dports 9876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy ipv4" -j ACCEPT
  # iptables -A INPUT -p tcp -m multiport --dports 13876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy_ssl ipv4" -j ACCEPT
  # iptables -A INPUT -p tcp -m multiport --dports 9876,13876 -m state --state NEW -m comment --comment "120 octavia_api ipv4" -j ACCEPT

IPv6:
  # ip6tables -A INPUT -p tcp -m multiport --dports 9876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy ipv6" -j ACCEPT
  # ip6tables -A INPUT -p tcp -m multiport --dports 13876 -m state --state NEW -m comment --comment "100 octavia_api_haproxy_ssl ipv6" -j ACCEPT
  # ip6tables -A INPUT -p tcp -m multiport --dports 9876,13876 -m state --state NEW -m comment --comment "120 octavia_api ipv6" -j ACCEPT

重启 HAProxy:

  # docker restart haproxy-bundle-docker-0

OpenDaylight 日志记录可能缺少以前的日志。这是 OpenDaylight journald 日志记录的一个已知问题(使用 "docker logs opendaylght_api" 命令)。当前的一个临时解决方案是将 OpenDaylight 日志记录切换为 "file" 机制,该机制会将容器内的 /opt/opendaylight/data/logs/karaf.log 记录到 /opt/opendaylight/data/logs/karaf.log。为此,请配置以下 heat 参数:OpenDaylightLogMechanism: 'file'。

针对现有 overcloud 重新运行 overcloud deploy 命令无法触发任何 pacemaker 管理的资源的重启。例如,在向 haproxy 添加新服务时,haproxy 不会重启,从而导致新配置的服务不可用,直到手动重启 haproxy pacemaker 资源。

在这个版本中,会检测到任何 pacemaker 资源的配置更改,pacemaker 资源会自动重启。然后反映在 overcloud 中,pacemaker 受管资源的配置中的所有更改都会反映出。

在次要更新工作流中的服务部署任务被运行两次,从而导致了 playbook 列表中的多余条目。在这个版本中,删除了混杂的 playbook 条目,并直接将主机准备任务包含在更新的 playbook 中。次要版本更新中的操作按所需顺序运行一次。

在以前的版本中,用于在预置备服务器上部署 overcloud 的 heat 模板中没有 UpgradeInitCommonCommand 参数。'openstack overcloud upgrade prepare' 命令不会执行所有必要的操作,这会导致在某些环境中升级过程中出现问题。

在这个版本中,将 UpgradeInitCommonCommand 添加到用于预置备服务器的模板,允许 'openstack overcloud upgrade prepare' 命令执行必要的操作。

为增强安全性,默认的 OpenDaylightPassword "admin" 现在由一个随机生成的 16 位数字替代。您可以通过在 heat 模板中指定密码来覆盖随机生成的密码:

$ cat odl_password.yaml
parameter_defaults:
  OpenDaylightPassword: admin

然后,将文件传递给 overcloud 部署命令:

openstack overcloud deploy <other env files> -e odl_password.yaml

puppet-opendaylight

在以前的版本中,Karaf shell ( OpenDaylight 的管理 shell)不绑定到端口 8101 上的特定 IP,从而导致 Karaf shell 侦听面向公共的外部网络。这会造成安全漏洞,因为外部网络可用于访问端口上的 OpenDaylight。

在这个版本中,在部署期间将 Karaf shell 绑定到内部 API 网络 IP,这使得 Karaf shell 只能在专用内部 API 网络上访问。

4.3. RHBA-2018:2215 - openstack-neutron 程序错误修复更新

本节中所包括的错误已在 RHBA-2018:2215 公告中解决。有关此公告的详情请点击以下链接 :https://access.redhat.com/errata/RHBA-2018:2215.html。

OpenDaylight

当实例没有浮动 IP 地址访问另一个路由器上的浮动 IP 时,多个子网的 nova 实例之间的第 3 层连接可能会失败。当 nova 实例分散到多个计算节点时,会出现这种情况。这个问题还没有适当的临时解决方案。

在部署过程中,一个或多个 OpenDaylight 实例可能会因为功能加载错误而无法正确启动。这可能会导致部署或功能失败。

当部署通过时,三个 OpenDaylight 实例必须只有两个可以正常工作,才能成功进行部署。第三个 OpenDaylight 实例可能会错误地启动。使用 docker ps 命令检查每个容器的健康状况。如果不健康,请使用 docker restart opendaylight_api 重启容器。

当部署失败时,唯一的选项是重启部署。对于基于 TLS 的部署,所有 OpenDaylight 实例都必须正确引导或部署将失败。

在 NAT 设置过程中,创建FibEntry 中缺少的参数会生成 Null Pointer Exception (NPE)。这个错误可能会导致路由表中缺少 FIB 条目,从而导致 NAT 或路由失败。在这个版本中,在 RPC 调用中添加了正确的参数。OpenDaylight 日志中不再看到 NPE,且 NAT 和路由功能可以正常工作。

当在没有 VLAN 网络中任何端口的节点上选择了 NAPT 开关时,则不需要的所有流。对于网络没有浮动 IP 地址的所有虚拟机,外部连接会失败。在这个版本中,为作为路由器一部分的 VLAN 的 NAPT 切换中添加了一个伪端口,以创建 VLAN 空间。外部连接适用于没有浮动 IP 地址的虚拟机。

一个竞争条件会导致 Open vSwitch 没有连接到 Opendaylight openflowplugin。目前,针对此产品的 13.z 版本实施了一个修复程序。

当路由器网关被清除后,不会删除与学习 IP 地址相关的 3 层流。学到的 IP 地址包括 PNF 和外部网关 IP 地址。这会造成过时的流,但无法正常工作问题。外部网关和 IP 地址不会频繁更改。删除外部网络时,会删除过时的流。

openstack-neutron

为 neutron OVS 代理添加了一个名为 bridge_mac_table_size 的新配置选项。这个值设置为由 openvswitch-neutron-agent 管理的每个网桥上的 "other_config:mac-table-size" 选项。值控制可以在网桥上学习的最大 MAC 地址数。这个新选项的默认值为 50,000,大多数系统应该足够。OVS 将强制在合理范围之外的值(10 到 1000,000)

python-networking-odl

Neutron 可能会出现错误声明,用于 Neutron 路由器创建配额超过。存在一个已知问题:由于 networking-odl 错误,在 Neutron DB 中使用单一创建请求来创建多个路由器资源。造成此问题的解决方法是,使用 OpenStack Neutron CLI 删除重复的路由器,然后再次创建路由器,从而产生单个实例。

python-networking-ovn

当 OVSDB 服务器切换到其他控制器节点时,来自 neutron-server/metadata-agent 的重新连接不会发生,因为它们没有检测到这个条件。

因此,引导虚拟机可能无法作为 metadata-agent 置备新的元数据命名空间,集群不会如预期执行。

可能的解决方法是,在将新控制器提升为 OVN 数据库的 master 后,重启所有计算节点中的 ovn_metadata_agent 容器。另外,将 plugin.ini 上的 ovsdb_probe_interval 增加到 600000 毫秒。

如果没有为子网设置 'dns_nameservers' 字段,附加到子网的虚拟机具有空的 /etc/resolv.conf。在这个版本中,neutron-server 从其运行的主机的 /etc/resolv.conf 获取 DNS 解析器,并将其用作租户虚拟机的默认 dns_nameservers。

4.4. RHBA-2018:2573 - openstack platform 13 程序错误修复和功能增强公告

本节中所包括的错误已在 RHBA-2018:2573 公告中解决。有关此公告的详情请点击以下链接 :https://access.redhat.com/errata/RHBA-2018:2573

openstack-kuryr-kubernetes

控制器不支持 Nodeport 服务,用户不应该创建它们。尽管,Nodeport 服务在某些配置中存在,其存在,其存在会导致控制器崩溃。为了防止这种崩溃,控制器现在会忽略 Nodeport 服务。

openstack-manila

在这个版本中,增加了对使用 Manila IPv6 导出位置和带有 Dell-EMC Unity 和 VNX 后端的访问规则的支持。

openstack-manila-ui

manila-ui 插件的配置文件不会被复制。因此,manila 面板不会在仪表板上显示。现在,提供了将 manila-ui 复制到所需位置的所有配置文件的说明。用户启用仪表板时可见 manila 面板。

openvswitch

OVN 端口的创建时间会随着端口的创建而增长。现在,无论云中的端口数量如何,创建时间都会保持恒定状态。

python-eventlet

python-eventlet UDP 地址处理中存在一个问题,在某些情况下会导致一些 IPv6 地址被错误地处理。因此,当通过 UDP 接收 DNS 响应时,python-eventlet 会忽略这个响应,并在几秒内都严重影响性能。这个问题现已解决。

由于事件造成的错误,没有配置任何名称服务器的系统(或无法配置命名服务者)的系统,且仅在主机文件上依赖主机文件进行名称解析在引导实例时达到延迟。这是因为即使只指定了 IPv4 主机,也会尝试解析 IPv6 条目。在这个版本中,如果主机文件中至少有其中一个条目,eventlet 会立即返回,而不试图使用网络解析。

python-oslo-policy

在以前的版本中,每次在 neutron 中进行策略检查时,策略文件会被重新载入并重新评估。对于非管理员用户,对策略文件的重新评估会大大减慢 API 操作速度。在这个版本中,策略文件的状态会被保存,因此仅当规则有变化时,文件才会重新加载。非管理员用户的 Neutron API 操作很快得到解决。

python-proliantutils

由于在 HP Gen10 服务器上创建多个 Sushy 对象的问题,因此 HPE Gen10 服务器没有在使用 id /redfish/v1/Systems/1 访问系统时提供一致的响应。Sushy 对象创建时使用基于会话的身份验证(这是 Sushy 中的默认身份验证方法)。这可解决电源请求问题。

当 ironic-dbsync 实用程序试图加载 ironic 驱动程序以及导入 proliantutils.ilo 客户端模块的驱动时,proliantutils 库会尝试载入所有 pysnmp MIBs。如果 ironic-dbsync 进程驻留在一个不可读取的 CWD 中,则当试图在 CWD 中搜索 MIBs 时,pysnmp 会失败。这会导致在部署的 ironic-dbsync.log 中出现以下出错信息: 无法加载经典驱动程序 fake_drac: MIB file pysnmp_mibs/CPQIDA-MIB.pyc access error: [Errno 13] Permission denied: 'pysnmp_mibs': MibLoadError: MIB file pysnmp_mibs/CPQIDA-MIB.pyc access error: [Errno 13] Permission denied: 'pysnmp_mibs' An update to proliantutils 可确保 pysnmp 没有加载模块导入的所有 MIBs。这可避免发生在应用程序明确请求前尝试 MIB 搜索的情况。

rhosp-release

当删除旧的镜像软件包时,post 脚本有时有时会错误地更新镜像软件包的符号链接。脚本程序已更新,以调用可用于修复符号链接的脚本。

4.5. RHBA-2018:2574 - openstack director 程序错误修复公告

本节中所包括的错误已在 RHBA-2018:2574 公告中解决。有关此公告的详情请点击以下链接 :https://access.redhat.com/errata/RHBA-2018:2574

instack-undercloud

当 overcloud 处于 Failed 状态时,Red Hat OpenStack undercloud 升级会失败。当尝试迁移 overcloud 堆栈以便在升级过程的 post-configuration 步骤中使用聚合架构时,它会失败并带有 cryptic 错误。现在,它会失败,且不允许 undercloud 升级继续进行。用户在 undercloud 升级开始时收到错误。用户必须确保 overcloud 处于 *_COMPLETE 状态,然后才能进行 undercloud 升级。

在以前的版本中,当参数 local_mtu 设置为 1900 且在 undercloud.conf 中指定时,undercloud 安装会失败。如果 local_mtu 的值大于 1500,undercloud 安装会失败。将 global_physnet_mtu 设置为 local_mtu。当 local_mtu 的值大于 1500 时,undercloud 安装成功。

有时,在安装过程中启用了 SSL 的 undercloud 失败,并显示以下错误: ERROR: epmd 错误。发生故障的原因是,Keepalived 在 rabbitmq 之后由 keepalived 配置与主机名匹配的 VIP。确保在 rabbitmq 之前配置 keepalived。这可防止 undercloud 安装失败。

openstack-tripleo

为 DPDK 和 SR-IOV 环境重新测试和更新了从 RHOSP 10 升级到带有 NFV 的 RHOSP 13 的步骤。

openstack-tripleo-common

'openstack undercloud backup' 命令没有捕获扩展属性。这会导致 undercloud Swift 存储对象的元数据丢失,从而使它们无法使用。在这个版本中,在创建备份存档时添加了 '--xattrs' 标志。undercloud Swift 存储对象现在在备份过程中保留其扩展属性。

当 undercloud 从 instackenv.json 文件中导入裸机节点且配置了 UCS 驱动程序时,ironic 节点只在 pm_service_profile (或 ucs_service_profile)字段超过 ironic 配置中。这会导致只有一个这样的 ironic 节点在 ironic 配置中结束。对 openstack-tripleo-common 的更新可确保只有 pm_service_profile (或 ucs_service_profile)字段的 ironic 节点仍然被视为不同。所有仅在 pm_service_profileucs_service_profile 字段中不同的 ironic 节点都可以导入 ironic。

在部署 overcloud 之前,可以自动为集群创建 stonith 资源。在开始部署前,运行以下命令:openstack overcloud generate fencing --ipmi-lanplus --output /home/stack/fencing.yaml /home/stack/instackenv.json

然后,将 '-e /home/stack/fencing.yaml' 传递给 deploy 命令的参数列表。这会自动为集群创建所需的 stonith 资源。

Derived 参数工作流现在支持使用 SchedulerHints 来识别 overcloud 节点。在以前的版本中,工作流无法使用 SchedulerHints 来识别与对应的 TripleO overcloud 角色关联的 overcloud 节点。这会导致 overcloud 部署失败。SchedulerHints 支持会阻止这些失败。

OpenDaylight 的 docker 状况检查确保了在 OpenDaylight 中仅 REST 接口和 neutron NB 组件处于健康状态。状况检查不包括所有载入的 OpenDaylight 组件,因此并不准确。使用带有 docker healthcheck 的 diagstatus URI 检查所有载入的 OpenDaylight 组件。OpenDaylight Docker 容器健康状态现在更为准确。

openstack-tripleo-heat-templates

manila-share 服务容器无法从控制器主机 bind-mount PKI 信任存储。因此,使用 SSL 无法加密来自 manila-share 服务到存储后端的连接。将 PKI 信任存储从控制器主机绑定挂载到 manila-share 服务容器中。现在,可以使用 SSL 加密来自 manila-share 服务到存储后端的连接。

libvirtd live-migration 端口范围的更改可防止实时迁移失败。在以前的版本中,libvirtd live-migration 使用端口 49152 到 49215,如 qemu.conf 文件中指定。在 Linux 上,这个范围是临时端口范围 32768 到 61000 的子集。临时范围内的任何端口也可供任何其他服务使用。因此,实时迁移失败并显示错误:实时迁移失败:内部错误:无法找到范围 'migration'(49152-49215)未使用的端口。新的 libvirtd live-migration 范围 61152-61215 不在临时范围内。相关的故障不再发生。

在以前的版本中,当从 overcloud 节点中删除 ceph-osd 软件包时,不会删除对应的 Ceph 产品密钥。因此,subscription-manager 会错误地报告 ceph-osd 软件包仍然已安装。处理 ceph-osd 软件包移除的脚本现在也会移除对应的 Ceph 产品密钥。删除 ceph-osd 软件包和产品密钥的脚本仅在 overcloud 更新过程中执行。因此,subscription-manager 列表 不再报告安装了 Ceph OSD。

容器现在是默认的部署方法。仍有一种在 environments/baremetal-services.yaml 中部署 baremetal 服务的方法,但预计最终会消失。

引用环境/服务 docker 的资源 registry 的环境文件必须改为环境/服务路径。如果您需要保留任何已部署的裸机服务,请更新对环境/服务裸机的引用,而不是原始的放置环境/服务。

在以前的版本中,缺少为 Sahara 支持 Fast Forward Upgrade 路径的代码。因此,在从 10 升级到 13 后,不需要的所有更改都应用到 Sahara 服务。在这个版本中,这个问题已解决,在 Fast Forward Upgrade 后 Sahara 服务可以正常工作。

README 已添加到 /var/log/opendaylight 中,表示正确的 OpenDaylight 日志路径。

在 CephFS-NFS 驱动程序部署中,由 CephFS 支持的 NFS-Ganesha 服务器,执行由 libcephfs 客户端执行的 dentry、node 和 属性缓存。NFS-Ganesha 服务器的冗余缓存会导致内存占用量过大。它还会影响缓存一致性。关闭 NFS-Ganesha 服务器的索引节点、目录项和属性缓存。这可减少 NFS-Ganesha 服务器的内存占用量。缓存一致性问题会较小。

tripleo 的 capabilities-map.yaml 会在不正确的文件位置引用 Cinder 的 Netapp 后端。UI 使用 capabilities 映射,且无法访问 Cinder 的 Netapp 配置文件。capabilities-map.yaml 已被更新,用于指定 Cinder 的 Netapp 配置的正确位置。Cinder Netapp 后端功能的 UI 的属性选项卡可以正常工作。

Dell-EMC 存储系统(VNX、单元和 VMAX)的 Manila 配置清单带有不正确的配置选项。因此,使用 Dell Storage 系统的 overcloud 部署 manila-share 服务会失败。现在,Dell-EMC 存储系统的 Manila 配置清单(VNX、单元和 VMAX)已被修复。使用 Dell 存储系统的 manila-share 服务的 overcloud 部署成功完成。

如果在 undercloud 上手动启用 Telemetry,则 hardware.* 指标不起作用,因为每个节点上的防火墙错误配置也无法正常工作。作为临时解决方案,您需要为 undercloud 部署添加额外的模板,使用 control plane 网络手动设置 snmpd 子网,如下所示: parameter_defaults: SnmpdIpSubnet: 192.168.24.0/24

在非常罕见的发生时,从容器中出现以下错误日志失败: standard_init_linux.go:178: exec user 进程会导致 "text file busy"。为避免争用并避免部署失败,请不要同时尝试多次写入 docker-puppet.sh 文件。

当将参数 KernelDisableIPv6 设置为 true 来禁用 ipv6 时,部署会失败并显示 rabbitmq 错误,因为 Erlang Port Mapper Daemon 需要至少环回接口支持 IPv6 来正确初始化。要确保在禁用 ipv6 时部署成功,请不要在回环接口上禁用 IPv6。

Docker 使用 journald 后端根据大小滚动日志。这会导致删除一些旧的 OpenDaylight 日志。这个问题已通过移至文件而不是控制台(日志大小)和滚动(滚动)由 OpenDaylight 进行管理,从而解决了这个问题。因此,旧的日志会比以前较长的时间会被保留。

如果您将非标准端口用于 RabbitMQ 实例进行监控,则 sensu-client 容器会报告不健康的状态,因为不会反映容器健康检查中的端口值。端口值现在显示在容器健康检查中。

修正了清除已删除的数据库记录的默认年龄,以便从 Cinder 数据库清除已删除的记录。在以前的版本中,Cinder 的清除 cron 作业的 CinderCronDbPurgeAge 值使用错误,并且删除的记录在到达所需的默认年龄时不会从 Cinder 的 DB 中清除。

OSP 13 中的 TripleO Heat 模板中的 single-nic-vlans 网络模板包含 Ceph 节点的错误网桥名称。如果先前部署中使用了 single-nic-vlans 模板,在 Ceph 节点上,升级到 OSP 13 会失败。网桥名称 br-storage 现在用于 single-nic-vlans 模板的 Ceph 节点上,它与上一版本的网桥名称匹配。现在,在使用 single-nic-vlans 模板的环境上升级到 OSP 13 现已在 Ceph 节点上成功。

在以前的版本中,*NetName 参数(如 InternalApiNetName)更改了默认网络的名称。这不再被支持。要更改默认网络的名称,请使用自定义的可组合网络文件(network_data.yaml),并使用 '-n' 选项将其包含在您的 'openstack overcloud deploy' 命令中。在这个文件中,将 "name_lower" 字段设置为您要更改的网络的自定义 net 名称。有关更多信息,请参阅高级 Overcloud 自定义指南中的"使用 Composable Networks"。另外,您需要为 ServiceNetMap 表添加本地参数到 network_environment.yaml,并将旧网络名称的所有默认值覆盖到新的自定义名称。您可以在 /usr/share/openstack-tripleo-heat-templates/network/service_net_map.j2.yaml 中找到默认值。在以后的 OSP-13 版本中将不需要修改 ServiceNetMap。

yaml-nic-config-2-script.py required interactive user input.对于自动化目的,无法以非互动的方式调用该脚本。现在,添加了一个 --yes 选项。yaml-nic-config-2-script.py 现在可以使用 --yes 选项调用,用户也不会要求提供交互式输入。

在以前的版本中,在环境文件中 fixed-ips-v6.yaml 的 Redis VIP 端口的设置中包括 tripleo-heat-templates 的一些版本。如果在 network-isolation-v6.yaml 后,如果部署命令行中包含 fixed-ips-v6.yaml 文件,则 Redis 服务被放置在 Control Plane 网络中,而不是正确的 IPv6 网络。在这个版本中,文件 environments/fixed-ips-v6.yaml 包含对 network/ports/vip_v6.yaml 的正确引用,而不是 network/ports/vip.yaml。fixedips-v6.yaml 环境文件包含正确的资源 registry 条目,无论包含的环境文件的顺序如何,都将使用 IPv6 地址创建 Redis VIP。

当 Cinder 服务从主机上运行迁移到在容器中运行时,tripleo 的 BlockStorage 角色不会被更新。在 BlockStorage 主机上部署的 cinder-volume 服务。BlockStorage 角色已更新,以在容器中部署 cinder-volume 服务。cinder-volume 服务在容器中正确运行。

具有 Manila 配置更改的 overcloud 更新无法将这些更改部署到容器化 Manila 共享服务。在这个版本中,更改部署会成功。

使用 /var/lib/nova/instances 的共享存储(如 nfs),重启任何计算节点上的 nova_compute 会导致实例虚拟磁盘和 console.log 实例更改。因此,实例将无法访问其虚拟磁盘和停止工作。改进了修改 /var/lib/nova/instances 中的实例文件所有权的脚本。现在,在重启 nova 计算时,无法访问实例文件。

用于部署 Cinder 的 Netapp 后端的 TripleO 环境文件已过时,其中包含了不正确的数据。这会导致 overcloud 部署失败。Cinder Netapp 环境文件已更新,现在正确。现在,您可以使用 Cinder Netapp 后端部署 overcloud。

在以前的版本中,libvirtd live-migration 使用端口 49152 到 49215,如 qemu.conf 文件中指定。在 Linux 上,这个范围是临时端口范围 32768 到 61000 的子集。临时范围内的任何端口也可供任何其他服务使用。因此,实时迁移失败并显示错误:实时迁移失败:内部错误:无法找到范围 'migration'(49152-49215)未使用的端口。新的 libvirtd live-migration 范围为 61152 到 61215。不在临时范围内。

在以前的版本中,如果 nic 配置模板包含空行,后跟以逗号开头的行,则 yaml-nic-config-2-script.py 不会重置下行的开始列。脚本转换的 nic 配置模板无效,并导致部署失败。在这个版本中,当检测到空白行时,脚本可以正确地设置列的值。带有空白行的脚本(后面带有逗号的行)将正确转换。

puppet-nova

Nova 的 libvirt 驱动程序现在允许在配置 CPU 模型时指定粒度 CPU 功能标志。其中一个好处是,在应用程序"Meltdown" CVE 修复后,在具有特定基于 Intel 的虚拟 CPU 型号运行的客户机中,性能降级存在的一个好处。通过将 CPU 功能标记("Process-Context ID")公开给 客户机 CPU 来降低此客户机 性能影响,假设 PCID 标志可在物理硬件本身中可用。这个更改删除了只有 'PCID' 作为唯一 CPU 功能标记的限制,并允许添加和删除多个 CPU 标记,从而对其他用例进行修改。如需更多信息,请参阅 nova.conf 中的 [libvirt]/cpu_model_extra_flags 的文档。

puppet-opendaylight

OpenDaylight 定期轮询 OpenFlow (OF)统计数据。这些统计数据当前没有被使用。这会影响 OpenDaylight 性能。您可以禁用 OF 统计的轮询来提高 OpenDaylight 性能。

puppet-tripleo

实例 HA 部署因为竞争条件而失败,生成错误:error: unable to get cib。竞争结果是 Pacemaker 集群完全启动前在计算节点上设置的 pacemaker 属性结果,因此会失败并显示 'unable to get cib' 错误。在这个版本中,在使用 IHA 时,部署不会出现任何错误。

在以前的版本中,如果您在堆栈名称中使用大写字母,部署会失败。在这个版本中,确保了带有大写字母的堆栈名称会导致部署成功。特别是,容器中的 bootstrap_host 脚本现在可将字符串转换为小写,而 pacemaker 属性也是如此。

添加了容器化 logrotate 服务的压缩选项,以压缩轮转的日志。delaycompress 选项可确保第一次轮转日志文件保持未压缩。

在以前的版本中,为 Cinder 的 Netapp 后端配置空字符串值会导致 Cinder 驱动程序无效的配置,从而导致 Cinder 的 Netapp 后端驱动程序在初始化过程中失败。在这个版本中,弃用的 Netapp 参数的空字符串值转换为有效的 Netapp 驱动程序配置。因此,Cinder 的 Netapp 后端驱动程序可以成功初始化。

在以前的版本中,Cinder Netapp 后端忽略了 CinderNetappNfsMountOptions TripleO Heat 参数,该参数阻止通过 TripleO Heat 参数配置 Netapp NFS 挂载选项。负责处理 Cinder 的 Netapp 配置的代码不再忽略 CinderNetappNfsMountOptions 参数。CinderNetappNfsMountOptions 参数可以正确地配置 Cinder 的 Netapp NFS 挂载选项。

在版本升级过程中,Cinder 的数据库备份现在仅在 bootstrap 节点上执行。这可防止在所有 Controller 节点上执行数据库同步和升级失败。

4.6. RHBA-2018:3587 — Red Hat OpenStack Platform 13.0 director Bug Fix Advisory

本节中所包括的错误已在 RHBA-2018:3587 公告中解决。有关此公告的详情请点击以下链接 :https://access.redhat.com/errata/RHBA-2018:3587

instack-undercloud

有些硬件在收到 IPMI bootdev 命令时以意外方式更改引导设备排序。这可能会阻止节点引导正确的 NIC,或阻止 PXE 引导时启动。此发行版本为 "ipmi" 驱动程序引入了一个新的 "noop" 管理界面。在使用时,不会发出 bootdev 命令,而是使用当前的引导顺序。节点必须配置为尝试从正确的 NIC 进行 PXE 引导,然后回退到本地硬盘驱动器。这个更改可确保预先配置的引导顺序与新的管理界面保持一致。

在以前的版本中,undercloud hieradata 覆盖可用于使用类似 overcloud 的 <service>::config 选项来调优某些服务配置。但是,所有部署的 OpenStack 服务都不提供此功能。在这个版本中,任何目前不可用的配置值都可以通过 <service>::config hieradata 进行更新。

openstack-tripleo-common

从 Red Hat OpenStack Platform 12 升级到 13 时,将删除 ceph-osd 软件包。软件包移除会停止正在运行的 OSD,尽管它们在容器中运行,不应也不需要 软件包。此发行版本删除了在升级期间删除软件包的 playbook,而且 Ceph OSD 不会在升级过程中意外停止。

当 OpenStack 更新和/或升级时,director 将最新的 amphora 镜像上传到 glance。最新的 amphora 镜像确保 amphora 实例使用最新的通用程序错误和安全修复运行,而不仅适用于 Octavia 代理修复,也用于操作系统修复。

在这个版本中,使用最新的 amphora 镜像创建新并重新创建实例。之前的 amphora 镜像将保留在 glance 中,并重命名为将时间戳包含在后缀中。

openstack-tripleo-heat-templates

连接到 publicURL Keystone 端点的实例 HA 脚本之一。现在默认移到 internalURL 端点。另外,Operator 可以通过 nova.conf 中的 '[placement]/valid_interfaces' 配置入口点来覆盖它。

在以前的版本中,缺少在线数据迁移的触发器。在升级到 OSP 13 后,overcloud 中的 nova、cinder 和 ironic 的在线数据迁移不会自动运行,这强制手动临时解决方案。此发行版本为在线数据迁移添加触发器逻辑。在升级到 OSP 13 时,openstack overcloud 升级聚合 命令过程中触发在线数据迁移。

在之前的版本中,您可以通过 nova::compute::libvirt::rx_queue_size/nova::compute::libvirt::libvirt_size 设置 RX/TX 队列大小。但是,没有专用的 TripleO heat 模板参数。在这个版本中,可在角色基础中设置 RX/TX 队列大小,如下所示:

parameter_defaults: ComputeParameters: NovaLibvirtRxQueueSize: 1024 NovaLibvirtTxQueueSize: 1024

结果是使用新参数设置的 rx_queue_size/tx_queue_size。

要将 MTU 设置为 OSPD 的一部分,这个版本会将 neutron::plugins::ml2::physical_network_mtus 添加为 heat 模板中的 NeutronML2PhysicalNetworkMtus,以在 ml2 插件中启用 MTU。Neutron::plugins::ml2::physical_network_mtus 根据 TripleO heat 模板中的值来设置。

在以前的版本中,检查 Docker 守护进程是否需要重启的条件太严格。因此,每当 Docker 配置发生变化或更新 Docker RPM 时,Docker 守护进程和所有容器都会重启。在这个版本中,条件会被放宽,以防止不必要的容器重启。将"实时恢复"功能用于配置更改,以确保 Docker 守护进程和所有容器在 Docker RPM 更新时重新启动,但不会在 Docker 配置更改时重启。

在重新部署期间,可以无须重启多个容器,即使没有任何配置更改。这是因为在配置文件的 md5 计算中包含太多不需要的文件。在这个版本中,重新部署不会触发错误的容器重启。

TripleO CinderNetappBackendName 参数无法正确覆盖 cinder 的 Netapp 后端的默认值。因此,与 cinder 的 Netapp 后端关联的名称不能被覆盖。在这个版本中,CinderNetappBackendName 参数可以正确地覆盖默认的后端名称。

puppet-cinder

一些配置设置已从 cinder 中删除,但对应的参数不会从负责设置 cinder 的配置设置的 TripleO Puppet 模块中删除。因此,无效的 cinder 配置设置被添加到 cinder.conf 中。在这个版本中,Puppet 模块已被更新,以防止将过时的设置添加到 cinder.conf 中。

注意

更新的 Puppet 模块不会删除之前添加到 cinder.conf 的任何过时的设置。必须手动删除过时的设置。

puppet-tripleo

在系统关闭过程中发生 rhel-plugin-push.service 和 Docker 服务之间的故障交互,这会导致控制器长时间重启。在这个版本中,为这两个服务强制进行正确的关闭排序。现在重启控制器需要较少的时间。

在部署期间,OVS 交换机可能配置了不正确的 OpenFlow 控制器端口(6640,而不是 6653,用于三个控制器的两个)。这会导致部署失败,或者稍后部署的功能失败,其中将不正确的流编程成交换机。此发行版本会正确地为每个 OVS 交换机将所有 OpenFlow 控制器端口设置为 6653。所有 OVS 交换机都具有正确的 OpenFlow 控制器配置,它由三个 URI 组成,每个 OpenDaylight 使用端口 6653。

当从集群中移除单个 OpenDaylight 实例时,这会将实例移到隔离状态,这意味着不再对传入请求执行。HA 代理仍然对隔离的 OpenDaylight 实例进行负载均衡,这可能会导致 OpenStack 网络命令失败或无法正常工作。HA Proxy 现在将隔离的 OpenDaylight 实例检测到为不健康状态。HA Proxy 不会将请求转发到隔离的 OpenDaylight。

python-os-brick

在某些情况下,负责扫描 FibreChannel HBA 主机的 os-brick 代码可能会返回无效的值。无效的值将导致 cinder 和 nova 等服务失败。在这个版本中,FibreChannel HBA 扫描代码总是返回一个有效值。在扫描 FibreChannel HBA 主机时,Cinder 和 nova 不再崩溃。

在多路径连接中,设备在断开连接时单独清除所有路径。在某些情况下,单个设备中的故障会错误地防止断开连接。在这个版本中,单个路径不再刷新,因为多路径已经确保在远程设备上写入缓冲的数据。现在,只有在实际丢失数据时,断开连接才会失败。

在有些情况下,multipathd 显示状态 不会因为应该返回错误代码,因此我们现在会检查 stdout 作为这个问题的一个临时解决方案,以便正确检测到 multipathd 处于错误状态。

在之前的发行版本中,当一个 iSCSI 路径在迁移启动期间的一个缩小时,卷迁移会失败(带有 VolumePathNotRemoved 错误)。此发行版本解决了这个问题,方法是扩展超时时间以验证卷删除。

iSCSI 设备检测根据重新扫描时间检查是否存在设备。在扫描间可用的设备未探测到。在这个版本中,搜索和重新扫描是独立的操作,它会以不同的节奏进行操作,每秒钟的检查会发生。

python-tripleoclient

在之前的版本中,如果您通过 deploy 命令行的 '-p' 选项(如 mysql、horizon、pcsd 等)在重新部署期间将重置为部署命令行的 '-p' 选项(如 mysql、horizon、pcsd 等)的定制计划。这会导致重新部署失败。在这个版本中,自定义计划不会触发设置新密码。

4.7. RHBA-2019:0068 - Red Hat OpenStack Platform 13 程序错误修复和功能增强公告

本节中所包括的错误已在 RHBA-2019:0068 公告中解决。有关此公告的详情请点击以下链接 :https://access.redhat.com/errata/RHBA-2019:0068

openstack-tripleo-common

在以前的版本中,当您从 undercloud 更新节点时,capabilities 字段值并不总是转换为字符串值类型。在这个版本中,在节点更新过程中,'capabilities 字段总是转换为字符串值类型。

openstack-tripleo-heat-templates

此功能增强添加了 NeutronOVSTunnelCsum 参数,它可让您在 heat 模板中配置 neutron::agents::ml2::ovs::tunnel_csum。此参数设置或删除 OVS 代理中传输 IP 数据包的 GRE/VXLAN 隧道上的隧道标头校验和。

在替换 Controller 过程中不会重新创建 OpenDaylight (ODL)配置文件,这会导致更新失败。在这个版本中,从主机卸载 /opt/opendaylight/data,这会导致在重新部署过程中重新创建配置文件。

在以前的版本中,OpenStack Platform Director 没有为块存储(Cinder)配置身份验证来访问使用 Nova 特权 API 的卷。这会导致对那些卷(如迁移使用卷)的操作失败。

此程序错误修复添加了使用 Nova 身份验证数据配置 Cinder 的功能,这允许您使用这些凭证对使用特权 API 的卷执行操作。

在升级到使用 Ironic 的容器化部署过程中,TFTP 服务器没有正确关闭,这会导致升级失败。在这个版本中,可以修正 TFTP 服务器的关闭过程,因此服务器现在可以侦听端口,升级可以成功完成。

在以前的版本中,来自 ODL 的 Open vSwitch 的不活跃探测器对于大型部署不足,这会导致 ODL L2 代理在不活跃时间过后显示为离线。

此程序错误修复提高了默认的不活跃探测计时器持续时间,并添加了使用 OpenDaylightInactivityProbe heat 参数在 Director 中配置计时器的功能。默认值为 180 秒。

RabbitMQ 容器的 Pacemaker 日志文件的位置没有设置为正确的位置,这会导致在 /var/log/secure 中创建不必要的日志文件。在这个版本中,在 RabbitMQ 容器开始时添加了 /var/log/btmp 路径挂载,这可让 Pacemaker 在正确的位置创建日志。

此功能增加了配置 Cinder Dell EMC StorageCenter 驱动程序的功能,以将多路径用于 volume-to-image 和 image-to-volume 传输。该功能包括一个新的参数 CinderDellScMultipathXfer,默认值为 True。启用多路径转让可以减少卷和镜像之间的数据传输总时间。

此功能添加一个新参数 NovaLibvirtVolumeUseMultipath (boolean),这会在 Compute 节点的 nova.conf 文件中设置多路径配置参数 libvirt/volume_use_multipath。可以为每个 Compute 角色设置此参数。默认值为 False

此功能添加了参数 NovaSchedulerWorkers,它允许您为各个调度程序节点配置多个 nova-schedule worker。默认值为 1

在以前的版本中,与 LVM 卷组关联的回环设备不会在重启 Controller 节点后始终重启。这可以防止 iSCSI Cinder 后端使用的 LVM 卷组在重启后保留,并阻止创建新卷。

在这个版本中,在重新引导 Controller 节点后,回环设备会被恢复,且 LVM 卷组可以被节点访问。

在这个版本中,在 Erlang 虚拟机中添加了 RabbitAdditionalErlArgs 参数,它允许您为虚拟机定义自定义参数。默认参数为 +sbwt none,如果没有额外的操作,则指示 Erlang 线程处于睡眠状态。如需更多信息,请参阅 Erlang 文档 :http://erlang.org/doc/man/erl.html#+sbwt

openstack-tripleo-heat-templates-compat

在以前的版本中,从 OpenStack 12 模板部署时,OpenStack 13 Director 没有设置正确的 Ceph 版本。这会导致 overcloud 部署失败。

此程序错误修复将 Ceph 版本设置为 Jewel,并允许从 OpenStack 12 模板正确部署。

puppet-opendaylight

此功能添加了对在 IPv6 地址上部署 OpenDaylight (ODL)的支持。

4.8. RHBA-2019:0448 - Red Hat OpenStack Platform 13 程序错误修复和功能增强公告

本节中所包括的错误已在 RHBA-2019:0448 公告中解决。有关此公告的详情请点击以下链接 :https://access.redhat.com/errata/RHBA-2019:0448

openstack-tripleo-common

这个程序错误是由 dmidecode 3.1 或更高版本返回的 dmidecode 3.1 或更高版本(小写)的更新版本造成的。因此,在此版本前,部署有每个节点 ceph-ansible 自定义的系统可能会破坏 UUID 大小写不匹配并导致部署失败。在这个版本中,更新了 openstack-tripleo-common 软件包,以接受大写或小写的 UUID。在 dmidecode 输出强制小写使代码不区分大小写。

openstack-tripleo-heat-templates

在以前的版本中,Octavia Health Manager 不会因为防火墙丢弃数据包而从 amphorae 接收心跳信息。因此,Octavia 可组合角色部署上的负载均衡器的 operating_status 不会改为 ONLINE

在这个版本中,Octavia 可组合角色部署的负载均衡器可以成功更改为 ONLINE 操作状态。

在这个版本中,您可以使用以下参数为后端成员和 frontend 客户端设置默认的 Octavia 超时:

  • OctaviaTimeoutClientData: Frontend client inactive timeout
  • OctaviaTimeoutMemberConnect: Backend member 连接超时
  • OctaviaTimeoutMemberData :后端成员不活跃超时
  • OctaviaTimeoutTcpInspect: Time to wait TCP packets for content inspection

所有这些参数的值都以毫秒为单位。

在以前的版本中,主机上不可见容器化 OpenStack 服务的 iSCSI 连接。因此,主机必须在关闭过程中关闭所有 iSCSI 连接。当主机终止这些 iSCSI 连接并且主机无法终止 hOpenStack 连接时,关闭序列挂起,因为主机上没有看到连接信息。

在这个版本中,在主机上可以看到创建 iSCSI 连接的容器化服务连接信息,关闭序列不再挂起。

在这个版本中,OpenDaylight 次要更新包含在 Red Hat OpenStack Platform 次要更新工作流中。

在这个版本中,使用 OpenDaylight 作为后端的 Red Hat OpenStack Platform 环境中的 Compute 节点可以成功扩展。

在以前的版本中,重新部署后 ODL 配置文件缺失。

在这个版本中,/opt/opendaylight/data 不再挂载到主机上。因此,ODL 配置文件会在重新部署过程中生成。

在以前的版本中,rabbitmq pacemaker 捆绑包会在正常操作过程中被过度记录。

在这个版本中,rabbitmq 捆绑包不再过于日志。特别是,rabbitmq 捆绑包不会记录一个有害的错误 失败以连接到系统总线: No such file or directory

openstack-tripleo-image-elements

在这个版本中,您可以在 UEFI 模式中引导整个安全强化的镜像。

puppet-opendaylight

在以前的版本中,OpenDaylight 打包使用默认的 OpenDaylight log_pattern 值,并包含 PaxOsgi 附加程序。这些默认值并非始终适合每个部署,因此最好配置自定义值。

在这个版本中,puppet-opendaylight 有两个额外的配置变量:

1) log_pattern: 使用此变量配置您希望用于 OpenDaylight 日志记录器 log4j2 的日志模式。

2) enable_paxosgi_appender :使用此布尔标记启用或禁用 PaxOsgi 附加程序。

Puppet-opendaylight 还修改 OpenDaylight 默认值。使用 puppet-opendaylight 的部署具有新的默认值:

  • log_pattern: %d{ISO8601} | %-5p | %-16t | %-60c{6} | %m%n
  • enable_paxosgi_appender: false

新变量配置选项

log_pattern

控制用于日志模式的字符串。

默认: %d{ISO8601} | %-5p | %-16t | %-60c{6} | %m%n

有效选项: 是有效的 log4j2 模式的字符串。

enable_paxosgi_logger

控制 PaxOsgi 附加器是否为日志记录启用的布尔值。

如果启用 enable_paxosgi_logger 变量,还必须修改日志模式来利用额外的功能。修改 log_pattern 变量,并包含包含 PaxOsgi 令牌的模式。例如,将 log_pattern 变量设置为包含以下值的字符串:

'%X{bundle.id} - %X{bundle.name} - %X{bundle.version}'

如果没有编辑 log_pattern 变量,PadOsgi 附加程序仍然被启用,并继续运行,但日志记录不会利用额外的功能。

例如,将 enable_paxosgi_logger 变量设置为 true,并将 log_pattern 变量设置为以下值:

'%d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n'

默认:false

有效选项:布尔值值 truefalse

puppet-tripleo

在以前的版本中,当使用 BlockStorage 角色部署 Overcloud 时,部署可能会失败,并在属于 BlockStorage 角色的节点上设置 pacemaker 属性。

在这个版本中,pacemaker 管理的 cinder-volume 资源仅在 pacemaker 管理的节点上启动。因此,使用 BlockStorage 角色的 Overcloud 部署可以成功。

4.9. RHBA-2021:2385 - Red Hat OpenStack Platform 13 程序错误修复和功能增强公告

本节中所包括的错误已在 RHBA-2021:2385 公告中解决。有关此公告的详情请点击以下链接 :https://access.redhat.com/errata/RHBA-2021:2385

openstack-cinder component

在此次更新之前,当块存储服务(cinder) API 响应丢失时,NetApp SolidFire 后端创建了未使用的重复卷。

在这个版本中,对 SolidFire 驱动程序的补丁首先检查卷名称是否已存在,然后再尝试创建它。补丁还会在检测到读取超时后立即检查卷创建,并防止 API 调用无效。(BZ#1914590)

在此次更新之前,当使用块存储服务(cinder)从 HP3Par 存储后端服务器的快照中创建大量实例(可引导卷)时,会发生超时。HP 变量(convert_to_base)设置为 true,这会导致 HP3Par 创建原始卷的厚卷。这是一个不必要的操作,不需要的操作。

在这个版本中,较新的 HP 驱动程序(4.0.11)已向后移植到 RHOSP 13 中,其中包含新的 spec:

hpe3par:convert_to_base=True | False
  • true (默认)- 卷独立于快照创建(HOS8 行为)。
  • false - 卷是作为快照子创建的(HOS5 行为)。

使用

您可以使用 cinder type-key 命令为 HPE3Par 卷设置这个新的 spec:

cinder type-key <volume-type-name-or-ID> set hpe3par:convert_to_base=False | True

Example

$ cinder type-key myVolType set hpe3par:convert_to_base=False
$ cinder create --name v1 --volume-type myVolType 10
$ cinder snapshot-create --name s1 v1
$ cinder snapshot-list
$ cinder create --snapshot-id <snap_id> --volume-type myVolType --name v2 10

备注

如果 v2 的大小大于 v1 的大小,则无法增大该卷。在这种情况下,为了避免任何错误,v2 将转换为基本卷(convert_to_base=True)。(BZ#1940153)

在此次更新之前,块存储服务(cinder)的 NetApp SolidFire 后端的 API 调用可能会失败,并显示 xNotPrimary 错误。当当 SolidFire 自动移动连接以重新平衡集群工作负载时,会出现此类错误。

在这个版本中,SolidFire driver patch 把 xNotPrimary 例外添加到可以重试的例外列表中。(BZ#1888417)

在此次更新之前,用户在某些环境中遇到超时,大在卷过大时。这些多字节卷通常遇到涉及 SolidFire 集群的网络性能或升级问题。

在这个版本中,在 SolidFire 驱动程序中添加了两个超时设置,允许用户为其环境设置适当的超时。(BZ#1888469)

openstack-tripleo-heat-templates

此功能增强允许您覆盖部署 overcloud 时角色的编排服务(heat)参数 ServiceNetMap

在使用 TLS-everywhere 处使用 TLS-everywhere 的 spine-leaf (edge)部署时,当用于在角色上映射网络时,hiera interpolation 存在问题。覆盖每个角色的 ServiceNetMap 解决了在某些 TLS-everywhere 部署过程中看到的问题,提供更简单的接口,并替换了更复杂的 hiera interpolation 的需求。(BZ#1875508)

块存储备份服务有时会需要访问主机上运行该服务的容器中无法使用的文件。此功能增强添加了 CinderBackupOptVolumes 参数,您可以使用它来为块存储备份服务指定额外的容器卷挂载。(BZ#1924727)

puppet-tripleo

在此次更新之前,Service Telemetry Framework (STF)客户端无法连接到 STF 服务器,因为最新版本的 Red Hat AMQ Interconnect 不允许没有 CA 证书的 TLS 连接。

在这个版本中,通过提供新的编排服务(heat)参数, MetricsQdrSSLProfiles 来解决这个问题。

要获取 Red Hat OpenShift TLS 证书,请输入以下命令:

$ oc get secrets
$ oc get secret/default-interconnect-selfsigned -o jsonpath='{.data.ca\.crt}' | base64 -d

MetricsQdrSSLProfile 参数与 Red Hat OpenShift TLS 证书的内容添加到自定义环境文件:

MetricsQdrSSLProfiles:
    -   name: sslProfile
        caCertFileContent: |
           -----BEGIN CERTIFICATE-----
           ...
           TOpbgNlPcz0sIoNK3Be0jUcYHVMPKGMR2kk=
           -----END CERTIFICATE-----

然后,使用 openstack overcloud deploy 命令重新部署 overcloud。(BZ#1934440)

python-os-brick

在此次更新之前,当计算服务(nova)对块存储服务(cinder)发出 终止连接 调用时,单一和多路径设备不会被清除,因此数据丢失风险,因为这些设备处于 保留 状态。

造成此问题的原因是,os-brick disconnect_volume 代码假定 use_multipath 参数的值与原始 connect_volume 调用中使用的连接器的值相同。

在这个版本中,块存储服务会改变其执行断开连接的方式。现在,当附加到实例的卷的 Compute 服务中的多路径配置改变时,os-brick 代码可以正确地清除和分离卷。(BZ#1943181)