8.4. 启用 networking-ansible ML2 功能
要在 overcloud 中启用 networking-ansible
ML2 驱动程序,您必须在部署中添加两个环境文件:
/usr/share/openstack-tripleo-heat-templates/environments/neutron-ml2-ansible.yaml
-
此文件启用
networking-ansible
驱动程序,并将网络类型设置为vlan
。此文件已存在于核心 heat 模板集合中。 /home/stack/templates/ml2-ansible-hosts.yaml
- 包含交换机详情的文件。您可以手动创建这个文件。
流程
创建
/home/stack/templates/ml2-ansible-hosts.yaml
并添加以下内容:parameter_defaults: ML2HostConfigs:
ML2HostConfigs
参数需要一个dict
值,其中包含有关您的交换机的详细信息。字典中的每个初始密钥
都是交换机的名称。此值在 OpenStack Networking (neutron) ML2 配置中定义一个特定的ansible:[switchname]
部分。每个切换名称键都需要自己的包含
实际交换机详情的字典。例如,要配置三个交换机,请添加三个切换键:parameter_defaults: ML2HostConfigs: switch1: [SWITCH DETAILS] switch2: [SWITCH DETAILS] switch3: [SWITCH DETAILS]
每个切换都需要在
dict
ion 中需要特定的键值对:ansible_network_os
(必需)交换机的操作系统。选项包括
junos
和eos
。重要本发行版本中提供了 Arista Extensible Operating System (
eos
)支持,它还 是一个技术预览,因此不享有红帽的全面支持。它只应用于测试,不应部署在生产环境中。有关技术预览功能的更多信息,请参阅覆盖范围详细信息。ansible_host
- (必需)交换机的 IP 或主机名。
ansible_user
- (必需)Ansible 用来访问交换机的用户。
ansible_ssh_pass
- (必需)Ansible 用来访问交换机的 SSH 密码。
mac
-
网络设备的 chassis MAC ID。用于将链路层发现协议(LLDP) MAC 地址值映射到
ML2HostConfigs
配置中定义的交换机名称。这是使用内省执行自动端口配置时所需的值。 manage_vlans
-
一个布尔值变量,用于定义 OpenStack Networking (neutron)是否控制物理设备上的 VLAN 的创建和删除。此功能使得交换机能够创建和删除 ID 与其 Neutron 网络对应的 VLAN。如果您在交换机上预定义了这些 VLAN,且不需要 Neutron 在交换机上创建或删除 VLAN,则将此参数设置为
false
。默认值为true
。
以下示例演示了如何将这些值映射到完整
ML2HostConfigs
参数中对应的键:parameter_defaults: ML2HostConfigs: switch1: ansible_network_os: juno ansible_host: 10.0.0.1 ansible_user: ansible ansible_ssh_pass: "p@55w0rd!" mac: 01:23:45:67:89:AB manage_vlans: false
-
保存
/home/stack/templates/ml2-ansible-hosts.yaml
文件。 运行 overcloud 部署命令时,请使用
-e
选项包括/usr/share/openstack-tripleo-heat-templates/environments/neutron-ml2-ansible.yaml
和/home/stack/templates/ml2-ansible-hosts.yaml
文件。以下示例演示了如何包含这些文件:$ openstack overcloud deploy --templates \ ... -e /usr/share/openstack-tripleo-heat-templates/environments/neutron-ml2-ansible.yaml \ -e /home/stack/templates/ml2-ansible-hosts.yaml \ ...
director 将驱动程序作为 neutron_api
容器上的 OpenStack Networking (neutron) API 的一部分启用。