第 3 章 发行信息

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

3.1. 改进

这个 Red Hat Enterprise Linux OpenStack Platform 发行版本包括了以下改进:
BZ#1228419
director 提供了一个把不同的网络服务在独立的子网和 VLAN 中进行分离的方法。相关的信息包括在 Red Hat Enterprise Linux OpenStack Platform 7.0 Director 安装和使用指南中。
BZ#1230450
这个发行版本为管理默认 overcloud neutron 租户网络行为提供了 4 个参数:--neutron-network-type、--neutron-tunnel-types、--neutron-disable-tunneling 和 --neutron-network-vlan-ranges。它的默认设置是为 overcloud 租户网络提供 GRE 类型和通道(tunnel)。

如果把 --neutron-network-type 设置为 'vlan',您将可以通过设置 --neutron-network-vlan-ranges 参数来管理分配给 overcloud Neutron 租户网络的 VLAD ID 的范围(默认值是 "datacenter:1:1000",其中的 "datacenter" 是 VLAN 要被分配到的 Neutron 物理网络的名称)。如果把网络类型只设置为 'vlan',--neutron-disable-tunneling 需要被同时指定(参见以下示例)。

如果把 --neutron-network-type 设置为 'gre' 或 'vxlan'(或两个都被设置),则相关的 --neutron-tunnel-types 参数也需要被启用(参见以下示例)。另外,如果把网络类型设置为 'gre' 或 'vxlan',您还可以通过设置相关的 --neutron-tunnel-id-ranges 和 --neutron-vni-ranges 参数来分别管理 GRE 和 VXLAN 的通道 ID。

示例:
* 为 overcloud 租户网络指定 'vxlan' 类型:
openstack overcloud deploy --plan overcloud --control-scale 3 --compute-scale 2  --neutron-network-type "vxlan" --neutron-tunnel-types "vxlan"

* 为 overcloud 租户网络指定 'gre' 和 'vxlan' 类型:
openstack overcloud deploy --plan overcloud --control-scale 3 --compute-scale 2  --neutron-network-type "gre,vxlan" --neutron-tunnel-types "gre,vxlan"

* 为 overcloud 租户网络指定 'vlan' 类型,并同时设置 VLAN 的范围:
openstack overcloud deploy --plan overcloud --control-scale 3 --compute-scale 2  --neutron-network-type "vlan" --neutron-disable-tunneling --neutron-network-vlan-ranges "datacenter:3:3000"

如果在部署时没有指定这些参数,它们会被设置为以下的默认值。这些默认值可能会不适用于具体的部署环境:

--neutron-network-type # default 'gre'
--neutron-tunnel-types # default 'gre'
--neutron-disable-tunneling # defaults to tunneling being enabled
--neutron-network-vlan-ranges # 'datacenter:1:1000'

在部署完成后,您可以检查控制器节点(contorller node)的 Neutron 配置日志来确定以下是否已被配置:

