第 3 章 发行信息


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

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

3.1. Red Hat OpenStack Platform 14 GA

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

3.1.1. 功能增强

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

BZ#1241017

此更新在“openstack port list”命令的输出中添加了主机名和网络名称。新增的信息可以方便 Neutron 端口和 IP 地址与特定主机的关联。

BZ#1402584

借助这一更新,libvirt 计算驱动程序现在允许用户创建具有受信任 SR-IOV 虚拟功能的实例。在获得信任后,VF 可执行特定的操作,如修改客户机中 VF 的 MAC 地址。

接口绑定需要所有从控机使用相同的 MAC 地址,因而需要在故障转移期间修改其中一个 VF 的 MAC 地址。由于 MAC 地址变更属于特权操作,因此参与的 VF 必须获得信任后才能在客户机中成功配置绑定。

管理员现在可以为 VF 配置受信任模式。首先,ova.conf 中“[pci] passthrough_whitelist”JSON 配置选项的“trusted”值必须设为“true”。例如:

    [pci]
    passthrough_whitelist = {"devname": "eth0", "trusted": "true",
                             "physical_network":"sriovnet1"}

其次,在创建端口时,必须为绑定配置集设置“trusted=true”。例如:

    $ neutron port-create <net-id> \
        --name sriov_port \
        --vnic-type direct \
        --binding:profile type=dict trusted=true

由于受信任模式仅应用到 SR-IOV VF,“vnic-type”必须是“hw_veb”或“direct”中的一个。

BZ#1410195

Heat 模板现在包含“CephClusterName”参数。您可以通过此参数配置 Ceph 集群名称,在使用外部 Ceph 集群或 Ceph RBDMirror 时您可能需要这么做。

BZ#1462048

借助这一更新,用户可以创建应用凭据,使其应用能够进行 keystone 身份验证。

请参见 https://docs.openstack.org/keystone/latest/user/application_credentials.html

BZ#1469073

功能:
添加了 nova-scheduler 的 CPUWeigher 权重。

原因:
CPUWeigher 允许操作员配置 vCPU 的堆叠或分散策略。

结果:
操作员可以启用 CPUWeigher 并配置堆叠(首先使用一个节点上的所有 vCPU)或分散(尝试使用所有主机上数量大致相等的 vCPU)策略。

BZ#1512941

此更新支持两个新的可调节选项,它们可用于减少数据包丢失。

虚拟机监控程序内核线程可以先占虚拟机 CPU (vCPU),即使启用了强分区 (isolcpus, tuned)。先占并不频繁,每秒几次而已,但每个 virtio 队列有 256 个描述符。仅一次 vCPU 先占就能导致数据包丢失,因为先占过程中会填充 256 个套接字。各队列数据包速率超过 1 Mpps(每秒 100 万个数据包)的网络功能虚拟化 (NFV) 虚拟机会存在这种情形。

此更新支持两个新的可调节选项,即“rx_queue_size”和“tx_queue_size”。这两个选项分别可用于配置 virtio NIC 的 RX 队列大小和 TX 队列大小,以减少数据包丢失。

BZ#1521176

实例资源具有三个新的属性:launched_at、deleted_at 和 created_at;可用于跟踪 Nova 创建/启动/删除实例的确切时间。

BZ#1523328

OpenStack director 现在将 Ansible 用于 overcloud 节点的软件配置。Ansible 可在 overcloud 部署过程中提供更加熟悉并可调试的操作员体验。Ansible 可用于替换软件配置部署数据在 overcloud 节点上 heat 和 heat 代理 (os-collect-config) 之间的通信和传输。

Ansible 控制节点通过运行 ansible-playbook(借助 Ansible 清单文件和一系列 playbook 和任务)来应用配置,而不是在每个 overcloud 节点上运行 os-collect-config 并从 heat 轮询部署数据。默认情况下,Ansible 控制节点(运行 ansible-playbook 的节点)是 undercloud。

