第 3 章 发行信息
本发行注记包括了在部署 Red Hat OpenStack Platform 时需要考虑的信息,如技术预览项、推荐的最佳方案、已知问题、过时的功能等。
在本 Red Hat OpenStack Platform 发行版本的产品支持周期内,每个更新版本的备注都会包括在相应的公告或 Red Hat OpenStack Platform Technical Notes 中。相应文档包括在以下网页中:
3.1. 改进
这个 Red Hat OpenStack Platform 发行版本包括了以下改进:
- 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。