发行注记
Red Hat OpenStack Platform 10 的发行信息
摘要
第 1 章 简介
- 完全分布的对象存储
- 持久性的块级别存储
- 虚拟机设置引擎和镜像存储
- 验证和授权机制
- 集成的网络
- 普通用户和管理员使用的、基于 web 的图形用户界面。
1.1. 关于本发行版本
注意
1.2. 要求
- Chrome
- Firefox
- Firefox ESR
- Internet Explorer 11 和更高版本(需要禁用 Compatibility Mode)
注意
1.3. 部署限制
1.4. 数据库容量管理
1.5. 认证的驱动和插件
1.6. 认证的虚拟机操作系统
1.7. 支持的虚拟机监控程序
libvirt 驱动(在 Compute 节点上使用 KVM 作为虚拟机监控程序)和 VMware vCenter 虚拟机监控程序驱动。如需了解配置 VMware vCenter 驱动的信息,请参阅 VMware Integration Guide。当前支持的 VMware 配置是 Red Hat OpenStack Platform 和 vCenter,网络由 Neutron/NSX 或 Neutron/Nuage 的组合提供。如需了解更多与 Neutron/Nuage 相关的信息,请参阅 https://access.redhat.com/articles/2172831。
1.8. Content Delivery Network (CDN) 频道
警告
#subscription-manager repos --enable=[reponame]
#subscription-manager repos --disable=[reponame]
表 1.1. 所需频道
| 频道 | 软件仓库名 |
|---|---|
| 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 10 for RHEL 7 (RPMs) |
rhel-7-server-openstack-10-rpms
|
| Red Hat Enterprise Linux 7 Server - Extras (RPMs) |
rhel-7-server-extras-rpms
|
表 1.2. 可选频道
| 频道 | 软件仓库名 |
|---|---|
| Red Hat Enterprise Linux 7 Server - Optional |
rhel-7-server-optional-rpms
|
| Red Hat OpenStack Platform 10 Operational Tools for RHEL 7 (RPMs) |
rhel-7-server-openstack-10-optools-rpms
|
为了使 Red Hat OpenStack Platform 10 可以正常工作,请禁用下表中的频道。
表 1.3. 禁用频道
| 频道 | 软件仓库名 |
|---|---|
| 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"
|
警告
1.9. 产品支持
- 客户门户网站
- 红帽客户门户网站提供了丰富的资源帮助您规划、实施和维护 OpenStack 系统。这些资源包括:
- 知识库文档和问题解答。
- 技术概要。
- 产品文档。
- 客户问题管理。
通过 https://access.redhat.com/ 访问客户门户网站。 - 邮件列表
- 红帽为用户提供了以下与 OpenStack 相关的公共邮件列表
rhsa-announce邮件列表提供了红帽产品(包括 Red Hat OpenStack Platform)的安全补丁程序发行通知。请通过 https://www.redhat.com/mailman/listinfo/rhsa-announce 订阅这个邮件列表。
第 2 章 主要新功能
2.1. Red Hat OpenStack Platform Director
- 定制角色和可组合服务
- 单独的大型模板已被分为多个较小的模板,每个模板分别代表一个可组合的服务。它们可以在一个独立的节点上部署,也可以使用定制角色的方式和其它服务组合在一起。请注意,可组合节点的架构有以下的限制和需要考虑的地方:
- 您可以把任何由
systemd管理的服务分配给一个支持的独立定制角色。 - 您不能拆分 Pacemaker 管理的服务。这是因为,Pacemaker 在 overcloud 集群内管理相同的一组服务。拆分由 Pacemaker 管理的服务会可能会导致集群部署失败。这些服务应该保留在 Controller 节点中。
- 您不能在把 Red Hat OpenStack Platform 9 升级到 10 时改变定制角色和可组合服务。升级脚本只能处理默认的 overcloud 角色。
- 您可以在初始部署后创建额外的定制规则,然后通过部署它们来扩展当前的服务。
- 您不能在部署一个 overcloud 后修改任何角色的服务列表。这将可能导致部署错误,并在节点上出现“孤儿”服务。
如需了解更多与定制角色和可组合服务相关的信息,请参阅 Advanced Overcloud Customization 指南中的 Composable Services and Custom Roles。 - 图形用户界面
- 现在,Director 可以通过一个图形界面被管理。这个图形界面包括了集成的模板、一个内建的工作流程、以及 flight 前和 flight 后的验证检查。您使用 GUI 创建角色分配并执行节点的注册和内省。
- 硬件部署阶段和常规节点部署被分离
- director 现在的工作流程包括了一个独立的硬件部署阶段。在这个专用的阶段,用户可以注册硬件、上传镜像并定义硬件档案。当把一个特定镜像部署到一个特定硬件节点后,这个就已完成。因为有了这个专用的阶段,用户可以在一个硬件节点上部署 Red Hat Enterprise Linux,并把它交付给一个用户。
2.2. Compute
- 客户机设备角色标签(tag)和元数据注入
- 在这个版本中,OpenStack Compute 会创建并注入一个额外的元数据文件,它允许客户机基于标签(tag)来识别实例。如设备类型、设备地址、MAC 地址或驱动序列字符串、网络或磁盘的设备名。客户机可以对这些数据进行解析。当使用了设备角色标签时,数据可以通过元数据服务器和配置驱动获得。例如,以下是一个元数据文件的示例:
{ "devices": [ { "type": "nic", "bus": "pci", "address": "0000:00:02.0", "mac": "01:22:22:42:22:21", "tags": ["nfvfunc1"] }, { "type": "disk", "bus": "scsi", "address": "1:0:2:0", "serial": "disk-vol-2352423", "tags": ["dbvolume"] } }
2.3. Dashboard
- 改进的用户体验
- Swift 面板现在会在 AngularJS 中呈现。这为保存的项、客户端分页、搜索、以及对保存的项进行排序在 Swift 中提供了一个分层结构的视图。另外,这个版本还增加了对多主题和动态设置主题的支持。
- 增强了与核心 OpenStack 服务的结合
- 这个版本现在支持对域范围令牌的支持(Keystone V3 中的身份管理需要这个功能)。另外,这个版本还增加了对启动附加到一个 SR-IOV 端口的 Nova 实例的支持。
2.4. Identity
- 对 Fernet 令牌的支持
- Red Hat OpenStack Platform 10 增加了对 Fernet 令牌的支持。轻量级的 Fernet 令牌意味着只需要最少的标识信息。不持久的状态意味着不需要后端的数据库。使用通过 SHA256HMAC 进行签发的 AES-CBC 可以实现对称加密。因此,UUID 令牌的性能也被大大提高。
- 对域 LDAP 的支持
- 这个版本为 director 增加了与多域 LDAP 进行集成的支持。您可以使用多个后端来进行用户验证。
- 扩展的角色能力
- Red Hat OpenStack Platform 10 对角色能力进行了以下两个扩展:
针对域的角色(Domain-specific roles)和隐含的角色(Implied Roles)。针对域的角色 - 允许角色定义只限定在一个特定的域中。这些角色可以分配给这个域以内的一个域或项目。隐含的角色 - 使用推断规则可以指定在分配一个角色时,还隐含着分配其它角色。这些对角色能力的扩展大大简化了管理员管理角色的复杂程度。
2.5. Object Storage
- 在 Fast-POST 中更新容器
- 这个功能可以在不需要完全重新复制一个项的内容的情况下,快速有效地更新元数据。
2.6. OpenStack 网络
- 对分布式虚拟路由(DVR)的完全支持
- DVR 在 Red Hat OpenStack Platform 10 中被完全支持。用户可以选择中央化的路由(默认选择),或 DVR。如果使用 DVR,每个 Compute 节点会分别管理路由功能。在选择使用中央化路由或 DVR 时,我们推荐用户参阅相关的文档,并根据自己的实际需要和网络的整件架构来仔细计划。
- DSCP 标记
- Open vSwitch 现在可以为外向的网络数据流量添加 DSCP 标记(如 RFC 2474 所定义)。
- 改进了 NFV Datapath 与 Director 的集成
- 除了 VF 透传(passthrough),Red Hat OpenStack Platform 10 还增加了对 SR-IOV PF 透传的支持(使用
vnic_type=direct-physical)。现在,可以使用 director 自动化 SR-IOV 的部署。另外,OVS-DPDK 2.5 现在已被完全支持并集成到 director。警告
请不要在没有把 Open vSwitch(OVS)2.4.0 升级到 OVS 2.5.0 的情况下把 Red Hat Enterprise Linux 升级到 7.3 内核,这会导致 OVS 停止工作。
2.7. 共享文件系统
- Director 集成
- 现在,Shared File System 服务(manila)是一个可以通过 director 部署的可组合控制器服务,并被完全支持。在这个版本中,NetApp 驱动也被完全集成到 director,Shared File System 服务可以即时启用 NetApp 后端配置。CephFS 原生驱动(技术预览)也被完全集成到 director。
2.8. 高可用性
- 更新的服务管理
- 多数核心的 OpenStack 服务(包括 memcached 和其它服务)现在都由 systemd 进行管理。一小部分关键服务(需要隔离功能)仍然由 Pacemaker 管理:HAProxy/virtual IPs、RabbitMQ、Galera (MariaDB)、Manila-share、Cinder Volume、Cinder Backup、Redis。
- 操作和监测工具
- Red Hat OpenStack Platform 10 包括了为高可用性的操作和监测工具提供信息的功能。
2.9. Bare Metal Provisioning 服务
- 为租户提供标准裸机的支持
- 在这个版本中,增加了为 overcloud 的租户提供 Bare Metal Provisioning 服务的支持。通过这个功能,一个共享硬件资源池会根据云租户的要求进行置备。
- Bare Metal Provisioning 认证项目
- 这个发行版本包括了 Bare Metal Provisioning 驱动认证项目。通过这个项目,可以为向租户提供的基础架构环境和裸机进行硬件生命周期管理的保证。
2.10. OpenStack 集成测试套件服务
- 整体 Tempest 清理
- 这个版本包括了一整体
tempest清理的功能,包括远程客户端的 debug 功能、文档审查、客户和 manager 别名、重构的测试基础类设置和拆卸步骤。 - 重构的 Tempest CLI
- 这个版本增加了一个针对于域的
tempest run命令,它可以作为运行tempest测试的主进入点。 - Negative Test Guideline 的更新
- 在这个版本中增加了部件一级的负测试,已存在的负测试仍然被保留。
- 迁移的 Python 程序仓库
- 在这个版本中,
tempest-libPython 程序仓库被迁移到tempest程序仓库的tempest/lib目录中。 - Client Manager 的重构
- 在以前的版本中,client managers 在
_init_阶段对所有可能的客户端进行实例化,这使客户端有使用类属性的机会。在这个版本中,客户端只在需要时才被实例化,manager 会在内部缓存客户端的实例,并从缓存中提供相关服务。 - 测试资源管理
- 在这个版本中,所以测试资源都由一个专用 YAML 文件进行管理,它允许
tempest使用部署系统用来配置 OpenStack 服务所使用的相同配置。这同时也保证了,测试可以通过逻辑名或属性来选择被使用的资源(例如,使用符合 'smallest' flavor 的任何资源),或针对所有特定资源组合运行。 - Microversion 测试
- 这个版本为 Microversion 测试构架增加了一些 Compute Microversion 测试。
2.11. OpenStack Data Processing 服务
- 支持最新版本的多数流行大数据平台和组件
- 这个版本增加了对 Hortonworks Data Platform 2.3, 2.4 Stack 和新的 MapR 5.1 插件(add-mapr-510)的支持。
- 改进的用户体验和易用性
- 这个版本为插件声明的镜像创建增加了 CLI,它允许插件指定基于
yaml的方法来对镜像进行打包。它还包括了新的 CLI 工具程序,用户可以基于规格方便地创建镜像。这个版本同时增加了与 Dashboard 的集成功能(使用openstack-sahara-ui软件包)。
2.12. 技术预览
注意
2.12.1. 新的技术预览
- At-Rest 加密
- 现在,项可以以加密的形式存储(在带有 256 位密钥的 CTR 模式中使用 AES)。这个功能为保护项以及维护 Object Storage 集群中项的安全性提供了一种选择。
- Erasure Coding (EC)
- Object Storage 服务现在为带有大量数据但不会被经常访问的设备提供了一个 EC 存储策略类型。EC 存储策略使用自己的 ring 和可配置的参数集来管理数据的可用性,同时减少相关的成本和存储需求(只需要 triple-replication 容量的一半)。因为 EC 需要更多的 CPU 和网络资源,所以把 EC 作为一个策略实现可以把与集群的 EC 容量相关联的所有存储设备进行隔离。
- 支持 Neutron VLAN 的虚拟机
- 特定类型的虚拟机需要可以使带有 VLAN tag 的网络数据通过一个接口,它现在被代表为一个 `trunk` neutron 端口。要创建一个可以被虚拟机使用的 trunk,用户需要创建一个单一父端口,以及一个或多个子端口。所有端口以及相关的网络都对接口可用,它会在使用 802.1q 的接口上为网络数据添加 tag。
- Open vSwitch 防火墙驱动
- OVS 防火墙驱动现在作为一个技术预览被提供。这个基于 conntrack 的防火墙驱动可以被用来实现安全组。通过 conntrack,Compute 实例可以直接连接到集成网桥,从而简化系统结构并提高性能。
2.12.2. 以前包括的技术预览
- 基准数据服务
- Rally 是一个基准数据(benchmark)工具程序,它会自动化多节点部署、云验证以及创建基准数据和建档。它可以作为 OpenStack CI/CD 系统的一个基本工具来持续提高它的 SLA、性能和稳定性。这个工具包括以下核心组件:
- Server Providers - 为不同的虚拟化技术(LXS、Virsh 等)以及云服务商提供了一个统一的接口。它使用 ssh 进行访问,并运行于 L3 网络中
- Deploy Engines - 在进行创建基准数据前,使用服务器供应商提供的服务器部署 OpenStack
- Verification - 对部署的云进行一组测试来检查它是否工作正常,并收集可以方便用户阅读的结果
- Benchmark Engine - 编写带有参数控制的基准数据情况并针对云运行它们。
- Cells
- OpenStack Compute 包括了一个由 nova-cells 软件包提供的 Cells 的概念,它被用来分隔计算资源。如需了解更多与 Cells 相关的信息,请参阅 Schedule Hosts and Cells。另外,Red Hat OpenStack Platform 还提供了完全被支持的、用来分隔 Red Hat OpenStack Platform 资源的方法,如 Regions、Availability Zones 和 Host Aggregates。如需了解更多相关信息,请参阅 Manage Host Aggregates。
- Manila 的 CephFS 原生驱动
- 使用 CephFS 原生驱动,共享文件系统服务可以通过 Ceph 网络协议向虚拟机导出共享的 CephFS 文件系统。实例需要安装 Ceph 客户端来挂载文件系统。CephFS 文件系统以技术预览的形式包括在 Red Hat Ceph Storage 2.0 中。
- 容器化的 Compute 节点
- Red Hat OpenStack Platform director 具有把 OpenStack 容器化项目(kolla)集成到 Overcloud Compute 节点的功能。这包括,创建使用 Red Hat Enterprise Linux Atomic Host 作为基本操作系统的 Compute 节点,不同的容器可以运行不同的 OpenStack 服务。
- DNS-as-a-Service (DNSaaS)
- Red Hat OpenStack Platform 8 包括了 DNS-as-a-Service(DNSaaS,也被称为 Designate)作为一个技术预览。DNSaaS 包括了一个域和记录管理的 REST API,它是多租户的,并与 OpenStack Identity Service(keystone)集成来进行用户验证。DNSaaS 提供了一个和 Compute(nova)以及 OpenStack Networking(neutron)的事件通知进行集成的机制,从而可以自动产生 DNS 记录。此外,DNSaaS 还包括了 PowerDNS 和 Bind9 集成的支持功能。
- Firewall-as-a-Service (FWaaS)
- Firewall-as-a-Service 插件为 OpenStack Networking (neutron) 添加了边界防火墙(perimeter firewall)管理功能。FWaaS 使用 iptables 在一个项目的所有虚拟路由上应用防火墙规则,并支持在一个项目中使用一个防火墙策略和逻辑防火墙实例。FWaaS 在网络边界进行操作,它会对 OpenStack Networking (neutron) 的路由进行过滤。这一点和安全组有所不同,安全组在实例一级进行操作。
- Google 云存储备份驱动(Block Storage)
- Block Storage 服务现在可以使用 Google 云存储来保存卷备份。通过这个功能,用户可以考虑不再花费大量精力来管理一个额外的、只作为灾难恢复使用的云。
- OpenDaylight 集成
- Red Hat OpenStack Platform 10 现在包括了一个和 OpenDaylight SDN 控制器集成的技术预览功能。OpenDaylight 是一个灵活的、模块化的开放 SDN 平台,它支持许多不同的应用。Red Hat OpenStack Platform 10 提供的 OpenDaylight 只包括使用 OVSDB NetVirt 进行 OpenStack 部署所需的模块,它是基于上游社区的 Beryllium 版本的。以下软件包以技术预览的形式提供:opendaylight、networking-odl。
- Real Time KVM 集成
- 集成实时 KVM 和 Compute 服务可以进一步增强对 CPU 固定所提供的 vCPU 调度的保证,它会减少一些情况(如内核任务运行在主机的 CPU)对 CPU 延迟所造成的影响。这个功能对于 NFV(network functions virtualization - 网络功能虚拟化)非常重要,因为 CPU 延迟对于 NFV 非常重要。
- Red Hat SSO
- 这个版本包括了 keycloak-httpd-client-install 软件包的一个版本。这个软件包包括了一个命令行工具,使用这个工具可以帮助配置 Apache mod_auth_mellon SAML Service Provider 作为 Keycloak SAML IdP 的一个客户端。
- VPN-as-a-Service (VPNaaS)
- VPN-as-a-Service 提供了在 OpenStack 中创建并管理 VPN 连接的功能。
第 3 章 发行信息
3.1. 改进
- BZ#1198602
现在,`admin` 用户可以使用管理控制台查看分配给实例的浮动 IP 列表。这个列表的信息包括部署中的所有项目。 以前,这个信息只能通过命令行获得。
- BZ#1188175
在这个版本中,添加了对虚拟设备角色进行 tag 的支持。增加这个功能的原因是:一个实例的操作系统可能需要知道在它上面运行的虚拟设备的额外信息。例如,一个带有多个虚拟网络接口的实例,它的操作系统需要可以区分开不同的使用情况从而可以正确进行配置。 在这个版本中,对虚拟设备角色进行 tag 将可以在创建一个实例时对虚拟设备进行 tag。然后,这些 tag 以及其它的设备元数据就可以通过使用元数据 API 展示给实例。如需了解更多相关信息,请参阅 Red Hat OpenStack Platform 10 Networking Guide 的 `Use Tagging for Virtual Device Identification`(https://access.redhat.com/documentation/en/red-hat-openstack-platform/)
- BZ#1274196
在这个版本中,overcloud 控制器节点启用了 iptables 防火墙来提供更好的安全性。因此,相关的端口需要被打开从而使 overcloud 服务可以象以前一样继续工作。
- BZ#1262070
现在,可以使用 director 把 Ceph RBD 配置为 Block Storage 备份的目的地。通过这个功能,可以部署一个 overcloud,而它的卷可以在一个 Ceph 上进行备份。默认情况下,卷的备份保存在一个名为 'backups' 的 Ceph 池中。 备份的设置在以下环境文件中配置(在 undercloud 中): /usr/share/openstack-tripleo-heat-templates/environments/cinder-backup.yaml
- BZ#1289502
在这个版本中,用户需要进行双因素认证。这可以为 re-seller 的情况提供更好的安全性。
- BZ#1315651
在这个版本中,高可用性功能的架构更加简单,从而使服务重启时,进程对整个系统的影响变小。在进行扩展操作时,只有所需的服务需要重启。而在以前的版本中,扩展操作需要整个集群都重启。
- BZ#1317669
在这个版本中包括了一个发行版本文件,它包括了 OSP director 所部署的 overcloud 版本信息。这个安装版本信息对于故障排除会有帮助。overcloud-full 镜像包括了一个新的软件包 - rhosp-release。从较低版本进行升级时也会安装这个 RPM。从 OSP 10 开始,所有版本都会包括发行版本文件。这只适用于基于 Red Hat OpenStack Platform director 进行的安装,但是,用户也可以手工安装 rhosp-release 软件包来达到同样效果。
- BZ#1279554
为 OpenStack Compute(nova)临时磁盘(ephemeral disk)使用 RBD 后端驱动(Ceph Storage)会对 libvirt 应用两个额外的设置: hw_disk_discard : unmap disk_cachemodes : network=writeback 这个设置将可以在 Ceph 池中重新获得没有使用的块,这可以提高使用 RBD 驱动的 OpenStack Compute 临时磁盘的性能。 请同时参阅 http://docs.ceph.com/docs/master/rbd/rbd-openstack/
- BZ#1314080
当 `heat-engine` 无法连接到数据库时,仍然在处理中的栈因为无法获得最新数据库数据而被“卡住”。当这个问题发生时,管理员需要一个方法来对状态进行重置,从而可以使栈再次被更新。 在这个版本中,`heat-manage` 支持一个 `heat-manage reset_stack_status` 子命令,管理员可以使用这个命令来重置那些被卡住的栈。
- BZ#1249836
通过 'openstack baremetal' 工具程序,您现在可以在引导配置中指定特定的镜像。具体来说,可以使用 '--deploy-kernel' 和 '--deploy-ramdisk' 选项来分别指定内核镜像和 ramdisk 镜像。
- BZ#1303093
在这个版本中,可以通过在部署 overcloud 时使用一个额外的环境文件来在 overcloud 中禁用 Object Storage service(swift)。这个环境文件应该包括以下内容: resource_registry: OS::TripleO::Services::SwiftProxy: OS::Heat::None OS::TripleO::Services::SwiftStorage: OS::Heat::None OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None 作为结果,Object Storage 服务将不会在 overcloud 中运行,overcloud Identity 服务中不会包括 Object Storage 服务的端点。- BZ#1346401
现在,可以使用 SELinux 控制 'ceph-osd' 实例。在 OSP10 中,新的部署会在 Ceph Storage 节点上把 SELinux 配置为 'enforcing'。
- BZ#1325680
一般情况下,在 OpenStack 中安装并配置 OVS+DPDK 的操作会在 overcloud 部署后手工进行。如果有大量的 Compute 节点,这个操作将会变得非常繁琐。以前,需要手工识别 DPDK 的硬件能力,现在,这个任务会在内省过程中自动进行。另外,检测到的硬件也为操作人员提供了配置 Heat 模板所需的数据。当前,带有启用了 DPDK 硬件的 Compute 节点还无法和没有启用 DPDK 硬件的 Compute 节点共存。 `ironic` Python Agent 会发现以下硬件信息,并把它们保存在一个 swift blob 中: * CPU flags for hugepages support - 如果存在 pse 则支持 2MB 巨型页(hugepage);如果存在 pdpe1gb,则支持 1GB 巨型页 * CPU flags for IOMMU - 如果存在 VT-d/svm,则支持 IOMMU。对 IOMMU 支持的功能在 BIOS 中启用。 * Compatible nics - 比较 DPDK 的网卡白名单(在 http://dpdk.org/doc/nics 中列出) 不具有以上任何能力的节点不能作为带有 DPDK 的 Compute 角色。 * 操作员将会有一个置备来在 Compute 节点上启用 DPDK。 * 可用作为 Compute 并带有 DPDK NIC 的节点的 overcloud 镜像将会带有 OVS+DPDK 软件包,而不是 OVS 软件包。另外,它还会带有 `dpdk` 和 `driverctl` 软件包。 * 具有 DPDK 功能的 NIC 的设备名将从 T-H-T 获得。DPDK NIC 的 PCI 地址需要可以从设备名中识别。在进行 PCI probe 时,需要对 DPDK NIC 进行白名单操作。 * 巨型页(Hugepage)需要在带有 DPDK 的 Compute 节点中启用。 * 需要进行 CPU 分离设置,从而使为 DPDK PMD(Poll Mode Driver)预留的 CPU 内核不会被一般的内核负载均衡、中断处理和调度算法使用。 * 在每个带有启用了 DPDK 的 NIC 的 Compute 节点中,puppet 将会为白名单中的 NICs、CPU 掩码以及 DPDK PMD 内存频道配置 DPDK_OPTIONS。DPDK_OPTIONS 需要在 /etc/sysconfig/openvswitch 中配置。 `Os-net-config` 会执行以下操作: * 通过设置指定接口的 pci 地址来把指定接口与 dpdk 驱动(默认为 vfio-pci 驱动)相关联。使用 driverctl 把驱动永久性绑定。 * 了解 ovs_user_bridge 和 ovs_dpdk_port 类型,并根据实际情况配置 ifcfg 脚本。 * “TYPE” ovs_user_bridge 会被翻译为 OVS 类型 OVSUserBridge,OVS 会根据这个情况把 datapath 类型配置为 ‘netdev’。 * “TYPE” ovs_dpdk_port 会被翻译为 OVS 类型 OVSDPDKPort,OVS 会根据这个情况把端口添加到网桥(接口类型为 ‘dpdk’) * 了解 ovs_dpdk_bond,并根据实际情况配置 ifcfg 脚本。 在每个带有启用了 DPDK 的 NIC 的 Compute 节点上,puppet 将会执行以下操作: * 在 /etc/neutron/plugins/ml2/openvswitch_agent.ini 中启用 OVS+DPDK([OVS] datapath_type=netdev vhostuser_socket_dir=/var/run/openvswitch) * 在 /var/run/openvswitch 中把 vhostuser 端口配置为被 qemu 所拥有。 在每个控制器节点上,puppet 将会执行以下操作: * 在 nova.conf 中为 scheduler_default_filters 添加 NUMATopologyFilter。 自动化以上操作的过程已完成,并可以在 QA 测试阶段进行验证。
- BZ#1283336
以前,在 Red Hat Enterprise Linux OpenStack Platform 7 中,在每个角色上使用的网络都是固定的。因此,在任何网络上都不可能有带有定制网络拓扑的网络。 在这个版本中,Red Hat OpenStack Platform 8 或更高版本都可以把任何网络分配给任何角色。 作为结果,现在可以使用定制网络拓扑,但是每个角色的端口需要被定制。参阅 `openstack-tripleo-heat-templates` 中的 `environments/network-isolation.yaml` 文件来获得如何在一个定制环境文件或 `network-environment.yaml` 中为每个角色启用端口的信息。
- BZ#1328830
这个版本包括了对多主题配置的支持。用户可以使用前端来动态改变一个主题。例如,可以在亮主题和暗主题间进行切换;或打开高对比度主题等。 现在,用户可以在系统运行时选择主题。
- BZ#1351271
Red Hat OpenStack Platform director 在 OpenStack Identity(keystone)中创建 OpenStack Block Storage(cinder) v3 API 端点来支持较新的 Cinder API 版本。
- BZ#1287586
在这个改进中,域范围的令牌可以被用来登录到 Dashboard(horizon)。 这个功能可以在需要使用域范围令牌的复杂角色集时,在 keystone v3 中完全支持对身份的管理。django_openstack_auth 必须支持在会话中获得并管理这种类型的令牌。 从 Red Hat OpenStack Platform 9 开始,horizon 支持域范围令牌。
- BZ#1371649
这个版本更新了 `sahara-image-element` 的主脚本来允许为支持的插件创建镜像。例如,可以使用以下命令来创建使用 Red Hat Enterprise Linux 7 的 CDH 5.7 镜像: ---- >> ./diskimage-create/diskimage-create.sh -p cloudera -v 5.7 Usage: diskimage-create.sh [-p cloudera|mapr|ambari] [-v 5.5|5.7|2.3|2.4] [-r 5.1.0] ----- BZ#1369426
AODH 现在使用 MYSQL 作为它的默认后端。以前,AODH 使用 MongoDB 作为它的默认后端以使从 Ceilometer 转换到 AODH 的过程相对简单。
- BZ#1359192
在这个版本中会安装包括 Red Hat Cloud Storage 2.0 版本的 overcloud 镜像。
- BZ#1365874
OpenDaylight 现在支持租户可配置的安全组。因此,现在只允许与安全组规则匹配的网络数据。当前,只有 IPv4 的网络数据可以被匹配和过滤,IPv6 还不被支持。 在默认情况下,每个租户都有一个名为 'default' 的安全组。这个安全组有一个默认的规则,它允许与默认安全组相关联的实例间的相互通讯。所有外向的网络数据以及默认组内的网络数据被允许,而从默认安全组以外向内发送的网络数据会在默认情况下被拒绝。
- BZ#1258832
在这个版本中,可以部署使用 OpenDaylight ML2 驱动的 neutron。OpenDaylight 控制器本身会被部署并在第一个控制器节点上被激活。这个版本不支持 OpenDaylight 控制器平台本身的集群,但可以为 neutron API 服务提供高可用性功能。 这个版本为 OpenDaylight L2 部署(仍然使用 neutron L3 Agent)和 OpenDaylight L3 部署(非 neutron L3 Agent)提供了预定义的环境文件。这些文件可以从以下位置获得: `environments/neutron-opendaylight.yaml` `environments/neutron-opendaylight-l3.yaml`
- BZ#1367678
这个版本增加了一个新的参数 - `NeutronOVSFirewallDriver`,它被用来在 Red Hat OpenStack Platform director 中配置 Open vSwitch(OVS)防火墙驱动。 增加这个参数的原因是,neutron OVS 代理现在支持一个实现安全组功能的新机制 - 'openvswitch' 防火墙。`NeutronOVSFirewallDriver` 允许用户直接控制使用的防火墙机制: `hybrid` - 配置 neutron 来使用老的 iptables/混合防火墙机制。 'openvswitch' - 启用新的、基于数据流的防火墙机制。 新的防火墙驱动具有更好的性能,并减少了用来把虚拟机连接到项目网络所需的接口和网桥。因此,用户可以方便地测试新的安全组机制。
- BZ#1309460
现在,可用使用 director 部署 Ceph RadosGW 作为对象存储的网关。这需要在 overcloud 部署中包括 /usr/share/openstack-tripleo-heat-templates/environmens/ceph-radosgw.yaml。当使用这个 heat 模板时,默认的 Object Storage 服务(swift)不会被部署。
- BZ#1353796
在这个版本中,可以使用 UI 手工添加节点。
- BZ#1337660
OpenStack Data Processing 服务现在支持 2.4 版本的 HDP (Ambari) 插件。
- BZ#1381628
如 https://bugs.launchpad.net/tripleo/+bug/1630247 所述,上游社区的 Newton TripleO 项目中的 Sahara 服务在默认情况下被禁用。作为把 Red Hat OpenStack Platform 9 升级到 Red Hat OpenStack Platform 10 的一部分,Sahara 服务被默认启用。如果操作员不希望在升级后使用 Sahara,则需要在控制器升级和合并的步骤中使用的部署命令中包括 `-e 'major-upgrade-remove-sahara.yaml'` 环境文件。请注意:这个环境文件必须在最后指定(针对于合并的步骤),但它可以在两个步骤中都进行以避免混淆。在这种情况下,Sahara 服务不会在进行主要升级后被重新启动。 使用以上方法可以使 Sahara 服务在 OSP9 升级到 OSP10 的过程中被正确处理,否则这个服务在升级的 OSP10 环境中不会被默认启用和配置。因此,Sahara 服务的状态可以作为升级的一部份被保留。另外,在需要的情况下,操作员也可以禁用 Sahara 服务。
- BZ#1368218
在这个版本中,通过使用额外环境文件部署 overcloud,可以把 Object Storage 服务(swift)配置为带有额外的原始磁盘(raw disk)。例如: parameter_defaults: ExtraConfig: SwiftRawDisks: sdb: byte_size: 2048 mnt_base_dir: /src/sdb sdc: byte_size: 2048 因此,Object Storage 服务不会只限制为本地节点的 `root` 文件系统。- BZ#1337783
现在,在硬件置备(provisioning)阶段可以部署通用的节点。这些节点会被部署为使用一个通用的操作系统(Red Hat Enterprise Linux),以后用户可以在这些节点上部署其它服务。
- BZ#1365857
在这个版本中,OpenDaylight Boron 作为一个技术预览被提供。
- BZ#1365359
在这个版本中,OpenDaylight neutron 驱动已从 neutron 项目中分离,它被移到新的 python-networking-odl 软件包中。 作为 Red Hat OpenStack Platform 部署的一部分,这个驱动的最新版本仍然可以使用。
- BZ#1343130
包括 ironic-python-agent 镜像的软件包需要 rhosp-director-images RPM 作为它的依赖软件包。但是,您也可以在 Red Hat OpenStack Platform director 以外使用 ironic-python-agent 镜像用于一般的 OpenStack Bare Metal(ironic)。这个版本改变了以下与依赖软件包相关的要求: - rhosp-director-images RPM 需要 rhosp-director-images-ipa RPM - rhosp-director-images-ipa RPM 不需要 rhosp-director-images RPM 现在,用户可以单独安装 ironic-python-agent 镜像。
- BZ#1347475
在这个版本中为 IPMItool 驱动增加了一个基于 socat 的串口控制台。增加它的目的是:用户可能希望使用和访问虚拟节点的控制台相同的方式来访问裸机节点的串口控制台。现在,增加了一个新的 `pxe_ipmitool_socat` 驱动,它支持使用 `socat` 工具程序来访问串口控制台。
- BZ#1337656
OpenStack Data Processing 服务现在支持 2.3 版本的 HDP (Ambari) 插件。
- BZ#1337782
这个版本包括了“Composable(可组合)”角色。TripleO 现在可以使用可组合的方式进行部署,允许用户选择在每个节点上运行什么服务。因此,可以实现更复杂的用例。
- BZ#1309528
现在,director 可以为 OSP 控制器节点上的 RADOS gateway (RGW) 服务配置 HAproxy 负载均衡以及SSL 终止(SSL termination)功能。
- BZ#1365865
这个版本不支持 OpenDaylight 控制器平台本身的集群,但可以为 neutron API 服务提供高可用性功能。
- BZ#1325682
在这个版本中,IP 网络数据可以被附加到 QoS 策略中的 DSCP 标记规则进行管理,这些 DSCP 标记规则可以应用到网络和端口中。 增加这个功能的原因是:在网络一级,来自不同源的网络数据可能会有不同的优先级,特别是在处理实时信息或关键控制数据的情况下。现在,来自于特定端口和网络的网络数据可以使用 DSCP flag 进行标记。请注意,在这个版本中,还只有 Open vSwitch 支持这个功能。
- BZ#1366721
现在,Telemetry 服务(ceilometer)使用 gnocchi 作为它的默认 meter 分配的后端。Gnocchi 具有更好的扩展性,并与 Telemetry 服务将来的发展方向相一致。
- BZ#1347371
在这个版本中,RabbitMQ 包括了一个新的 HA 功能 - Queue Master 分布功能。这个功能的一个策略是 `min-masters`,它会选择运行 master 数量最少的节点。 增加这个功能的原因是,在进行队列声明时,某个控制器可能无法使用,Queue Masters 就会位于有效的控制器上。当那个无效的控制器重新变为有效时,新创建队列的 master 则不会位于 queue master 数量最少的控制器上,从而会形成当多个故障转移发生时一个控制器的负载会比其它控制器的负载高许多的情况出现(分布不平衡)。 在这个版本中,在控制器出现故障转移时,队列会被分散到不同控制器中。
- BZ#1290251
这个版本增加了一个把 overcloud 连接到监测基础架构的功能,它会在 overcloud 节点上部署可用的监测代理(sensu-client)。 为了启用监测代理的部署,使用环境文件 '/usr/share/openstack/tripleo-heat-templates/environments/monitoring-environment.yaml',在配置 YAML 文件中使用以下参数: MonitoringRabbitHost: host where the RabbitMQ instance for monitoring purposes is running MonitoringRabbitPort: port on which the RabbitMQ instance for monitoring purposes is running MonitoringRabbitUserName: username to connect to RebbitMQ instance MonitoringRabbitPassword: password to connect to RebbitMQ instance MonitoringRabbitVhost: RabbitMQ vhost used for monitoring purposes
- BZ#1383779
现在,可以使用针对于特定节点的 hiera 来部署使用不同块设备的 Ceph 存储节点。因此,可以在 overcloud 部署的 Heat 模板中使用针对特定节点的 hiera 项来部署不相似的 OSD 服务器。
- BZ#1242593
在这个版本中,OpenStack Bare Metal provisioning 服务(ironic)可以在 overcloud 中部署来支持对裸机实例的置备。增加这个功能的原因是,用户可能会希望在 overcloud 中部署裸机系统。 现在,Red Hat OpenStack Platform director 可以选择部署裸机服务来在 overcloud 中置备裸机实例。
- BZ#1189551
在这个版本中增加了一个 `real time(实时)`的功能,它为 vCPU 提供了在最坏调度延迟情况出现时的一个性能保证。这个功能对于那些运行对 CPU 执行延迟有高要求、并需要实时 KVM 虚拟机配置可以提供一定性能保证的租户非常有用。
- BZ#1233920
在这个版本中,添加了对虚拟设备角色进行 tag 的支持。增加这个功能的原因是:一个实例的操作系统可能需要知道在它上面运行的虚拟设备的额外信息。例如,一个带有多个虚拟网络接口的实例,它的操作系统需要可以区分开不同的使用情况从而可以正确进行配置。 在这个版本中,对虚拟设备角色进行 tag 将可以在创建一个实例时对虚拟设备进行 tag。然后,这些 tag 以及其它的设备元数据就可以通过使用元数据 API 展示给实例。如需了解更多相关信息,请参阅 Red Hat OpenStack Platform 10 Networking Guide 的 `Use Tagging for Virtual Device Identification`(https://access.redhat.com/documentation/en/red-hat-openstack-platform/)
- BZ#1256850
Telemetry API(ceilometer-api)现在使用 apache-wsgi 替代 eventlet。当升级到这个版本时,ceilometer-api 将会相应地进行迁移。 这个改进提高了部署前的性能以及扩展的灵活性,并可以简单地使用 SSL。
3.2. 技术预览
- BZ#1381227
这个版本包括了测试在 OpenStack 中使用容器的组件。这个功能以技术预览的形式包括在这个版本中。
3.3. 发行注记
- BZ#1377763
在 Gnocchi 2.2 中,使用 Redis 在控制器间协调任务的分配。这改进了 Telemetry 衡量的过程。
- BZ#1385368
为了使用可组合服务,作为一个 Image Service(glance)后端使用的 NFS 挂载将不再被 Pacemaker 管理。因此,glance NFS 后端参数接口已改变:新方法使用一个环境文件来启用 glance NFS 后端。例如: ---- parameter_defaults: GlanceBackend: file GlanceNfsEnabled: true GlanceNfsShare: IP:/some/exported/path ---- 请注意,GlanceNfsShare 的设置会根据具体部署情况有所不同。 另外,可以使用 `GlanceNfsOptions` 参数定制挂载选项。如果以前在 Red Hat OpenStack Platform 9 中使用 Glance NFS 后端,环境文件的内容需要更新来匹配 Red Hat OpenStack Platform 10 的格式。
3.4. 已知问题
- BZ#1293379
当前存在一个已知问题:当网络配置改变时,可能会导致接口重启从而造成 overcloud 节点上的网络连接出现问题。 以上问题可能会导致 pacemaker 控制器集群出现问题,从而造成节点被隔离(如果配置了隔离功能)。因此,tripleo-heat-templates 被设计为在 overcloud 更新时不应用网络配置的改变。这可以避免出现以上提到的集群无法工作的问题。
- BZ#1266565
当前,特定的设置步骤需要到 overcloud 控制器的 SSH 连接,并需要 VIP 可以访问 Overcloud 节点。 如果您的环境被配置为使用一个外部的负载均衡系统,这些步骤可能无法正确连接。为了解决这个问题,可以把外部负载均衡系统配置为转发端口 22,这样 SSH 就可以成功连接到 VIP。
- BZ#1312155
controller_v6.yaml 模板包括了一个 Management 网络 VLAN 的参数。当前版本的 director 会不支持这个参数,它会和与 Management 网络相关的注释信息一样被忽略。Management 网络的参考信息不需要被复制到任何定制模板中。 以后的版本会支持这个参数。
- BZ#1239130
在进行部署前或部署过程中,director 不会提供网络验证功能。这意味着,一个包括错误的网络配置的部署可能会运行两个小时而不产生任何输出,并可能导致部署失败。一个网络验证脚本正在被开发,并会包括在以后的版本中。
- BZ#1269005
在这个版本中,RHEL OpenStack Platform director 只支持在一个高可用性(HA)overcloud 部署中使用 3 个控制器节点。
- BZ#1274687
当 Director 连接到 Public API 来完成部署后的配置步骤时有一个要求:Undercloud 节点需要有到 Public API 的路由,它需要可以在标准的 OpenStack API 端口和端口 22(SSH)中被访问到。 为了满足这个要求,检查 Undercloud 可以访问控制器上的 External 网络(这个网络需要被用来进行部署后的配置)。这样,Undercloud 就应该可以在部署后成功连接到 Public API,并进行最后的配置任务。只有在执行了这些配置任务后,新创建的部署才可以被 Admin 账户管理。
- BZ#1243306
在使用 NovaEnableRbdBackend 参数时,临时存储(ephemeral storage)被硬编码为 true。着意味着,NovaEnableRbdBackend 实例无法在 Ceph 存储中使用 cinder 后端。这个问题的一个解决方案是,在 puppet/hieradata/compute.yaml 中增加以下内容: nova::compute::rbd::ephemeral_storage: false 这会禁用临时存储。
- BZ#1241644
当 openstack-cinder-volume 使用一个 LVM 后端,Overcloud 节点重启后,基于文件的环回设备不会被重新创建。这个问题的一个解决方案是,使用以下命令手工重新创建环回设备: $ sudo losetup /dev/loop2 /var/lib/cinder/cinder-volumes 然后重启 openstack-cinder-volume。请注意,openstack-cinder-volume 每次只会在 Overcloud Controller 节点的高可用性集群中的一个节点上运行。但是,环回设备应该会存在于所有节点上。
- BZ#1282951
在部署 Red Hat OpenStack Platform director 时,bare-metal 节点应该被关闭, ironic 的 `node-state` 和 `provisioning-state` 需要是正确的。 例如,ironic 把一个节点列为 "Available, powered-on",但这个服务器实际已被关机,则这个节点将不能用于部署。 因此,您需要确定节点在 ironic 中的状态应该和节点实际状态相匹配。使用 "ironic node-set-power-state <node> [on|off]" 以及 "ironic node-set-provisioning-state <node> available" 来确保节点在 ironic 中的状态与服务器的实际状态相符,并确保节点被标记为 `Available`。 当 ironic 中的状态正确时,ironic 将可以正确管理电源状态并部署相应节点。
- BZ#1293422
为了可以在 Red Hat OpenStack Platform 中正常工作,IBM x3550 M5 服务器对固件的版本有最低要求。 较老版本的固件需要在进行部署前进行升级。相关系统需要被升级到以下版本(或更高版本): DSA 10.1, IMM2 1.72, UEFI 1.10, Bootcode NA, Broadcom GigE 17.0.4.4a 在进行固件升级后,部署过程应该可以正常执行。
- BZ#1323024
一个与 puppet manifest 相关的代码错误会导致在 undercloud 的安装过程中错误地禁用 LVM 分区自动挂载功能。因此,带有除 root 和 swap 分区以外分区的 undercloud 无法被引导到一个 emergency shell。 这个问题可以通过以下方法之一解决: 1. 从 /etc/fstab 中手动删除挂载点。使用这个方法可以防止上面的问题在以后进行的 manifest 操作中发生。其它的分区也可以被删除,它们的空间可以分配给其它分区(如 root 或 swap)。 2. 配置分区在 /etc/lvm.conf 中激活。使用这个方法可以防止上面的问题在再次执行 undercloud 安装过程(更新或升级)前发生。 3. 把初始部署限制为只使用 root 和 swap 分区。这会完全解决上面的问题。
- BZ#1368279
当使用 Red Hat Ceph 作为临时存储(ephemeral storage)的后端时,Compute 服务无法正确计算可用存储空间的数量。特别是,Compute 只会简单地加可用存储,而不会考虑复制(replication)。这会导致计算出的结果包括更多的可用存储,并可能导致无法预料的过度分配存储的问题。 现在,为了计算正确的临时存储,会直接对 Ceph 服务进行查询。
- BZ#1394537
在 `tuned` 档案被激活后,为了正确设置分配给 PMD 的内核,`tuned` 服务需要在 `openvswitch` 服务启动前被启动。 为了解决这个问题,可以运行以下脚本来修改 `tuned` 服务: #!/bin/bash tuned_service=/usr/lib/systemd/system/tuned.service grep -q "network.target" $tuned_service if [ "$?" -eq 0 ]; then sed -i '/After=.*/s/network.target//g' $tuned_service fi grep -q "Before=.*network.target" $tuned_service if [ ! "$?" -eq 0 ]; then grep -q "Before=.*" $tuned_service if [ "$?" -eq 0 ]; then sed -i 's/^\(Before=.*\)/\1 network.target openvswitch.service/g' $tuned_service else sed -i '/After/i Before=network.target openvswitch.service' $tuned_service fi fi systemctl daemon-reload systemctl restart openvswitch exit 0- BZ#1403380
当前有一个已知的问题:`Instance.pci_devices` 项可以是 null,但 `get_instance_pci_devs()` 无法正确处理这个情况。如果把没有 `pci_devices` 的数据传递到较老部署(如 Red Hat OpenStack Platform 9)中的实例时,会导致系统出现问题(系统会重复 `None` 来作为一个列表)。 可能出现这个问题的范围包括:作为升级过程的一部份所触发的实时迁移操作;试图把虚拟机实时从 Red Hat OpenStack Platform 9 主机迁移到 Red Hat OpenStack Platform 10 主机。 一个可以解决这个问题的补丁程序正在被开发,并将作为一个勘误发行以供红帽的用户使用。如果您计划进行需要对已存在的实例进行实时迁移的升级操作,请等待这个勘误发行后再进行您的升级操作。
- BZ#1391022
Red Hat Enterprise Linux 6 只包括 GRUB Legacy,而 OpenStack bare metal provisioning(ironic)只支持 GRUB2。因此,部署使用本地引导的分区镜像会在 bootloader 安装过程中失败。 这个问题的一个解决方案是,如果使用 RHEL 6 作为裸机实例,不要在 flavor 设置中把 boot_option 设置为 local。您也可以考虑部署已安装了 GRUB Legacy 的 RHEL 整个磁盘的镜像。
- BZ#1396308
在部署或升级到使用 Ceph 和专用 blockstorage 节点作为 LVM 的 Red Hat OpenStack 10 环境时,创建带有附加卷的实例将无法工作。在升级过程中,director 配置 Block Storage 服务的程序中包括一个错误导致了这个问题。 具体来说,当 Ceph 和专用 blockstorage 节点被一起配置时,heat 模板在默认情况下无法正确处理这个情况。因此,director 无法定义一些所需设置。 请注意,在生产环境中,LVM 并不是一个适当的 Block Storage 后端,特别是在一个企业级环境中。 为了解决这个问题,在 upgrade/deployment 中添加一个包括以下内容的环境文件: parameter_defaults: BlockStorageExtraConfig: tripleo::profile::base::cinder::volume::cinder_enable_iscsi_backend: true tripleo::profile::base::cinder::volume::cinder_enable_rbd_backend: false- BZ#1302081
输入的`AllocationPools` IPv6 网络和 IP 分配池的地址范围必须是一个符合 RFC 5952 规定的有效格式值。格式不正确的值将会导致出现错误。 输入的 IPv6 地址格式必须正确:前导 0 可以完全不包括,或完全包括(重复的 0 可以由 "::" 替代)。 例如,IP 地址 "fd00:0001:0000:0000:00a1:00b2:00c3:0010" 可以表示为"fd00:1::a1:b2:c3:10",但是不能为 "fd00:01::0b2:0c3:10"(这个值包括无效的前导 0 - 01, 0b2, 0c3)。这个项中的值必须截掉所有前导 0 或包括全部前导 0。
- BZ#1385034
当升级会部署一个集成了较老版本的外部 Ceph Storage Cluster 集群(Red Hat Ceph Storage 1.3)的 Red Hat OpenStack Platform 环境时,您需要确保系统的向后兼容性。要实现这个目的,在升级/部署过程中添加一个带有以下内容的环境文件: parameter_defaults: ExtraConfig: ceph::conf::args: client/rbd_default_features: value: "1"- BZ#1366356
当使用用户空间数据路径(DPDK)时,一些非 PMD 线程运行在运行 PMD(由`pmd-cpu-mask'配置)的同一个 CPU 上。 这会导致 PMD 被抢占,并产生延迟、数据丢弃等问题。 在这个版本中,post-install.yaml 文件( https://access.redhat.com/documentation/en/red-hat-openstack-platform/10/single/network-functions-virtualization-configuration-guide/#ap-ovsdpdk-post-install)包括了相关的解决方案。
- BZ#1372804
在以前的版本中,Ceph Storage 节点使用本地文件系统(格式化为 `ext4`)作为 `ceph-osd` 服务的后端。 请注意,一些 Red Hat OpenStack Platform 9(Mitaka)的 `overcloud-full` 镜像以 `ext4` 而不是 `xfs` 的格式进行创建。 在 Jewel 版本中,`ceph-osd` 会检查后端所允许的文件名的最大长度。如果这个限制小于为 Ceph 本身配置的限制,它将拒绝启动。这个问题的一个解决方案是,登录到 Ceph Storage 节点,运行以下命令检查 `ceph-osd` 使用的文件系统: # df -l --output=fstype /var/lib/ceph/osd/ceph-$ID 其中的 $ID 是 OSD ID,例如: # df -l --output=fstype /var/lib/ceph/osd/ceph-0 请注意,一个 Ceph Storage 节点可能会包括多个 `ceph-osd` 实例,在这个情况下,`/var/lib/ceph/osd/ 目录中会包括多个子目录来分别代表不同的实例。 如果有*任何* OSD 实例使用 `ext4` 文件系统,则需要配置 Ceph 来使用较短的文件名。这可以通过使用一个额外的、包括以下内容的环境文件进行部署或升级来实现: parameter_defaults: ExtraConfig: ceph::profile::params::osd_max_object_name_len: 256 ceph::profile::params::osd_max_object_namespace_len: 64 作为结果,您现在就可以验证,在从 Red Hat OpenStack Platform 9 升级到 Red Hat OpenStack Platform 10 后,是否每个 `ceph-osd` 实例都已被运行。- BZ#1383627
使用 "openstack baremetal import --json instackenv.json" 导入的节点需要在导入前关机。如果节点没有被关机,Ironic 将不会尝试添加节点或进行内省。 因此,在运行 "openstack baremetal import --json instackenv.json" 前需要关闭所有 overcloud 节点。 当节点被关闭后,导入操作可以成功运行。
- BZ#1383930
在使用 DHCP HA 时,应该通过可组合角色把 `NeutronDhcpAgentsPerNetwork` 的值设置为 dhcp-agents 的数量(如果这个数量小于 3)或 3。如果没有进行这个设置,它的值会被默认设置为 `ControllerCount` 的值,而这个值可能并不是最佳的,因为可能没有运行足够的 dhcp-agents 以满足为每个网络产生这么多数量的 DHCP 服务器。
- BZ#1204259
Glance 没有在 /etc/glance/glance.conf 中被 glance.store.http.Store 配置为一个 known_store,这意味着,glance 客户端无法使用 --copy-from 参数创建镜像,运行这些命令会出现 "400 Bad Request" 错误。这个问题的一个临时解决方案是,编辑 /etc/glance/glance-api.conf 文件,在 "stores" 配置选项的列表中添加 glance.store.http.Store,然后重启 openstack-glance-api 服务。这将可以使用 --copy-from 参数来成功创建 glance 镜像。
- BZ#1245826
"openstack overcloud update stack" 命令的运行会马上返回,即使它还在后台进行操作。因为这个命令不是交互式的,所以它看起来好象在一直运行。在这种情况下,在运行这个命令时使用 "-i",它会提示用户输入需要手工输入的信息。
- BZ#1249210
一个与时间相关的问题有时会导致 Overcloud neutron 服务无法自动地正确启动。这意味着服务无法访问实例。这个问题的一个临时解决方法是,在 Controller 节点集群中运行以下命令: $ sudo pcs resource debug-start neutron-l3-agent 实例将可以正常工作。
3.5. 弃用功能
- BZ#1261539
对 nova-network 的支持已过时,并将从以后的发行版本中删除。当创建新环境时,推荐使用 OpenStack Networking(Neutron)。
- BZ#1402497
一些特定的 CLI 参数被认为已过时,而不应该再使用它们。虽然这个版本允许您继续使用它们,但是仍然需要最少在一个环境文件中指定来设置 `sat_repo`。您可以在运行 overcloud 命令前使用一个 `env` 文件来解决这个问题: 1. cp -r /usr/share/openstack-tripleo-heat-templates/extraconfig/pre_deploy/rhel-registration . 2. 编辑 the rhel-registration/environment-rhel-registration.yaml 文件,根据您环境的具体情况设置 rhel_reg_org、rhel_reg_activation_key、rhel_reg_method、rhel_reg_sat_repo 和 rhel_reg_sat_url。 3. 在运行部署命令时使用 -e rhel-registration/rhel-registration-resource-registry.yaml -e rhel-registration/environment-rhel-registration.yaml 以上解决方案已在 Red Hat Satellite 5 和 6 中进行了验证,当成功部署后,软件仓库会包括在 overcloud 节点上。
- BZ#1404907
为了和上游社区项目保持一致,LBaaS v1 API 已被删除。Red Hat OpenStack Platfom 10 只支持 LBaaS v2 API。
第 4 章 技术备注
4.1. RHEA-2016:2948 — Red Hat OpenStack Platform 10 的改进信息
instack-undercloud
- BZ#1266509
在以前的版本中,instack-undercloud 不会检查提供给 `local_ip` 参数的子网掩码的正确性,并且错误地使用了 /32 掩码。因此,网络服务无法在 undercloud 中正常工作(例如,内省无法正常工作)。在这个版本中,instack-undercloud 会检查子网掩码的正确性。
- BZ#1289614
在以前的版本中,过期的令牌无法被自动从 Identity Service(keystone)数据库中定期删除。因此,就可能造成 keystone 数据库的大小不断增长,并最终导致占用了所有磁盘空间。 在这个版本中,添加了一个 crontab 任务来定期(每天一次)在 keystone 数据库中查询并删除过期的令牌。因此,keystone 数据库现在不会出现因为过期令牌造成数据库占用的磁盘空间无限增长的问题。
- BZ#1320318
在以前的版本中,`pxe_ilo` Bare Metal Service(ironic)驱动会在发现具有 UEFI 功能的硬件时自动切换到 UEFI 引导模式(即使环境不支持 UEFI)。 因此,在环境不支持 UEFI 的情况下,部署的过程会因为使用 pxe_ilo 驱动而失败。 在这个版本中,pxe_ilo 驱动被默认设置为使用 BIOS 引导模式,因此,无论 UEFI 的配置是否正确,使用 pxe_ilo 的部署现在都可以正确完成。
- BZ#1323024
一个与 puppet manifest 相关的代码错误会导致在 undercloud 的安装过程中错误地禁用 LVM 分区自动挂载功能。因此,带有除 root 和 swap 分区以外分区的 undercloud 无法被引导到一个 emergency shell。 这个问题可以通过以下方法之一解决: 1. 从 /etc/fstab 中手动删除挂载点。使用这个方法可以防止上面的问题在以后进行的 manifest 操作中发生。其它的分区也可以被删除,它们的空间可以分配给其它分区(如 root 或 swap)。 2. 配置分区在 /etc/lvm.conf 中激活。使用这个方法可以防止上面的问题在再次执行 undercloud 安装过程(更新或升级)前发生。 3. 把初始部署限制为只使用 root 和 swap 分区。这会完全解决上面的问题。
- BZ#1324842
在以前的版本中,director 会为 'readonly_user_name' 自动产生一个超过 32 个字符的值(位于 /etc/ceilometer/ceilometer.conf 中)。这会在升级的过程中出现 ValueSizeConstraint 错误。在这个版本中,director 会默认把 'readonly_user_name' 设置为 'ro_snmp_user' 的值,这可以确保它的值符合系统对字符的限制。
- BZ#1355818
在以前的版本中,swift proxy pipeline 被错误配置,这会导致 swift 内存的使用会持续增长,直到它被系统终止(kill)。在这个版本中,proxy-logging 在 swift proxy pipeline 过程的早期被配置,从而不会出现 swift 内存使用情况持续增长的问题。
mariadb-galera
- BZ#1375184
因为 Red Hat Enterprise Linux 7.3 修改了 shell 脚本所使用的 "systemctl is-enabled" 命令的返回格式,在安装 mariadb-galera RPM 软件包时会在 MariaDB 服务还没有被启动时错误地发现这个服务已启动。因此,Red Hat OpenStack Platform installer 会使用 Pacemaker 而不是 systemd 来运行 mariadb-galera,从而导致 Galera 启动失败。在这个版本中,mariadb-galera 的 RPM 安装脚本使用不同的 systemctl 命令,它可以正确地检测到默认的 MariaDB 被禁用的状态,从而使 installer 可以正常运行。
- BZ#1373598
在以前的版本中,'mariadb-server' 和 'mariadb-galera-server' 软件包都包括了面向客户端的程序库:'dialog.so' 和 'mysql_clear_password.so'。因此,'mariadb-galera-server' 软件包会因为软件包冲突的问题导致安装失败。 在这个版本中,'dialog.so' 和 'mysql_clear_password.so' 程序库从 'mariadb-galera-server' 移到 'mariadb-libs'。因此,'mariadb-galera-server' 软件包可以被成功安装。
openstack-gnocchi
- BZ#1377763
在 Gnocchi 2.2 中,使用 Redis 在控制器间协调任务的分配。这改进了 Telemetry 衡量的过程。
openstack-heat
- BZ#1349120
在这个版本以前,Heat 有时会在删除过程仍在进行时认为 `FloatingIP` 资源已被删除。因此,`FloatingIP` 所依赖的资源有时会因为 `FloatingIP` 存在而无法删除。 在这个版本中,Heat 会在决定资源已被删除前检查 `FloatingIP` 是否已不存在,这就可以确保栈的删除过程可以正常运行。
- BZ#1375930
在以前的版本中,`str_replace` 是通过调用 Python `str.replace()` 函数来替换每个字符串的。因此,如果替换的字符串包括另外一个要被替换的字符串,替换的字符串本身也可能会被替换。因为替换的顺序不是确定的,因此这就可能导致替换结果的不确定性。用户在使用这个功能的时候就需要非常小心地采样一些措施(如使用 guard)来避免出现这个问题。 在这个版本中,替换操作是以一个完整过程完成的,因此只有原始数据会被替换。 因此,`str_replace` 的输出结果是确定的,并在不使用 guard 的情况下获得所期望的结果。如果输入中的关键字有重叠情况,则首选最长的匹配。如果仍然不明确,较短的字符串会被替换。
- BZ#1314080
当 `heat-engine` 无法连接到数据库时,仍然在处理中的栈因为无法获得最新数据库数据而被“卡住”。当这个问题发生时,管理员需要一个方法来对状态进行重置,从而可以使栈再次被更新。 在这个版本中,`heat-manage` 支持一个 `heat-manage reset_stack_status` 子命令,管理员可以使用这个命令来重置那些被卡住的栈。
openstack-ironic
- BZ#1347475
在这个版本中为 IPMItool 驱动增加了一个基于 socat 的串口控制台。增加它的目的是:用户可能希望使用和访问虚拟节点的控制台相同的方式来访问裸机节点的串口控制台。现在,增加了一个新的 `pxe_ipmitool_socat` 驱动,它支持使用 `socat` 工具程序来访问串口控制台。
- BZ#1310883
Bare Metal provisioning 服务现在会在对磁盘进行分区并写入镜像数据前清除这个磁盘上的元数据。因此,新的镜像可以正常引导。在以前的版本中,Bare Metal provisioning 服务在对一个设备进行操作前不能删除它上面的元数据,这可能会导致部署失败。
- BZ#1319841
openstack-ironic-conductor 服务现在会检查 'enabled_drivers' 选项所指定的驱动是否都是唯一的。如果有重复的驱动,这个服务会删除它们并在日志中进行记录。在以前的版本中,如果 'enabled_drivers' 选项所指定的驱动有重复,就会导致 openstack-ironic-conductor 服务失败,从而使 Bare Metal provisioning 服务无法加载任何驱动。
- BZ#1344004
在以前的版本中,'ironic-conductor' 无法正确地把用户身份验证令牌传递给 'python-neutronclient'。因此,自动节点清除功能会失败。 在这个版本中,OpenStack Baremetal Provisioning(ironic)被迁移为使用 'keystoneauth' 会话,而不是直接构建 Identity 服务客户端对象。因此,节点在清除后可以被成功拆除。
- BZ#1385114
为了决定哪个节点要被部署,部署的 ramdisk(IPA)会向 Bare Metal provisioning 服务提供一个 MAC 地址列表作为节点的标识。在以前的版本中,Bare Metal provisioning 服务只识别普通的 MAC 地址格式(6 个十六进制数字)。但是,Infiniband NIC 的 GID 有 20 个十六进制数字。因此,当节点有一个 Infiniband NIC 时,因为 Bare Metal provisioning API 无法正确验证它的 MAC 地址,所以部署操作会失败。 在这个版本中,Bare Metal provisioning 服务会忽略非正常的 MAC 地址格式(不是 6 个十六进制数字的 MAC 地址)。
- BZ#1387322
这个版本从用于部署和内省的 iPXE 模板中删除了一个多余的 'dhcp' 命令。在一些情况下,这个多余的命令可能会导致不正确的接口接收到一个 IP 地址。
openstack-ironic-inspector
- BZ#1323735
在以前的版本中,当创建 tarfile 时,修改的日期不会在 IPA RAM 磁盘的日志中设置。因此,内省日志中修改的日期会是 1970-01-01,这会导致在展开这个文件时 GNU tar 命令出现一个警告。 在这个版本中,修改的日期会在创建 tarfile 时被正确设置。现在,相关的时间戳是正确的,GNU tar 不再会出现相关警告。
openstack-ironic-python-agent
- BZ#1393008
这个版本包括了更多的与 LLDP 发现功能相关的错误检查和处理的功能。这些功能可以防止因为不正确的软件包造成 LLDP 发现失败的问题。另外,失败的 LLDP 发现也不会造成整个内省过程的失败。
openstack-manila
- BZ#1380482
在以前的版本中,Manila Ceph FS 驱动不会检查它是否可以连接到 Ceph 服务器。 因此,如果无法连接到 Ceph 服务器,`manila-share` 服务会持续崩溃,会在没有任何超时限制的情况下重新生成(respawning)。 在这个版本中,在初始化 Manila Ceph FS 驱动时会进行检查来确定 Ceph 连接可以正常工作。如果 Ceph 连接无法正常工作,驱动将不会被初始化,接下来的其它步骤也不会被执行。
openstack-neutron
- BZ#1381620
在以前的版本中,WSGI 服务器在某个时间可以打开的最多客户端连接数量(例如,在某个时间 greenlets spawn 的数量)由 'wsgi_default_pool_size' 设置为 100。这个数值对 OpenStack Networking API 服务器是恰当的,但是这会使 state change 服务器在 L3 代理上产生大量的 CPU 负载,并可能导致代理崩溃。 在这个版本中,可以使用新的 'ha_keepalived_state_change_server_threads' 设置来指定 state change 服务器的线程数量。客户端的连接数量不再受限于 'wsgi_default_pool_size',因此,在 spawn 多个 state change 服务器线程时可以避免出现 L3 代理崩溃的问题出现。
- BZ#1382717
在以前的版本中,'vport_gre' 内核模块依赖于 Red Hat Enterprise Linux 7.3 中的 'ip_gre' 内核模块。'ip_gre' 模块会创建两个接口:'gre0' 和 'gretap0'。这些接口会在每个命名空间中创建并无法被删除。因此,当 'neutron-netns'cleanup' 在命名空间清理的过程中删除所有接口时,'gre0' 和 'gretap0' 无法被删除,从而导致因为这两个接口的存在无法删除网络命名空间的问题。 在这个版本中,'gre0' 和 'gretap0' 接口被加入到接口“白名单”中,在检查命名空间是否包括接口时会忽略它们。因此,在命名空间仍然包括 'gre0' 和 'gretap0' 接口时也可以删除这个命名空间。
- BZ#1384334
这个发行版本在 OpenStack Networking API 的前面添加了一个 HTTPProxyToWSGI 中间件,它被用来当代理(如 HAProxy)在客户端和服务器间被使用时,正确设置 URL 请求。这确保了,当一个客户端使用 SSL 时,服务器可以识别它并相应使用正确的协议。在以前的版本中,当使用代理时,即使一个客户端使用了 SSL,服务器还是使用 HTTP 而不是使用 HTTPS 进行响应。
- BZ#1387546
在以前的版本中,当子进程没有正确运行时,OpenStack networking OVS 代理可能会把没有翻译的字符串和翻译的字符串进行比较。因此,如果系统使用非英语版本,则可能会造成一个 exception,从而使实例无法引导。 为了解决这个问题,失败检查代码被更新,它会检查失败的子进程实际返回的值而不是字符串。这确保了子进程失败的情况可以在非英语的系统中被正确处理。
- BZ#1325682
在这个版本中,IP 网络数据可以被附加到 QoS 策略中的 DSCP 标记规则进行管理,这些 DSCP 标记规则可以应用到网络和端口中。 增加这个功能的原因是:在网络一级,来自不同源的网络数据可能会有不同的优先级,特别是在处理实时信息或关键控制数据的情况下。现在,来自于特定端口和网络的网络数据可以使用 DSCP flag 进行标记。请注意,在这个版本中,还只有 Open vSwitch 支持这个功能。
openstack-nova
- BZ#1188175
在这个版本中,添加了对虚拟设备角色进行 tag 的支持。增加这个功能的原因是:一个实例的操作系统可能需要知道在它上面运行的虚拟设备的额外信息。例如,一个带有多个虚拟网络接口的实例,它的操作系统需要可以区分开不同的使用情况从而可以正确进行配置。 在这个版本中,对虚拟设备角色进行 tag 将可以在创建一个实例时对虚拟设备进行 tag。然后,这些 tag 以及其它的设备元数据就可以通过使用元数据 API 展示给实例。如需了解更多相关信息,请参阅 Red Hat OpenStack Platform 10 Networking Guide 的 `Use Tagging for Virtual Device Identification`(https://access.redhat.com/documentation/en/red-hat-openstack-platform/)
- BZ#1189551
在这个版本中增加了一个 `real time(实时)`的功能,它为 vCPU 提供了在最坏调度延迟情况出现时的一个性能保证。这个功能对于那些运行对 CPU 执行延迟有高要求、并需要实时 KVM 虚拟机配置可以提供一定性能保证的租户非常有用。
- BZ#1233920
在这个版本中,添加了对虚拟设备角色进行 tag 的支持。增加这个功能的原因是:一个实例的操作系统可能需要知道在它上面运行的虚拟设备的额外信息。例如,一个带有多个虚拟网络接口的实例,它的操作系统需要可以区分开不同的使用情况从而可以正确进行配置。 在这个版本中,对虚拟设备角色进行 tag 将可以在创建一个实例时对虚拟设备进行 tag。然后,这些 tag 以及其它的设备元数据就可以通过使用元数据 API 展示给实例。如需了解更多相关信息,请参阅 Red Hat OpenStack Platform 10 Networking Guide 的 `Use Tagging for Virtual Device Identification`(https://access.redhat.com/documentation/en/red-hat-openstack-platform/)
- BZ#1263816
在以前的版本中,nova ironic virt 驱动会在开始部署前在 Bare Metal Provisioning(ironic)节点中写一个实例的 UUID。如果在写 UUID 和开始部署间出现问题,Compute 不会在生成实例失败后删除这个实例的 UUID。因此,Bare Metal Provisioning(ironic)节点中会存在一个实例的 UUID,它将不会在执行另外的部署操作。 在这个版本中,无论生成实例的操作在部署的任何阶段失败,ironic virt 驱动都可以保证实例的 UUID 会被正确清除。因此,节点将不会有实例的 UUID,它将可以执行另外一个新的部署。
openstack-puppet-modules
- BZ#1284058
在以前的版本中,使用 director 部署的 Object Storage 服务会使用 ceilometer 中间件。但是,从 Red Hat OpenStack Platform 8(liberty)开始,这个中间件已过时。 在这个版本中,Object Storage 服务改为使用来自于 python-ceilometermiddleware 的 ceilometer 中间件。这个中间件被此版本支持。
- BZ#1372821
在以前的版本中,Time Series Database-as-a-Service(gnocchi)API worker 会被默认配置为部署一个进程,以及和逻辑 cpu_core 数量相同数量的线程。这个配置结果就是 httpd 中运行的 gnocchi API 被部署为带有一个进程。 作为一个最佳实践方案,gnocchi 推荐的进程和线程的数量应该是 cpu_count 数量的 1.5 倍。在这个版本中,worker 的数量是 max(($::processorcount + 0)/4, 2),线程为 1。因此,gnocchi API worker 以带有正确数量的 worker 和线程运行来提供更好的性能。
openstack-tripleo-common
- BZ#1382174
在以前的版本中,在软件包更新后 'DeployIdentifier' 不会被更新。因此,Puppet 不会在非控制器节点上运行。 在这个版本中,'DeployIdentifier' 的值可以被增加。因此,Puppet 可以运行并更新非控制器节点上软件包。
- BZ#1323700
在以前版本的 OpenStack Director 中,作为主要升级过程的一部分,操作员在 Undercloud 中使用的、用来升级非控制器节点的 'upgrade-non-controller.sh' 脚本在使用了 '--query' 选项时不会报告升级的状态。因此,'--query' 选项不会象 '-h' 帮助信息中所描述的方式工作。 在这个版本中,'--query' 选项使用来自指定节点的 'yum.log' 文件的最后几行作为升级的状态。另外,脚本现在还可以使用每个选项的全名和短名(如 '-q' 和 '--query')。因此,'upgrade-non-controller.sh' 脚本现在可以提供一定程度的升级状态信息。
- BZ#1383627
使用 "openstack baremetal import --json instackenv.json" 导入的节点需要在导入前关机。如果节点没有被关机,Ironic 将不会尝试添加节点或进行内省。 因此,在运行 "openstack baremetal import --json instackenv.json" 前需要关闭所有 overcloud 节点。 当节点被关闭后,导入操作可以成功运行。
openstack-tripleo-heat-templates
- BZ#1262064
现在,在启动栈部署操作时可以使用一个 Heat 环境文件在 overcloud 中部署 'cinder-backup'。用来启用 'cinder-backup' 的环境文件是 /usr/share/openstack-tripleo-heat-templates/environments/cinder-backup.yaml。'cinder-backup' 服务初始支持使用 Swift 或 Ceph 作为后端。'cinder-backup' 服务会在没有保存卷的后端中备份 Cinder 卷。如果在部署时包括,'cinder-backup' 服务会在 overcloud 中运行。
- BZ#1282491
在以前的版本中,RabbitMQ 最多可以打开的文件描述符的数量被设置为 4096。当用户有大量部署时,可能会达到这个限制并进而产生系统稳定性的问题。在这个版本中,对 RabbitMQ 的最多可以打开的文件描述符数量的限制增加到 65536。因此,大型用户将会极大减少遇到以上问题的情况。
- BZ#1242593
在这个版本中,OpenStack Bare Metal provisioning 服务(ironic)可以在 overcloud 中部署来支持对裸机实例的置备。增加这个功能的原因是,用户可能会希望在 overcloud 中 部署裸机系统。 现在,Red Hat OpenStack Platform director 可以选择部署裸机服务来在 overcloud 中置备裸机实例。
- BZ#1274196
在这个版本中,overcloud 控制器节点启用了 iptables 防火墙来提供更好的安全性。因此,相关的端口需要被打开从而使 overcloud 服务可以象以前一样继续工作。
- BZ#1290251
这个版本增加了一个把 overcloud 连接到监测基础架构的功能,它会在 overcloud 节点上部署可用的监测代理(sensu-client)。 为了启用监测代理的部署,使用环境文件 '/usr/share/openstack/tripleo-heat-templates/environments/monitoring-environment.yaml',在配置 YAML 文件中使用以下参数: MonitoringRabbitHost: host where the RabbitMQ instance for monitoring purposes is running MonitoringRabbitPort: port on which the RabbitMQ instance for monitoring purposes is running MonitoringRabbitUserName: username to connect to RebbitMQ instance MonitoringRabbitPassword: password to connect to RebbitMQ instance MonitoringRabbitVhost: RabbitMQ vhost used for monitoring purposes
- BZ#1309460
现在,可用使用 director 部署 Ceph RadosGW 作为对象存储的网关。这需要在 overcloud 部署中包括 /usr/share/openstack-tripleo-heat-templates/environmens/ceph-radosgw.yaml。当使用这个 heat 模板时,默认的 Object Storage 服务(swift)不会被部署。
- BZ#1325680
一般情况下,在 OpenStack 中安装并配置 OVS+DPDK 的操作会在 overcloud 部署后手工进行。如果有大量的 Compute 节点,这个操作将会变得非常繁琐。以前,需要手工识别 DPDK 的硬件能力,现在,这个任务会在内省过程中自动进行。另外,检测到的硬件也为操作人员提供了配置 Heat 模板所需的数据。当前,带有启用了 DPDK 硬件的 Compute 节点还无法和没有启用 DPDK 硬件的 Compute 节点共存。 `ironic` Python Agent 会发现以下硬件信息,并把它们保存在一个 swift blob 中: * CPU flags for hugepages support - 如果存在 pse 则支持 2MB 巨型页(hugepage);如果存在 pdpe1gb,则支持 1GB 巨型页 * CPU flags for IOMMU - 如果存在 VT-d/svm,则支持 IOMMU。对 IOMMU 支持的功能在 BIOS 中启用。 * Compatible nics - 比较 DPDK 的网卡白名单(在 http://dpdk.org/doc/nics 中列出) 不具有以上任何能力的节点不能作为带有 DPDK 的 Compute 角色。 * 操作员将会有一个置备来在 Compute 节点上启用 DPDK。 * 可用作为 Compute 并带有 DPDK NIC 的节点的 overcloud 镜像将会带有 OVS+DPDK 软件包,而不是 OVS 软件包。另外,它还会带有 `dpdk` 和 `driverctl` 软件包。 * 具有 DPDK 功能的 NIC 的设备名将从 T-H-T 获得。DPDK NIC 的 PCI 地址需要可以从设备名中识别。在进行 PCI probe 时,需要对 DPDK NIC 进行白名单操作。 * 巨型页(Hugepage)需要在带有 DPDK 的 Compute 节点中启用。 * 需要进行 CPU 分离设置,从而使为 DPDK PMD(Poll Mode Driver)预留的 CPU 内核不会被一般的内核负载均衡、中断处理和调度算法使用。 * 在每个带有启用了 DPDK 的 NIC 的 Compute 节点中,puppet 将会为白名单中的 NICs、CPU 掩码以及 DPDK PMD 内存频道配置 DPDK_OPTIONS。DPDK_OPTIONS 需要在 /etc/sysconfig/openvswitch 中配置。 `Os-net-config` 会执行以下操作: * 通过设置指定接口的 pci 地址来把指定接口与 dpdk 驱动(默认为 vfio-pci 驱动)相关联。使用 driverctl 把驱动永久性绑定。 * 了解 ovs_user_bridge 和 ovs_dpdk_port 类型,并根据实际情况配置 ifcfg 脚本。 * “TYPE” ovs_user_bridge 会被翻译为 OVS 类型 OVSUserBridge,OVS 会根据这个情况把 datapath 类型配置为 ‘netdev’。 * “TYPE” ovs_dpdk_port 会被翻译为 OVS 类型 OVSDPDKPort,OVS 会根据这个情况把端口添加到网桥(接口类型为 ‘dpdk’) * 了解 ovs_dpdk_bond,并根据实际情况配置 ifcfg 脚本。 在每个带有启用了 DPDK 的 NIC 的 Compute 节点上,puppet 将会执行以下操作: * 在 /etc/neutron/plugins/ml2/openvswitch_agent.ini 中启用 OVS+DPDK([OVS] datapath_type=netdev vhostuser_socket_dir=/var/run/openvswitch) * 在 /var/run/openvswitch 中把 vhostuser 端口配置为被 qemu 所拥有。 在每个控制器节点上,puppet 将会执行以下操作: * 在 nova.conf 中为 scheduler_default_filters 添加 NUMATopologyFilter。 自动化以上操作的过程已完成,并可以在 QA 测试阶段进行验证。
- BZ#1337782
这个版本包括了“Composable(可组合)”角色。TripleO 现在可以使用可组合的方式进行部署,允许用户选择在每个节点上运行什么服务。因此,可以实现更复杂的用例。
- BZ#1337783
现在,在硬件置备(provisioning)阶段可以部署通用的节点。这些节点会被部署为使用一个通用的操作系统(Red Hat Enterprise Linux),以后用户可以在这些节点上部署其它服务。
- BZ#1381628
如 https://bugs.launchpad.net/tripleo/+bug/1630247 所述,上游社区的 Newton TripleO 项目中的 Sahara 服务在默认情况下被禁用。作为把 Red Hat OpenStack Platform 9 升级到 Red Hat OpenStack Platform 10 的一部分,Sahara 服务被默认启用。如果操作员不希望在升级后使用 Sahara,则需要在控制器升级和合并的步骤中使用的部署命令中包括 `-e 'major-upgrade-remove-sahara.yaml'` 环境文件。请注意:这个环境文件必须在最后指定(针对于合并的步骤),但它可以在两个步骤中都进行已避免混淆。在这种情况下,Sahara 服务不会在进行主要升级后被重新启动。 使用以上方法可以使 Sahara 服务在 OSP9 升级到 OSP10 的过程中被正确处理,否则这个服务在升级的 OSP10 环境中不会被默认启用和配置。因此,Sahara 服务的状态可以作为升级的一部份被保留。另外,在需要的情况下,操作员也可以禁用 Sahara 服务。
- BZ#1389502
在这个版本中,可以使用 KernelPidMax Heat 参数对 kernel.pid_max sysctl 键的值进行定制(默认值为 1048576)。在那些作为 Ceph 客户端的节点上,可能会允许大量线程(由 ceph-osd 实例数量决定)。在这种情况下,pid_max 可能会达到最大值从而导致 I/O 错误。pid_max 键会有一个较高的默认值并可以通过 KernelPidMax 参数进行定制。
- BZ#1243483
在以前的版本中,为服务器元数据轮询 Orchestration 服务会产生到 Compute 的 REST API 调用。这可能会导致大量 nova-api,特别是在环境规模扩展时这个情况更严重。 在这个版本中,使用 Object Storage 服务为服务器元数据提供轮询服务并加载 heat 栈。这将不会产生不必要的 nova-api 调用。因此,在环境规模进行扩展时,undercloud 的负载会大幅下降。
- BZ#1315899
在以前的版本中,由 director 部署的 swift 会使用一个过时的 ceilometer 中间件版本,这个版本已从 Red Hat OpenStack Platform 8 中删除。在这个版本中,swift proxy config 使用来自于 python-ceilometermiddleware 的 ceilometer 中间件。因此,swift proxy 现在使用了被支持的 ceilometer middleware 中间件版本。
- BZ#1361285
OpenStack Image Storage(glance)在默认情况下配置更多 worker,这可以提高性能。worker 的数量会根据处理器的数量自动进行调整。
- BZ#1367678
这个版本增加了一个新的参数 - `NeutronOVSFirewallDriver`,它被用来在 Red Hat OpenStack Platform director 中配置 Open vSwitch(OVS)防火墙驱动。 增加这个参数的原因是,neutron OVS 代理现在支持一个实现安全组功能的新机制 - 'openvswitch' 防火墙。`NeutronOVSFirewallDriver` 允许用户直接控制使用的防火墙机制: `hybrid` - 配置 neutron 来使用老的 iptables/混合防火墙机制。 'openvswitch' - 启用新的、基于数据流的防火墙机制。 新的防火墙驱动具有更好的性能,并减少了用来把虚拟机连接到项目网络所需的接口和网桥。因此,用户可以方便地测试新的安全组机制。
- BZ#1256850
Telemetry API(ceilometer-api)现在使用 apache-wsgi 替代 eventlet。当升级到这个版本时,ceilometer-api 将会相应地进行迁移。 这个改进提高了部署前的性能以及扩展的灵活性,并可以简单地使用 SSL。
- BZ#1303093
在这个版本中,当部署 overcloud 时可以使用一个额外的环境文件在 overcloud 中禁用 Object Storage 服务(swift)。这个环境文件应该包括以下内容: resource_registry: OS::TripleO::Services::SwiftProxy: OS::Heat::None OS::TripleO::Services::SwiftStorage: OS::Heat::None OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None 作为结果,Object Storage 服务将不会在 overcloud 中运行,overcloud Identity 服务中也不会包括 Object Storage 服务的端点。
- BZ#1314732
在以前的版本中,当使用 director 部署 Red Hat OpenStack Platform 8 时,Telemetry 服务不会在 Compute 中配置,从而会导致一些 OpenStack Integration Test Suite 测试失败。 在这个版本中,OpenStack Telemetry 服务在 Compute 配置中进行了配置。因此,通知(notification)驱动被正确配置,OpenStack Integration Test Suite 测试可以通过。
- BZ#1316016
在以前的版本中,因为 Image Service(glance)中缺少了对测量方法的配置,Telemetry(ceilometer)通知操作会失败。因此,glance 的通知不会被正确处理。在这个版本中,tripleo 模板包括了正确的配置,glance 的通知可以被正确处理。
- BZ#1347371
在这个版本中,RabbitMQ 包括了一个新的 HA 功能 - Queue Master 分布功能。这个功能的一个策略是 `min-masters`,它会选择运行 master 数量最少的节点。 增加这个功能的原因是,在进行队列声明时,某个控制器可能无法使用,Queue Masters 就会位于有效的控制器上。当那个无效的控制器重新变为有效时,新创建队列的 master 则不会位于 queue master 数量最少的控制器上,从而会形成当多个故障转移发生时一个控制器的负载会比其它控制器的负载高许多的情况出现(分布不平衡)。 在这个版本中,在控制器出现故障转移时,队列会被分散到不同控制器中。
- BZ#1351271
Red Hat OpenStack Platform director 在 OpenStack Identity(keystone)中创建 OpenStack Block Storage(cinder) v3 API 端点来支持较新的 Cinder API 版本。
- BZ#1364478
在这个版本中,允许在任何角色中使用任何隔离的网络。在一些情况下(如 'ceph-osd' 和 'nova-compute' 共同存在)会假设节点访问多个隔离的网络。现在,定制的 NIC 模板可以在任何角色中配置任何隔离的网络。
- BZ#1366721
现在,Telemetry 服务(ceilometer)使用 gnocchi 作为它的默认 meter 分配的后端。Gnocchi 具有更好的扩展性,并与 Telemetry 服务将来的发展方向相一致。
- BZ#1368218
在这个版本中,通过使用额外环境文件部署 overcloud,可以把 Object Storage 服务(swift)配置为带有额外的原始磁盘(raw disk)。例如: parameter_defaults: ExtraConfig: SwiftRawDisks: sdb: byte_size: 2048 mnt_base_dir: /src/sdb sdc: byte_size: 2048 因此,Object Storage 服务不会只限制为本地节点的 `root` 文件系统。- BZ#1369426
AODH 现在使用 MYSQL 作为它的默认后端。以前,AODH 使用 MongoDB 作为它的默认后端以使从 Ceilometer 转换到 AODH 的过程相对简单。
- BZ#1373853
以前,用于把 Compute 角色和 Object Storage 角色从 Red Hat OpenStack Platform 9(mitaka)升级到 Red Hat OpenStack Platform 10(newton)的脚本不会在出现错误的时候正常退出。因此,即使在升级失败的情况下,'upgrade-non-controller.sh' 脚本的返回代码也为 0(代表成功)。 在这个版本中,Compute 角色和 Object Storage 角色的升级脚本在升级过程出现问题时会产生错误并退出,'upgrade-non-controller.sh' 的返回代码为一个非 0 的值(代表失败)。
- BZ#1379719
在移到可组合服务的过程中,用来在 overclod 节点上配置 NTP 服务器的 hieradata 没有被正确配置。 在这个版本中,使用了正确的 hieradata,overcloud 节点上的 NTP 服务器被正确配置。
- BZ#1385368
为了使用可组合服务,作为一个 Image Service(glance)后端使用的 NFS 挂载将不再被 Pacemaker 管理。因此,glance NFS 后端参数接口已改变:新方法使用一个环境文件来启用 glance NFS 后端。例如: ---- parameter_defaults: GlanceBackend: file GlanceNfsEnabled: true GlanceNfsShare: IP:/some/exported/path ---- 请注意,GlanceNfsShare 的设置会根据具体部署情况有所不同。 另外,可以使用 `GlanceNfsOptions` 参数定制挂载选项。如果以前在 Red Hat OpenStack Platform 9 中使用 Glance NFS 后端,环境文件的内容需要更新来匹配 Red Hat OpenStack Platform 10 的格式。
- BZ#1387390
以前,TCP 端口 '16509' 在 'iptables' 中被禁用。因此,'nova' Compute 'libvirt' 实例将无法在 Compute 节点间进行实时迁移。 在这个版本中,TCP 端口 '16509' 在 'iptables' 中被配置为打开。因此,'nova' Compute 'libvirt' 实例现在可以在 Compute 节点间进行实时迁移。
- BZ#1389189
在以前的版本中,因此写 Hiera 数据操作和 Puppet 在节点上执行间的竞争条件,在一些情况下 Overcloud 节点上的 Puppet 会因此缺少 Hiera 数据而失败。 在这个版本中,增加了操作间的顺序,首先需要在所有节点上完成 Hiera 数据的写操作,而后才执行 Puppet 操作。因此,Puppet 不再会因为缺少 Hiera 数据而失败。
- BZ#1392773
以前,当从 Red Hat OpenStack Platform 9(Mitaka)升级到 Red Hat OpenStack Platform 10(Newton)后,'ceilometer-compute-agent' 将无法收集数据。 在这个版本中,通过在升级后重启 'ceilometer-compute-agent' 解决了这个问题。'ceilometer-compute-agent' 重启后可以正确收集相关数据。
- BZ#1393487
以前,在部署 OpenStack File Share API(manila-api)时,OpenStack Platform director 不会更新防火墙。如果把 manila-api 服务从控制器上移到自己的角色上时,默认的防火墙规则会阻塞端点。在这个版本中,overcloud Heat 模板集合中的 manila-api 防火墙规则被更新。现在,即使 manila-api 位于控制器节点以外的角色节点上时,也可以访问端点。
- BZ#1382579
以前,director 把 cloudformation(heat-cfn)端点设为 "RegionOne" 而不是 "regionOne",这会导致 UI 显示带有不同服务的两个区(region)。在这个版本中,端点被配置为使用 "regionOne",UI 现在会在相同的区中显示所有服务。
openstack-tripleo-ui
- BZ#1353796
在这个版本中,可以使用 UI 手工添加节点。
os-collect-config
- BZ#1306140
在这个版本以前,用于配置的 HTTP 对 `os-collect-config` 的请求没有指定请求的超时时间。因此,当 undercloud 无法被访问时(例如,undercloud 在重启,网络连接出现问题),对数据进行轮询会出现 `os-collect-config` 无法正常完成的问题,从而导致无法进行轮询或配置。而这个问题通常只有在 overcloud 栈操作已完成但软件配置操作超时时才会被发现。 在这个版本中,`os-collect-config` HTTP 请求总会指定一个超时时间。 因此,当 undercloud 无法被访问时,数据轮询会失败。当 undercloud 可以被访问时,数据轮询操作会重新恢复。
os-net-config
- BZ#1391031
在以前的版本中,Open vSwitch 和 neutron 间集成的改进可能会导致重启后连接出现问题。因此,节点可能无法被访问,或它的连接性能下降。 在这个版本中,`os-net-config` 在默认情况下配置 `fail_mode=standalone`,从而在控制代理还没有启动时允许处理网络数据。因此,重启后的连接问题在此版本中将不会出现。
puppet-ceph
- BZ#1372804
在以前的版本中,Ceph Storage 节点使用本地文件系统(格式化为 `ext4`)作为 `ceph-osd` 服务的后端。 请注意,一些 Red Hat OpenStack Platform 9(Mitaka)的 `overcloud-full` 镜像以 `ext4` 而不是 `xfs` 的格式进行创建。 在 Jewel 版本中,`ceph-osd` 会检查后端所允许的文件名的最大长度。如果这个限制小于为 Ceph 本身配置的限制,它将拒绝启动。这个问题的一个解决方案是,登录到 Ceph Storage 节点,运行以下命令检查 `ceph-osd` 使用的文件系统: # df -l --output=fstype /var/lib/ceph/osd/ceph-$ID 其中的 $ID 是 OSD ID,例如: # df -l --output=fstype /var/lib/ceph/osd/ceph-0 请注意,一个 Ceph Storage 节点可能会包括多个 `ceph-osd` 实例,在这个情况下,`/var/lib/ceph/osd/ 目录中会包括多个子目录来分别代表不同的实例。 如果有*任何* OSD 实例使用 `ext4` 文件系统,则需要配置 Ceph 来使用较短的文件名。这可以通过使用一个额外的、包括以下内容的环境文件进行部署或升级来实现: parameter_defaults: ExtraConfig: ceph::profile::params::osd_max_object_name_len: 256 ceph::profile::params::osd_max_object_namespace_len: 64 作为结果,您现在就可以验证,在从 Red Hat OpenStack Platform 9 升级到 Red Hat OpenStack Platform 10 后,是否每个 `ceph-osd` 实例都已被运行。- BZ#1346401
现在,可以使用 SELinux 控制 'ceph-osd' 实例。在 OSP10 中,新的部署会在 Ceph Storage 节点上把 SELinux 配置为 'enforcing'。
- BZ#1370439
当在一个新的 overcloud 中重新使用以前集群中的 Ceph 节点时,新的 Ceph 集群会在 overcloud 部署的过程中失败,并且没有任何提示信息。这是因此,旧的 Ceph OSD 节点磁盘在重新被使用前需要被清理。这个版本的改进增加了对 Ceph OpenStack Puppet 模块的检查,从而确保磁盘可以如 OpenStack Platform 文档 [1] 所示被正确清理。现在,在发现有没有被清理的 OSD 磁盘时,overcloud 的部署过程会正确地以失败形式退出。'openstack stack failures list overcloud' 命令可以显示有不匹配 FSID 的磁盘。 [1] https://access.redhat.com/documentation/en/red-hat-openstack-platform/10/single/red-hat-ceph-storage-for-the-overcloud/#Formatting_Ceph_Storage_Nodes_Disks_to_GPT
puppet-cinder
- BZ#1356683
在环回设备配置和块存储节点上的 LVM 物理卷的检查之间存在竞争条件。 这导致主要的升级聚合步骤失败,因为 Puppet 无法检测到现有的 LVM 物理卷并尝试重新创建卷。 此修复程序会在设置完环回设备后等待 udev 事件完成。 这意味着,Puppet 在尝试检查现有 LVM 物理卷之前会等待环回设备配置完成。 具有 LVM 后端的块存储节点现在可以成功升级。
puppet-heat
- BZ#1381561
OpenStack Platform director 会超过使用 OpenStack Orchestration (heat) YAQL expression 的默认内存限制,这会导致在 overcloud 部署过程中出现 "Expression consumed too much memory" 错误,并造成部署失败。在这个版本中,为 director 增加了默认内存的限制,从而避免了因此问题造成部署失败的情况出现。
puppet-ironic
- BZ#1314665
以前,ironic-inspector 服务器没有包括可以和 UEFI bootloader 一起正常工作的 iPXE 版本。带有 UEFI bootloader 的机器无法链加载内省 ramdisk。在这个版本中,ironic-inspector 服务器包括了 ipxe.efi ROM,它会在内省的过程中更新 dnsmasq 配置并把它发送到基于 UEFI 的机器。现在,director 可以检查基于 BIOS 的机器和基于 UEFI 的机器。
puppet-tripleo
- BZ#1386611
在以前的版本中,因为缺少一个参数,rabbitmqctl 无法在 IPv6 环境中正常工作。在这个版本中,修正了 RabbitMQ Puppet 的配置,并把以前缺少的参数添加到 /etc/rabbitmq/rabbitmq-env.conf 中。现在,rabbitmqctl 可以在 IPv6 环境中正常工作。
- BZ#1389413
在以前的版本中,HAProxy 检查 MySQL 是否有问题的超时时间设置较长(16 秒),这会导致连接到有问题的 MySQL 节点的 OpenStack 服务会对 users/operators/tools 返回 API 错误。 在这个版本中,检查的间隔被缩短为 6 秒,有问题的 MySQL 节点会在 6 秒之内被弃用。因此,OpenStack 服务会在一个 MySQL 节点出现问题时,非常快地切换到正常运行的 MySQL 节点上,从而可以减少 API 错误的出现。
- BZ#1262070
现在,可以使用 director 把 Ceph RBD 配置为 Block Storage 备份的目的地。通过这个功能,可以部署一个 overcloud,而它的卷可以在一个 Ceph 上进行备份。默认情况下,卷的备份保存在一个名为 'backups' 的 Ceph 池中。 备份的设置在以下环境文件中配置(在 undercloud 中): /usr/share/openstack-tripleo-heat-templates/environments/cinder-backup.yaml
- BZ#1378391
以前,在 Pacemaker 中,Redis 和 RabbitMQ 的启动和停止的超时时间都是 120 秒。在一些环境中,这个值可能不足够长,从而导致重启失败。这个版本把超时时间增加到 120 秒,这和其它 systemd 资源的设置相同。现在,Redis 和 RabbitMQ 应该有足够的时间在大多数环境中成功重启。
- BZ#1279554
为 OpenStack Compute(nova)临时磁盘(ephemeral disk)使用 RBD 后端驱动(Ceph Storage)会对 libvirt 应用两个额外的设置: hw_disk_discard : unmap disk_cachemodes : network=writeback 这个设置将可以在 Ceph 池中重新获得没有使用的块,这可以提高使用 RBD 驱动的 OpenStack Compute 临时磁盘的性能。 请同时参阅 http://docs.ceph.com/docs/master/rbd/rbd-openstack/
python-cotyledon
- BZ#1374690
在以前的版本中,较老版本的 `cotyledon` 中有一个程序错误,它会导致 `metricsd` 无法正确启动并抛出追溯信息。 在这个版本中包括了新的 1.2.7-2 版本的 `cotyledon` 软件包。因此,不会再出现追溯信息,`metricsd` 可以正确启动。
python-django-horizon
python-django-openstack-auth
- BZ#1287586
在这个改进中,域范围的令牌可以被用来登录到 Dashboard(horizon)。 这个功能可以在需要使用域范围的令牌的负载角色集时,在 keystone v3 中完全支持对身份的管理。django_openstack_auth 必须支持在会话中获得并管理这种类型的令牌。 从 Red Hat OpenStack Platform 9 开始,horizon 支持域范围的令牌。
python-gnocchiclient
- BZ#1346370
这个版本为 OpenStack Telemetry Metrics(gnocchi)提供了最新版本的客户端来支持资源类型。
python-ironic-lib
- BZ#1381511
OpenStack Bare Metal(ironic)通过创建一个 configdrive 作为一个额外的主(primary)分区来为新节点提供用户数据。这需要在节点磁盘上有一个空闲的主分区。但是,一个存在的程序错误使得 OpenStack Bare Metal 无法区分主分区和扩展分区,从而会错误地认为没有可供 configdrive 使用的空闲分区。这个版本修正了这个错误,它可以区分主分区和扩展分区,部署过程不再会因为上面的问题出现错误。
- BZ#1387148
以前,OpenStack Bare Metal(ironic)在使用 configdrive 实现整个磁盘镜像时有一个错误,这会导致部署过程失败。在这个版本中修正了这个错误,现在可以使用 configdrive 部署整个磁盘镜像。
python-tripleoclient
- BZ#1364220
OpenStack Dashboard(horizon)被错误地包括在 director 用来在 OpenStack Identity(keystone)中创建端点所使用的服务列表中。在部署 overcloud 时会出现一个误导的 'Skipping "horizon" postconfig' 信息。在这个版本中,添加到 keystone 的端点服务列表中不再包括 horizon。"skipping postconfig" 信息只会在 debug 模式中出现,而误导的 'Skipping "horizon" postconfig' 信息将不会再出现。
- BZ#1383930
在使用 DHCP HA 时,应该通过可组合角色把 `NeutronDhcpAgentsPerNetwork` 的值设置为 dhcp-agents 的数量(如果这个数量小于 3)或 3。如果没有进行这个设置,它的值会被默认设置为 `ControllerCount` 的值,而这个值可能并不是最佳的,因为可能没有运行足够的 dhcp-agents 以满足为每个网络产生这么多数量的 DHCP 服务器。
- BZ#1384246
在以前的版本中,节点删除功能使用 Heat 的 'parameters' 而不是 'parameter_defaults',这会导致 Heat 重新部署包括那些可能不希望被重新部署的节点在内的节点。在这个版本中,节点删除功能只使用 'parameter_defaults',Heat 资源会被保留而不会被重新部署。
python-twisted
- BZ#1394150
因为缺少软件包的 "Obsoletes", python-twisted 软件包将无法作为 Red Hat OpenStack Platform 10 undercloud 安装的一部分被安装。这个改进包括了带有 "Obsoletes" 列表的打包信息,它会在安装 python-twisted 软件包时删除过时的软件包,并提供了无缝的更新和清理过程。 另外,也可以通过手工的方法来避免以上问题的出现:不要从 Red Hat Enterprise Linux 7.3 Optional 软件仓库安装任何 python-twisted-* 软件包,如 python-twisted-core。如果 undercloud 包括了这些过时的软件包,使用以下命令删除它们: $ yum erase python-twisted-*
rabbitmq-server
- BZ#1357522
RabbitMQ 被绑定到端口 35672,但是端口 35672 在一个临时的范围中,其它服务可能会打开同一个端口,这就会导致 RabbitMQ 启动失败。这个版本把 RabbitMQ 所使用的端口改为临时端口范围之外的端口 25672,没有其它服务会监听这个端口,RabbitMQ 可以被成功启动。
rhosp-release
- BZ#1317669
在这个版本中包括了一个发行版本文件,它包括了 OSP director 所部署的 overcloud 版本信息。这个安装版本信息对于故障排除会有帮助。overcloud-full 镜像包括了一个新的软件包 - rhosp-release。从较低版本进行升级时也会安装这个 RPM。从 OSP 10 开始,所有版本都会包括发行版本文件。这只适用于基于 Red Hat OpenStack Platform director 进行的安装,但是,用户也可以手工安装 rhosp-release 软件包来达到同样效果。
sahara-image-elements
- BZ#1371649
这个版本更新了 `sahara-image-element` 的主脚本来允许为支持的插件创建镜像。例如,可以使用以下命令来创建使用 Red Hat Enterprise Linux 7 的 CDH 5.7 镜像: ---- >> ./diskimage-create/diskimage-create.sh -p cloudera -v 5.7 Usage: diskimage-create.sh [-p cloudera|mapr|ambari] [-v 5.5|5.7|2.3|2.4] [-r 5.1.0] ----