BZ#1547708

OpenStack Sahara 现在支持 Cloudera Distribution Hadoop (CDH) 插件 5.13。

BZ#1547710

此更新为 OpenStack Sahara 添加了 s3 兼容对象存储支持。

BZ#1547954

在此发行版本中,Nova 的 libvirt 驱动程序现在允许在配置 CPU 型号时指定细致的 CPU 功能标志。

这一变化有一项好处,能够缓解运行特定 Intel 型虚拟 CPU 型号的客户机在应用“Meltdown”CVE 补丁程序后遇到的性能降级问题。此客户机性能影响可通过将 CPU 功能标志“PCID”(Process-Context ID)公开给 *guest* CPU 来缓解(假定物理硬件本身提供有 PCID 标志)。

如需更多详细信息,请参考“nova.conf”的“[libvirt]/cpu_model_extra_flags”文档中的用法详情。

BZ#1562171

此更新引入了使用 "neutron” 网络接口的多租户裸机网络。

通过配置使用 "neutron” 网络接口的多租户裸机网络,操作员可以让用户将隔离的 VLAN 网络用于裸机节点上的调配和租户流量。

BZ#1639759

添加了新的 tripleO heat 模板,以支持 QDR。
启用 metrics_qdr 服务会在所有 overcloud 节点上部署 QDR 服务,该服务将用于路由各个 overcloud 节点上运行的 collectd 服务的指标数据。

下方显示了相关的 heat 模板参数。

MetricsQdrPort:
   default: '5666'
   description: Service name or port number on which the qdrouterd will accept
                connections. This argument must be string, even if the numeric
                form is used.
   type: string
 MetricsQdrUsername:
   default: 'guest'
   description: Username which should be used to authenticate to the deployed
                qdrouterd.
   type: string
 MetricsQdrPassword:
   default: 'guest'
   description: Password which should be used to authenticate to the deployed
                qdrouterd.
   type: string
   hidden: true
 MetricsQdrConnectors:
   default: []
   description: Connectors configuration (array of hashes).
   type: json
 MetricsQdrAddresses:
   default:
     - prefix: 'collectd/notify'
       distribution: multicast
     - prefix: 'collectd/telemetry'
       distribution: multicast
   description: Addresses configuration (array of hashes).
   type: json
 MetricsQdrUseSSL:
   default: false
   description: Set to true if it is required to use SSL or TLS on
                the connection for listener.
   type: boolean
 MetricsQdrUseEncryption:
   default: false
   description: Set to true if it is required to encrypt connection to the peer
                for listener.
   type: boolean
 MetricsQdrSaslMechanisms:
   default: 'ANONYMOUS'
   description: List of accepted SASL auth mechanisms for listener in format
                of comma separated list.
   type: string
 MetricsQdrSslCertDb:
   default: ''
   description: Path to SSL certificate db for listener.
   type: string
 MetricsQdrSslCertFile:
   default: ''
   description: Path to SSL certificate file for listener.
   type: string
 MetricsQdrSslKeyFile:
   default: ''
   description: Path to SSL private key file for listener.
   type: string
 MetricsQdrSslPwFile:
   default: ''
   description: Path to SSL password file for certificate key for listener.
   type: string
 MetricsQdrSslPassword:
   default: ''
   description: SSL password to be supplied for listener.
   type: string
 MetricsQdrTrustedCerts:
   default: ''
   description: Path to file containing trusted certificates for listener.
   type: string

BZ#1654123

Red Hat OpenStack Platform 14 现在支持 IBM POWER9 CPU。这一支持通过 “rhosp-director-images-ppc64lep9” 和 “rhosp-director-images-ipa-ppc64lep9” 软件包提供。

3.1.2. 技术预览

本节中列出的项目作为技术预览提供。如需关于技术预览状态范围的更多信息,以及相关的支持定义,请参阅 https://access.redhat.com/support/offerings/techpreview/

BZ#1550668