grep -rni 'tunnel_types\|network_type\|enable_tunneling\|vlan_ranges' /etc/neutron/*
/etc/neutron/plugin.ini:14:tenant_network_types = vlan
/etc/neutron/plugin.ini:72:network_vlan_ranges =datacenter:3:3000
/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini:54:enable_tunneling=False
/etc/neutron/plugins/ml2/ml2_conf.ini:14:tenant_network_types = vlan
/etc/neutron/plugins/ml2/ml2_conf.ini:72:network_vlan_ranges =datacenter:3:3000

另外,您可以在 overcloud Neutron 上创建一个网络并检查它。例如,在 undercloud 上:

$ source overcloudrc
$ neutron net-create "default"
$ neutron net-show default
...
| provider:network_type     | vlan                                 |
| provider:physical_network | datacenter                           |
| provider:segmentation_id  | 3                                    |
...
BZ#1232439
在这个发行版本中,增加了可以为独立的网络分配特定 IP 地址范围的功能.

现在,可以通过在 Overcloud Orchestration 模板中设置以下参数来指定 IP 地址分配:

* InternalApiAllocationPools
* StorageAllocationPools
* StorageMgmtAllocationPools
* TenantAllocationPools
* ExternalAllocationPools
BZ#1232461
在这个发行版本中,您可以配置 Compute VNC 代理网络。通过这个功能,您可以分离不同的网络,并可以指定哪个服务需要在哪里运行。

现在,通过设置 Overcloud Orchestration 模板中的 ServiceNetMap -> NovaVncProxyNetwork 参数,可以指定哪个网络可以作为 Compute VNC 代理使用。
BZ#1232485
在这个发行版本中,Heat 模板增加了 VLAN 标识符和 OVS 绑定选项,这可以减少重复的配置。Heat 模板现在包括了以下参数:BondInterfaceOvsOptions、StorageNetworkVlanID、StorageMgmtNetworkVlanID、InternalApiNetworkVlanID、TenantNetworkVlanID 和 ExternalNetworkVlanID。
BZ#1237145
在这个发行版本中,为 Block Storage 服务增加了 NFS 后端,从而使它可以提供更多的 Block Storage 后端选择。

现在,Overcloud Block Storage 服务可以被配置为带有以下参数的 NFS 后端:

* CinderEnableNfsBackend
* CinderNfsMountOptions
* CinderNfsServers
BZ#1237235
OpenStack Dashboard(Horizon)现在成为了高可用性架构的一部分。现在,Dashboard 是一个由 Pacemaker 管理的资源。
BZ#1240631
在这个发行版本中,可以设置 neutron_tunnel_id_ranges 和 neutron_vni_ranges 参数来分别管理 GRE 和 VXLAN 的通道 ID。通过 overcloud Neutron,它们可以应用到 overcloud 租户网络。例如:

# openstack overcloud deploy --plan overcloud --control-scale 3 --compute-scale 1  --neutron-tunnel-id-ranges "1:1111,2:2222" --neutron-vni-ranges "3:33,5:55,100:999" --neutron-tunnel-types "gre,vxlan"

如果没有指定,tunnel_id_ranges 和 neutron_vni_ranges 的默认值都会是 "1:1000",这可能不适用于特定的部署环境。

如果使用了以上示例中的设置,您可以在部署完成后,在控制器节点上的相关 neutron 配置文件中进行检查和验证,例如:

# grep -rni 'vni_ranges\|id_ranges\|tunnel_types' /etc/neutron/*
/etc/neutron/plugin.ini:78:tunnel_id_ranges =1:1111,2:2222
/etc/neutron/plugin.ini:85:vni_ranges =3:33,5:55,100:999
/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini:77:tunnel_types =gre,vxlan
/etc/neutron/plugins/ml2/ml2_conf.ini:78:tunnel_id_ranges =1:1111,2:2222
/etc/neutron/plugins/ml2/ml2_conf.ini:85:vni_ranges =3:33,5:55,100:999

您也可以在部署完成后,通过创建一个 overcloud 网络进行测试,例如:

# source overcloudrc # from the undercloud box for example
# neutron net-create --provider:network_type "vxlan" "foo"

这会创建一个类型为 vxlan 的网络。您可以检查它是否从指定的 vni_ranges 中接收到一个分段 ID:

# neutron net-show foo
| provider:network_type     | vxlan
| provider:segmentation_id  | 3

同样,您也可以检查 GRE 网络是否被分配了适当的分段 ID。
BZ#1242967
除了使用数据库中的计划,现在 director 还可以使用 Heat 模板集合来创建一个 Overcloud。这个功能提供了一个在运行 "openstack overcloud stack update" 命令来更新 Overcloud 中的软件包时直接使用 Heat 模板的方法。如果您使用模板集合而不是计划创建 Overcloud,在运行 "openstack overcloud stack update" 命令时使用 "--templates" 参数替代 "--plan" 参数。
BZ#1242973
现在,director 提供了一个参数来在更新 Overcloud 节点上的软件包时接收格外的 Heat 环境文件。Overcloud 分离的网络在创建以及以后的更新过程中需要额外的环境文件,如果没有这些环境文件,用户将无法在带有分离网络的 Overcloud 中使用 "openstack overcloud update stack" 命令。现在,用户可以在 "openstack overcloud update stack" 命令中使用 "-e" 参数来解决这个问题。
BZ#1242989
在这个发行版本中,用户可以在删除 overcloud 节点时直接使用 Heat 模板。现在,如果在部署 overcloud 时没有使用 Tuskar,则可以在运行 "openstack overcloud node delete" 命令时使用 "--templates" 参数。
BZ#1242990
在这个发行版本中增加了一个新功能 - 在从 overcloud 中删除一个节点时可以接受额外的 Heat 环境文件。当在一个分离的网络中进行 overcloud 更新时,额外的环境文件需要被传递给 Heat。现在,"openstack overcloud node delete" 命令可以被用来在一个分离的网络中删除 overcloud 节点。