26be2c5af3
For VLAN networks we need to use a tagged Linux bridge on the controller with a veth pair to link it to the corresponding Neutron OVS bridge. This must be done for the physical network(s) carrying the provisioning, tenant, and external network traffic. We also need untagged VLAN subinterfaces on the tagged bridge for the controller to communicate on these networks with. The network interface role in use requires that we use two passes through interface configuration to ensure that VLAN subinterfaces can be added to bridge interfaces. Finally, we must configure Ironic with the name of the Neutron network used for provisioning.
24 lines
1.1 KiB
YAML
24 lines
1.1 KiB
YAML
---
|
|
- name: Ensure provisioning network and subnet are registered in neutron
|
|
# Only required to run on a single host.
|
|
hosts: controllers[0]
|
|
vars:
|
|
venv: "{{ ansible_env.PWD }}/shade-venv"
|
|
roles:
|
|
- role: neutron-net
|
|
neutron_net_venv: "{{ venv }}"
|
|
neutron_net_openstack_auth_type: "{{ openstack_auth_type }}"
|
|
neutron_net_openstack_auth: "{{ openstack_auth }}"
|
|
# Network configuration.
|
|
neutron_net_name: "{{ kolla_ironic_provisioning_network }}"
|
|
neutron_net_type: "{% if provision_wl_net_name | net_vlan %}vlan{% else %}flat{% endif %}"
|
|
neutron_net_physical_network: "physnet1"
|
|
neutron_net_segmentation_id: "{{ provision_wl_net_name | net_vlan }}"
|
|
neutron_net_shared: True
|
|
# Subnet configuration.
|
|
neutron_net_subnet_name: "{{ kolla_ironic_provisioning_network }}"
|
|
neutron_net_cidr: "{{ provision_wl_net_name | net_cidr }}"
|
|
neutron_net_gateway_ip: "{{ provision_wl_net_name | net_gateway }}"
|
|
neutron_net_allocation_pool_start: "{{ provision_wl_net_name | net_allocation_pool_start }}"
|
|
neutron_net_allocation_pool_end: "{{ provision_wl_net_name | net_allocation_pool_end }}"
|