此功能可以根据 VXLAN IP 标头中封装的租户 DSCP 标记转发租户流量。此功能在 OSP14 中是一个技术预览。

BZ#1614282

提供技术预览的软件包:

该技术预览的说明:

现在,您可以在计算节点上进行配置,以便计算节点重新引导时自动重启计算节点上的实例,而不首先迁移实例。可以配置 Nova 和 libvirt-guest,以安全地关闭实例,并在计算节点重新引导时启动它们。

新参数:
NovaResumeGuestsStateOnHostBoot (True/False)
NovaResumeGuestsShutdownTimeout(默认 300s)

3.1.3. 发行注记

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

BZ#1601613

“--http-boot”的默认值从“/httpboot”更改为“/var/lib/ironic/httpboot”,后者是容器化 Ironic 服务需要的值。

BZ#1614810

借助这一更新,容器化服务日志轮转将默认为使用 logrotate 的 copytruncate。旧日志的默认保留期限保持不变(14 天)。

BZ#1640095

OpenStack Rally 作为技术预览包括在以前的版本中,它已从这个版本中删除。

BZ#1649679

当您使用 web-download 功能时,暂存区域(在配置中使用“node_staging_uri”选项进行定义)不能正确清理。请确保 glance-api.conf 文件的“glance_store”部分中的“stores”配置选项包含“file”。

BZ#1654405

当您使用镜像转换功能时,请确保 glance-api.conf 文件的“glance_store”部分中的“stores”配置选项包含“file”。

BZ#1654408

对于 glance 镜像转换,默认情况下不启用 glance-direct 方法。若要启用此功能,请将 glance-api.conf 的 DEFAULT 部分中的“enabled_import_methods”设置为“[glance-direct,web-download]”或“[glance-direct]”。

BZ#1654413

Red Hat OpenStack Platform 14 的新安装中默认不启用 Glance 镜像转换功能。若要使用此功能,请编辑 glance-image-import.conf 文件。
在 image_import_opts 部分中,插入下面这一行:
image_import_plugins = ['image_conversion']

BZ#1662042

OpenDaylight 不支持将 IPv6 用于租户或提供商网络。因此,您仅可使用 IPv4 网络。如果同时使用 IPv6 网络和 IPv4 网络,您可能会遇到与浮动 IP 相关的问题。

3.1.4. 已知问题

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

BZ#1516911

OvsDpdkMemoryChannels 参数无法通过 DPDK 派生参数工作流派生,其值默认设为 4。您可以在环境参数文件中更改这个值,以匹配您的硬件。

BZ#1579052

当 Octavia 配置为使用 small Nova 类别时,可以成功创建 Amphorae(Nova 实例),但负载均衡器可能会卡在 PENDING 状态约 25 分钟。正常情况下,负载均衡器应当要进入 ERROR 状态,而且 Amphorae 应当要删除。

作为适用于 small Nova 类别的临时解决方案,请将 [haproxy_amphora] 部分中的 Octavia 配置 "connection_max_retries"、"connection_retry_interval"、"build_active_retries” 和 "build_retry_interval” 调节为更加合理的生产用值。这会在 Nova 类别为 small 时,使负载均衡器更快地从 PENDING 状态转换到 ERROR 状态。

BZ#1630480

用于生成 Openstack rc 文件的工作流触发器在 python-tripleoclient 中硬编码。
因此,OpenStack 相关工作流会在 director 部署 OpenShift 之后触发。用户可以在 stdout 以及创建的 OpenStack rc 文件中查看 OpenStack 相关 URL。

BZ#1639495

目前存在一个与 fernet 令牌轮转相关的已知问题,其密钥不能自动部署到 overcloud。工作流任务“tripleo.fernet_keys.v1.rotate_fernet_keys ”可以生成密钥,但密钥不能成功推送到 overcloud。这个问题有望在未来发行版本中解决。如果您计划在这一更新前执行轮转,您可以选择采用如下一种临时解决方案:
* 在 overcloud 节点上启动 os-collect-config,然后再运行轮转。如果不需要用于其他用途,您可以稍后选择停止它。
* 在所有 overcloud 节点上启用 os-collect-config。在包含相关补丁程序的更新发布后,您可以选择禁用它。
注:如果不需要在更新推出之前轮转密钥,您无需进行任何操作。

