
Currently Kolla operators are restricted to configuring one physical network (physnet1). This change along with ml2_conf.ini augmentation can be used to setup multiple physical networks in openvswitch. E.g. To configure two physical networks, physnet1 and physnet2, with ports eth1 and eth2 associated respectively: In /etc/kolla/globals.yml, set neutron_bridge_name: "br-ex,br-ex2" neutron_external_interface: "eth1,eth2" In /etc/kolla/config/neutron/ml2_conf.ini [ovs] bridge_mappings = physnet1:br-ex,physnet2:br-ex2 Co-Authored-By: Mick Thompson <michael.a.thompson@oracle.com> Closes-Bug: #1625700 DocImpact Change-Id: I9454ca98d9b058368129123109ccc56f95519874
303 lines
12 KiB
YAML
303 lines
12 KiB
YAML
---
|
|
- name: Starting openvswitch-db container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ openvswitch_db_image_full }}"
|
|
name: "openvswitch_db"
|
|
volumes:
|
|
- "{{ node_config_directory }}/openvswitch-db-server/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/run:/run"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
- "openvswitch_db:/var/lib/openvswitch/"
|
|
when:
|
|
- (inventory_hostname in groups['compute']
|
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
|
or inventory_hostname in groups['neutron-l3-agent']
|
|
or inventory_hostname in groups['neutron-metadata-agent']
|
|
or inventory_hostname in groups['neutron-vpnaas-agent'])
|
|
- neutron_plugin_agent == "openvswitch"
|
|
|
|
- name: Waiting the openvswitch_db service to be ready
|
|
command: docker exec openvswitch_db ovs-vsctl --no-wait show
|
|
register: check_result
|
|
until: check_result | success
|
|
changed_when: False
|
|
retries: 30
|
|
delay: 2
|
|
when:
|
|
- (inventory_hostname in groups['compute']
|
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
|
or inventory_hostname in groups['neutron-l3-agent']
|
|
or inventory_hostname in groups['neutron-metadata-agent']
|
|
or inventory_hostname in groups['neutron-vpnaas-agent'])
|
|
- neutron_plugin_agent == "openvswitch"
|
|
|
|
- name: Ensuring OVS bridge is properly setup
|
|
command: docker exec openvswitch_db /usr/local/bin/kolla_ensure_openvswitch_configured {{ item.0 }} {{ item.1 }}
|
|
register: status
|
|
changed_when: status.stdout.find('changed') != -1
|
|
when:
|
|
- (inventory_hostname in groups['compute']
|
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
|
or inventory_hostname in groups['neutron-l3-agent']
|
|
or inventory_hostname in groups['neutron-metadata-agent']
|
|
or inventory_hostname in groups['neutron-vpnaas-agent'])
|
|
- neutron_plugin_agent == "openvswitch"
|
|
with_together:
|
|
- "{{ neutron_bridge_name.split(',') }}"
|
|
- "{{ neutron_external_interface.split(',') }}"
|
|
|
|
- name: Starting openvswitch-vswitchd container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ openvswitch_vswitchd_image_full }}"
|
|
name: "openvswitch_vswitchd"
|
|
privileged: True
|
|
volumes:
|
|
- "{{ node_config_directory }}/openvswitch-vswitchd/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/lib/modules:/lib/modules:ro"
|
|
- "/run:/run"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
when:
|
|
- (inventory_hostname in groups['compute']
|
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
|
or inventory_hostname in groups['neutron-l3-agent']
|
|
or inventory_hostname in groups['neutron-metadata-agent']
|
|
or inventory_hostname in groups['neutron-vpnaas-agent'])
|
|
- neutron_plugin_agent == "openvswitch"
|
|
|
|
- name: Starting neutron-server container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ neutron_server_image_full }}"
|
|
name: "neutron_server"
|
|
volumes:
|
|
- "{{ node_config_directory }}/neutron-server/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
when: inventory_hostname in groups['neutron-server']
|
|
|
|
- name: Starting neutron-openvswitch-agent container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ neutron_openvswitch_agent_image_full }}"
|
|
name: "neutron_openvswitch_agent"
|
|
privileged: True
|
|
volumes:
|
|
- "{{ node_config_directory }}/neutron-openvswitch-agent/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/lib/modules:/lib/modules:ro"
|
|
- "/run:/run"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
when:
|
|
- (
|
|
( inventory_hostname in groups['compute']
|
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
|
or inventory_hostname in groups['neutron-l3-agent']
|
|
or inventory_hostname in groups['neutron-metadata-agent']
|
|
or inventory_hostname in groups['neutron-vpnaas-agent']
|
|
and not enable_nova_fake | bool
|
|
) or
|
|
( inventory_hostname in groups['neutron-dhcp-agent']
|
|
or inventory_hostname in groups['neutron-l3-agent']
|
|
or inventory_hostname in groups['neutron-metadata-agent']
|
|
or inventory_hostname in groups['neutron-vpnaas-agent']
|
|
and enable_nova_fake | bool
|
|
)
|
|
)
|
|
- neutron_plugin_agent == "openvswitch"
|
|
|
|
- name: Starting neutron-sfc-agent container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ neutron_sfc_agent_image_full }}"
|
|
name: "neutron_sfc_agent"
|
|
privileged: True
|
|
volumes:
|
|
- "{{ node_config_directory }}/neutron-sfc-agent/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/lib/modules:/lib/modules:ro"
|
|
- "/run:/run"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
when:
|
|
- (
|
|
( inventory_hostname in groups['compute']
|
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
|
or inventory_hostname in groups['neutron-l3-agent']
|
|
or inventory_hostname in groups['neutron-metadata-agent']
|
|
and not enable_nova_fake | bool
|
|
) or
|
|
( inventory_hostname in groups['neutron-dhcp-agent']
|
|
or inventory_hostname in groups['neutron-l3-agent']
|
|
or inventory_hostname in groups['neutron-metadata-agent']
|
|
and enable_nova_fake | bool
|
|
)
|
|
)
|
|
- neutron_plugin_agent == "sfc"
|
|
|
|
- name: Starting neutron-openvswitch-agent container for fake nova compute
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ neutron_openvswitch_agent_image_full }}"
|
|
name: "neutron_openvswitch_agent_fake_{{ item }}"
|
|
privileged: True
|
|
volumes:
|
|
- "{{ node_config_directory }}/neutron-openvswitch-agent-fake-{{ item }}/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/lib/modules:/lib/modules:ro"
|
|
- "/run:/run"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
with_sequence: start=1 end={{ num_nova_fake_per_node }}
|
|
when:
|
|
- inventory_hostname in groups['compute']
|
|
- neutron_plugin_agent == "openvswitch"
|
|
- enable_nova_fake | bool
|
|
|
|
- name: Starting neutron-sfc-agent container for fake nova compute
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ neutron_sfc_agent_image_full }}"
|
|
name: "neutron_sfc_agent_fake_{{ item }}"
|
|
privileged: True
|
|
volumes:
|
|
- "{{ node_config_directory }}/neutron-sfc-agent-fake-{{ item }}/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/lib/modules:/lib/modules:ro"
|
|
- "/run:/run"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
with_sequence: start=1 end={{ num_nova_fake_per_node }}
|
|
when:
|
|
- inventory_hostname in groups['compute']
|
|
- neutron_plugin_agent == "sfc"
|
|
- enable_nova_fake | bool
|
|
|
|
- name: Starting neutron-linuxbridge-agent container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
environment:
|
|
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
|
|
NEUTRON_BRIDGE: "br-ex"
|
|
NEUTRON_INTERFACE: "{{ neutron_external_interface }}"
|
|
image: "{{ neutron_linuxbridge_agent_image_full }}"
|
|
name: "neutron_linuxbridge_agent"
|
|
privileged: True
|
|
volumes:
|
|
- "{{ node_config_directory }}/neutron-linuxbridge-agent/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/lib/modules:/lib/modules:ro"
|
|
- "/run:/run"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
when:
|
|
- (inventory_hostname in groups['compute']
|
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
|
or inventory_hostname in groups['neutron-l3-agent']
|
|
or inventory_hostname in groups['neutron-metadata-agent']
|
|
or inventory_hostname in groups['neutron-vpnaas-agent'])
|
|
- neutron_plugin_agent == "linuxbridge"
|
|
|
|
- name: Starting neutron-dhcp-agent container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ neutron_dhcp_agent_image_full }}"
|
|
name: "neutron_dhcp_agent"
|
|
privileged: True
|
|
volumes:
|
|
- "{{ node_config_directory }}/neutron-dhcp-agent/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/run/:/run/"
|
|
- "/run/netns/:/run/netns/:shared"
|
|
- "neutron_metadata_socket:/var/lib/neutron/kolla/"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
when:
|
|
- inventory_hostname in groups['neutron-dhcp-agent']
|
|
|
|
- name: Starting neutron-l3-agent container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ neutron_l3_agent_image_full }}"
|
|
name: "neutron_l3_agent"
|
|
privileged: True
|
|
volumes:
|
|
- "{{ node_config_directory }}/neutron-l3-agent/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/run:/run"
|
|
- "/run/netns/:/run/netns/:shared"
|
|
- "neutron_metadata_socket:/var/lib/neutron/kolla/"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
when:
|
|
- (inventory_hostname in groups['neutron-l3-agent']
|
|
or (inventory_hostname in groups['compute'] and enable_neutron_dvr | bool))
|
|
- not enable_neutron_vpnaas | bool
|
|
|
|
- name: Starting neutron-lbaas-agent container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ neutron_lbaas_agent_image_full }}"
|
|
name: "neutron_lbaas_agent"
|
|
privileged: True
|
|
volumes:
|
|
- "{{ node_config_directory }}/neutron-lbaas-agent/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/run:/run"
|
|
- "/run/netns/:/run/netns/:shared"
|
|
- "neutron_metadata_socket:/var/lib/neutron/kolla/"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
when:
|
|
- enable_neutron_lbaas | bool
|
|
- inventory_hostname in groups['neutron-lbaas-agent']
|
|
|
|
- name: Starting neutron-metadata-agent container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ neutron_metadata_agent_image_full }}"
|
|
name: "neutron_metadata_agent"
|
|
privileged: True
|
|
volumes:
|
|
- "{{ node_config_directory }}/neutron-metadata-agent/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/run/netns/:/run/netns/:shared"
|
|
- "neutron_metadata_socket:/var/lib/neutron/kolla/"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
when:
|
|
- (inventory_hostname in groups['neutron-metadata-agent']
|
|
or (inventory_hostname in groups['compute'] and enable_neutron_dvr | bool))
|
|
|
|
- name: Starting neutron-vpnaas-agent container
|
|
kolla_docker:
|
|
action: "start_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
image: "{{ neutron_vpnaas_agent_image_full }}"
|
|
name: "neutron_vpnaas_agent"
|
|
privileged: True
|
|
volumes:
|
|
- "{{ node_config_directory }}/neutron-vpnaas-agent/:{{ container_config_directory }}/:ro"
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/run:/run"
|
|
- "/run/netns/:/run/netns/:shared"
|
|
- "neutron_metadata_socket:/var/lib/neutron/kolla/"
|
|
- "kolla_logs:/var/log/kolla/"
|
|
when:
|
|
- enable_neutron_vpnaas | bool
|
|
- inventory_hostname in groups['neutron-vpnaas-agent']
|