diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-09-14 16:05:36 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-09-14 16:05:36 +0000 |
| commit | a063ecb6925997687ec0eceaa9075d4468cbd974 (patch) | |
| tree | 16765e9b5730291a9ad8dc33136a4c0364656de0 /ansible | |
| parent | d3302a7e695dcb9f8f5c991a1722621a418b81b3 (diff) | |
| parent | 95c916aa5ef3d6a7a5c24bc5745cb7dd2aff6ef3 (diff) | |
| download | kolla-a063ecb6925997687ec0eceaa9075d4468cbd974.tar.gz kolla-a063ecb6925997687ec0eceaa9075d4468cbd974.zip | |
Merge "Allow Neutron to be run in DVR mode"
Diffstat (limited to 'ansible')
| -rw-r--r-- | ansible/group_vars/all.yml | 1 | ||||
| -rw-r--r-- | ansible/roles/neutron/tasks/do_reconfigure.yml | 14 | ||||
| -rw-r--r-- | ansible/roles/neutron/tasks/start.yml | 6 | ||||
| -rw-r--r-- | ansible/roles/neutron/templates/l3_agent.ini.j2 | 8 | ||||
| -rw-r--r-- | ansible/roles/neutron/templates/ml2_conf.ini.j2 | 4 | ||||
| -rw-r--r-- | ansible/roles/neutron/templates/neutron.conf.j2 | 6 |
6 files changed, 33 insertions, 6 deletions
diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 1b9dff1b8..350ddce47 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -256,6 +256,7 @@ enable_mistral: "no" enable_mongodb: "no" enable_multipathd: "no" enable_murano: "no" +enable_neutron_dvr: "no" enable_neutron_lbaas: "no" enable_neutron_qos: "no" enable_neutron_agent_ha: "no" diff --git a/ansible/roles/neutron/tasks/do_reconfigure.yml b/ansible/roles/neutron/tasks/do_reconfigure.yml index adebc233a..d80e827d6 100644 --- a/ansible/roles/neutron/tasks/do_reconfigure.yml +++ b/ansible/roles/neutron/tasks/do_reconfigure.yml @@ -12,8 +12,10 @@ - { name: neutron_server, group: neutron-server } - { name: neutron_dhcp_agent, group: neutron-dhcp-agent } - { name: neutron_l3_agent, group: neutron-l3-agent } + - { name: neutron_l3_agent, group: compute, enabled: "{{ enable_neutron_dvr | bool }}" } - { name: neutron_lbaas_agent, group: neutron-lbaas-agent, enabled: "{{ enable_neutron_lbaas | bool }}" } - { name: neutron_metadata_agent, group: neutron-metadata-agent } + - { name: neutron_metadata_agent, group: compute, enabled: "{{ enable_neutron_dvr | bool }}" } - name: Ensuring the neutron_openvswitch_agent container is up kolla_docker: @@ -69,8 +71,10 @@ - { name: neutron_server, group: neutron-server } - { name: neutron_dhcp_agent, group: neutron-dhcp-agent } - { name: neutron_l3_agent, group: neutron-l3-agent } + - { name: neutron_l3_agent, group: compute, enabled: "{{ enable_neutron_dvr | bool }}" } - { name: neutron_lbaas_agent, group: neutron-lbaas-agent, enabled: "{{ enable_neutron_lbaas | bool }}" } - { name: neutron_metadata_agent, group: neutron-metadata-agent } + - { name: neutron_metadata_agent, group: compute, enabled: "{{ enable_neutron_dvr | bool }}" } - name: Check the configs in the neutron_openvswitch_agent container command: docker exec neutron_openvswitch_agent /usr/local/bin/kolla_set_configs --check @@ -125,8 +129,10 @@ - { name: neutron_server, group: neutron-server } - { name: neutron_dhcp_agent, group: neutron-dhcp-agent } - { name: neutron_l3_agent, group: neutron-l3-agent } + - { name: neutron_l3_agent, group: compute, enabled: "{{ enable_neutron_dvr | bool }}" } - { name: neutron_lbaas_agent, group: neutron-lbaas-agent, enabled: "{{ enable_neutron_lbaas | bool }}" } - { name: neutron_metadata_agent, group: neutron-metadata-agent } + - { name: neutron_metadata_agent, group: compute, enabled: "{{ enable_neutron_dvr | bool }}" } - name: Container config strategy for the neutron_openvswitch_agent container kolla_docker: @@ -180,8 +186,10 @@ - [{ name: neutron_server, group: neutron-server }, { name: neutron_dhcp_agent, group: neutron-dhcp-agent }, { name: neutron_l3_agent, group: neutron-l3-agent }, + { name: neutron_l3_agent, group: compute, enabled: "{{ enable_neutron_dvr | bool }}" }, { name: neutron_lbaas_agent, group: neutron-lbaas-agent, enabled: "{{ enable_neutron_lbaas | bool }}" }, - { name: neutron_metadata_agent, group: neutron-metadata-agent }] + { name: neutron_metadata_agent, group: neutron-metadata-agent }, + { name: neutron_metadata_agent, group: compute, enabled: "{{ enable_neutron_dvr | bool }}" }] - "{{ neutron_container_envs.results }}" - "{{ neutron_check_results.results }}" @@ -246,8 +254,10 @@ - [{ name: neutron_server, group: neutron-server }, { name: neutron_dhcp_agent, group: neutron-dhcp-agent }, { name: neutron_l3_agent, group: neutron-l3-agent }, + { name: neutron_l3_agent, group: compute, enabled: "{{ enable_neutron_dvr | bool }}" }, { name: neutron_lbaas_agent, group: neutron-lbaas-agent, enabled: "{{ enable_neutron_lbaas | bool }}" }, - { name: neutron_metadata_agent, group: neutron-metadata-agent }] + { name: neutron_metadata_agent, group: neutron-metadata-agent }, + { name: neutron_metadata_agent, group: compute, enabled: "{{ enable_neutron_dvr | bool }}" }] - "{{ neutron_container_envs.results }}" - "{{ neutron_check_results.results }}" diff --git a/ansible/roles/neutron/tasks/start.yml b/ansible/roles/neutron/tasks/start.yml index 0d29efe25..df5765b16 100644 --- a/ansible/roles/neutron/tasks/start.yml +++ b/ansible/roles/neutron/tasks/start.yml @@ -185,7 +185,8 @@ - "neutron_metadata_socket:/var/lib/neutron/kolla/" - "kolla_logs:/var/log/kolla/" when: - - inventory_hostname in groups['neutron-l3-agent'] + - (inventory_hostname in groups['neutron-l3-agent'] + or (inventory_hostname in groups['compute'] and enable_neutron_dvr | bool)) - name: Starting neutron-lbaas-agent container kolla_docker: @@ -219,4 +220,5 @@ - "neutron_metadata_socket:/var/lib/neutron/kolla/" - "kolla_logs:/var/log/kolla/" when: - - inventory_hostname in groups['neutron-metadata-agent'] + - (inventory_hostname in groups['neutron-metadata-agent'] + or (inventory_hostname in groups['compute'] and enable_neutron_dvr | bool)) diff --git a/ansible/roles/neutron/templates/l3_agent.ini.j2 b/ansible/roles/neutron/templates/l3_agent.ini.j2 index 1bb7234ee..b8a165bfa 100644 --- a/ansible/roles/neutron/templates/l3_agent.ini.j2 +++ b/ansible/roles/neutron/templates/l3_agent.ini.j2 @@ -1,4 +1,12 @@ # l3_agent.ini [DEFAULT] +{% if enable_neutron_dvr | bool %} + {% if inventory_hostname in groups['network'] %} +agent_mode = dvr_snat + {% elif inventory_hostname in groups['compute'] %} +agent_mode = dvr + {% endif %} +{% else %} agent_mode = legacy +{% endif %} external_network_bridge = diff --git a/ansible/roles/neutron/templates/ml2_conf.ini.j2 b/ansible/roles/neutron/templates/ml2_conf.ini.j2 index a8f656023..27e98137f 100644 --- a/ansible/roles/neutron/templates/ml2_conf.ini.j2 +++ b/ansible/roles/neutron/templates/ml2_conf.ini.j2 @@ -50,6 +50,10 @@ tunnel_types = vxlan l2_population = true arp_responder = true +{% if enable_neutron_dvr | bool %} +enable_distributed_routing = True +{% endif %} + [ovs] bridge_mappings = physnet1:{{ neutron_bridge_name }} ovsdb_connection = tcp:{{ api_interface_address }}:6640 diff --git a/ansible/roles/neutron/templates/neutron.conf.j2 b/ansible/roles/neutron/templates/neutron.conf.j2 index 87dfb4729..be930858b 100644 --- a/ansible/roles/neutron/templates/neutron.conf.j2 +++ b/ansible/roles/neutron/templates/neutron.conf.j2 @@ -46,13 +46,15 @@ min_l3_agents_per_router = {{ min_l3_agents_per_router }} transport_url = rabbit://{% for host in groups['rabbitmq'] %}{{ rabbitmq_user }}:{{ rabbitmq_password }}@{% if orchestration_engine == 'KUBERNETES' %}rabbitmq{% else %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}{% endif %}:{{ rabbitmq_port }}{% if not loop.last %},{% endif %}{% endfor %} +{% if enable_neutron_dvr | bool %} +router_distributed = True +{% endif %} + {% if enable_neutron_lbaas | bool %} [service_providers] service_provider = LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default {% endif %} -transport_url = rabbit://{% for host in groups['rabbitmq'] %}{{ rabbitmq_user }}:{{ rabbitmq_password }}@{% if orchestration_engine == 'KUBERNETES' %}rabbitmq{% else %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}{% endif %}:{{ rabbitmq_port }}{% if not loop.last %},{% endif %}{% endfor %} - [nova] auth_url = {{ keystone_admin_url }} auth_type = password |