BZ#1640021

使用 Gnocchi 文件后端部署 overcloud 可能会因为 /var/lib/gnocchi/ 目录访问权限问题而失败。

临时解决方案:在部署 overcloud 前,按照如下所述在 openstack/tripleo-heat-templates/docker/services/gnocchi-api.yaml 文件中设置该目录的权限:

            - path:
                list_join:
                  - "/"
                  - - {get_param: GnocchiFileBasePath}
                    - "tmp"
              owner: gnocchi:gnocchi
              perm: '0600'
              recurse: true

BZ#1640382

在 director 部署的 OpenShift 环境中,GlusterFS playbooks 会在每次运行时自动生成新的 heketi 机秘密钥。
由于这个原因,对 CNS 部署进行的扩展或配置更改等操作会失败。

作为临时解决方案,可完成下列步骤:
1. 在部署后,检索 heketi 机密密钥。在主控机节点上运行以下命令:
sudo oc get secret heketi-storage-admin-secret --namespace glusterfs -o json | jq -r .data.key | base64 -d
2. 在环境文件中,将下列参数设置为这个值:
  openshift_storage_glusterfs_heketi_admin_key
  openshift_storage_glusterfs_registry_heketi_admin_key

应用此临时解决方案后,对 CNS 部署进行的扩展或配置更改等操作可以成功完成,只要手动提取了相应的参数。

BZ#1640804

当您重启所有三个控制器节点时,可能无法启动 overcloud 中的租户实例。overcloud 日志中将记录 "DuplicateMessageError” 消息。
作为临时解决方案,可在其中一个 overcloud 控制器上运行以下命令:
pcs resource restart rabbitmq-bundle

BZ#1643657

为了将请求代理到 Infra 节点上的路由器,director 会在主控机节点上运行的 HAProxy 实例中设置端口 443。OpenShift 主控机节点上无法将端口 443 用于绑定 OpenShift API。director 部署的 OpenShift 环境中的端口 443 上无法配置 OpenShift API。

BZ#1644889

director 提供的 overcloud-full 镜像会导致与 OpenShift 软件仓库提供的 python-setuptools 产生 RPM 冲突。OpenShift 节点上任何部署后的 yum 更新都会因为依赖关系问题而失败。

要解决这个问题,可以在 undercloud 上运行以下命令:
source ~/stackrc
tripleo-ansible-inventory --stack openshift --static-yaml-inventory
/home/stack/openshift_inventory.yaml
export ANSIBLE_HOST_KEY_CHECKING=False
ansible -i openshift_inventory.yaml -m shell -b -a 'rpm -e --nodeps python-setuptools-0.9.8-7.el7.noarch; yum -y install python-setuptools' overcloud

此更新将 overcloud-full 镜像提供的 python-setuptools 替换为 OpenShift 软件仓库提供的版本。随后进行的 yum 更新都能成功。

BZ#1646707

在某些 OVS 版本中,“updelay”和“downdelay”绑定设置会被忽略,始终使用默认设置。

BZ#1647005

在清理 BM 节点期间,Nova-compute ironic 驱动程序会尝试更新该节点。清理操作大约需要五分钟,但 nova-compute 会尝试在大约两分钟内更新节点。超时之后,nova-compute 会停止,并将 nova 实例置于 ERROR 状态。

作为临时解决方案,可为 nova-compute 服务设置下列配置选项:
[ironic]
api_max_retries = 180

设置之后,nova-compute 会在更长的时间里继续尝试更新 BM 节点,并且最终会成功。

BZ#1652444

在 containers-prepare-parameter.yaml 文件中,“neutron_driver”参数的值为“null”。这可能会导致对 OpenDaylight 部署中的 overcloud 进行小幅更新。

临时解决方案:在更新 overcloud 前,将“neutron_driver”参数设为“odl”。

BZ#1653348

在 director 部署的 OpenShift 环境中,使用额外的 OpenShift 主控机节点进行扩展会失败,并显示类似于如下的消息:“The field 'vars' has an invalid value, which includes an undefined variable. The error was: 'openshift_master_etcd_urls' is undefined…”

BZ#1653466

在通过 director 部署的并且启用了 CNS 的 OpenShift 环境中,使用额外的 Infra 节点进行扩展会失败,并显示类似于如下的消息:“fatal: [openshift-master-2]: FAILED! => {"changed": false, "msg": "Error mounting /tmp/openshift-glusterfs-registry-c8qImT: Mount failed.”

BZ#1659183

Director 和 openshift-ansible 在镜像标签方面有不同的期望。例如,在本地导入远程容器镜像时,director 会根据镜像元数据中的“version”和“release”标签将通用标签转换为能够唯一标识镜像的标签。但是,Openshift-ansible 对于所有 OpenShift 镜像标签都依赖于唯一的“openshift_image_tag”变量,因此无法单独指定镜像的标签。当远程容器镜像注册表中浮动 v3.11 标签指向的镜像与元数据中“release”或“version”标签不一致时,通过 director 进行的 OCP 部署会失败。

从 undercloud 导入非常规的镜像,然后再部署 OpenShift,并将标签设为在所有 openshift 镜像中均一致的值:

  skopeo --tls-verify=false copy docker://registry.access.redhat.com/openshift3/prometheus:v3.11.51-1 docker://192.168.24.1:8787/openshift3/prometheus:v3.11.51-2

从 director 部署 OpenShift 可以完成,并且不会缺失镜像。

BZ#1660066

Director 不支持在 director 部署的 OpenShift 环境中触发 Red Hat Enterprise Linux OS 和 OpenShift Container Platform 的更新。Director 部署的 OpenShift 环境无法进行小幅更新。

BZ#1660475

在 config-download 生成了用于 Overcloud 的 playbook 后,如果您使用 --check 参数执行 ansible-playbook,则操作会不成功。这时应该会出现有关 ftype 未定义 stdout 的错误。此问题会在下一版本中解决。

BZ#1664165

原因:
由于一个已知的 Ansible 问题 (https://github.com/ansible/ansible/issues/24449),在添加计算主机后更改 /etc/ssh/ssh_known_hosts 不会传播到环境中现有 nova_compute 和 nova_libvirt 容器。

后果:
由于原始主机没有所需的 SSH 公钥,使用新引入的计算主机的实时迁移、冷迁移和实例大小调整操作会失败。

临时解决方案(若有):
重新启动所有 nova_compute 和 nova_libvirt 容器,这将确保正确写入对 /etc/ssh/ssh_known_hosts 的更新。

以下 KCS 文章中可以找到详细的步骤:

[OSP14] 在成功扩展后,使用新增的计算节主机进行的实时/冷迁移和大小调整会失败,并显示消息“Host key verification failed'
https://access.redhat.com/solutions/3792021

结果:

BZ#1664698

最近的一项更改使得采用 NUMA 拓扑的实例的内存分配对页面大小敏感。进行这一更改后,不再能够超额订阅采用 NUMA 拓扑的实例的内存。

目前,所有采用 NUMA 拓扑的实例都禁用内存超额订阅,过去则只有使用大页面的内存会被禁止使用超额订阅。这影响到使用显式 NUMA 拓扑和隐式拓扑的实例。实例可能会因为使用大页面或 CPU 固定而具有隐式 NUMA 拓扑。

如有可能,请避免使用显式 NUMA 拓扑。如果需要 CPU 固定而导致具有隐式 NUMA 拓扑,当前没有相应的临时解决方案。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部