Skip to content

Commit

Permalink
Integrate neutron-vpnaas-agent into the neutron Ansible role
Browse files Browse the repository at this point in the history
Implements: blueprint neutron-vpnaas-agent
Co-Authored-By: zhubingbing <zhubingbing10@gmail.com>
Change-Id: I1fae21f48d5beef47934aef7c23910536955f2b8
  • Loading branch information
Christian Berendt and zhubingbing committed Sep 15, 2016
1 parent 37ec5ec commit be0fcb5
Show file tree
Hide file tree
Showing 21 changed files with 215 additions and 19 deletions.
1 change: 1 addition & 0 deletions ansible/group_vars/all.yml
Expand Up @@ -257,6 +257,7 @@ enable_mistral: "no"
enable_mongodb: "no"
enable_multipathd: "no"
enable_murano: "no"
enable_neutron_vpnaas: "no"
enable_neutron_dvr: "no"
enable_neutron_lbaas: "no"
enable_neutron_qos: "no"
Expand Down
3 changes: 3 additions & 0 deletions ansible/inventory/all-in-one
Expand Up @@ -184,6 +184,9 @@ neutron
[neutron-metadata-agent:children]
neutron

[neutron-vpnaas-agent:children]
neutron

# Cinder
[cinder-api:children]
cinder
Expand Down
3 changes: 3 additions & 0 deletions ansible/inventory/multinode
Expand Up @@ -202,6 +202,9 @@ neutron
[neutron-metadata-agent:children]
neutron

[neutron-vpnaas-agent:children]
neutron

# Cinder
[cinder-api:children]
cinder
Expand Down
4 changes: 4 additions & 0 deletions ansible/roles/neutron/defaults/main.yml
Expand Up @@ -44,6 +44,10 @@ neutron_server_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{
neutron_server_tag: "{{ openstack_release }}"
neutron_server_image_full: "{{ neutron_server_image }}:{{ neutron_server_tag }}"

neutron_vpnaas_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-vpnaas-agent"
neutron_vpnaas_agent_tag: "{{ openstack_release }}"
neutron_vpnaas_agent_image_full: "{{ neutron_vpnaas_agent_image }}:{{ neutron_vpnaas_agent_tag }}"

openvswitch_db_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-openvswitch-db-server"
openvswitch_db_tag: "{{ openstack_release }}"
openvswitch_db_image_full: "{{ openvswitch_db_image }}:{{ openvswitch_db_tag }}"
Expand Down
23 changes: 23 additions & 0 deletions ansible/roles/neutron/tasks/bootstrap_service.yml
Expand Up @@ -41,3 +41,26 @@
- inventory_hostname in groups['neutron-lbaas-agent']
run_once: True
delegate_to: "{{ groups['neutron-lbaas-agent'][0] }}"

- name: Running Neutron vpnaas bootstrap container
kolla_docker:
action: "start_container"
common_options: "{{ docker_common_options }}"
detach: False
environment:
KOLLA_BOOTSTRAP:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
image: "{{ neutron_vpnaas_agent_image_full }}"
labels:
BOOTSTRAP:
name: "bootstrap_neutron_vpnaas_agent"
restart_policy: "never"
volumes:
- "{{ node_config_directory }}/neutron-vpnaas-agent/:{{ container_config_directory }}/:ro"
- "/etc/localtime:/etc/localtime:ro"
- "kolla_logs:/var/log/kolla/"
when:
- enable_neutron_vpnaas | bool
- inventory_hostname in groups['neutron-vpnaas-agent']
run_once: True
delegate_to: "{{ groups['neutron-vpnaas-agent'][0] }}"
42 changes: 42 additions & 0 deletions ansible/roles/neutron/tasks/config.yml
Expand Up @@ -8,6 +8,7 @@
when:
- set_sysctl | bool
- inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-vpnaas-agent']

- name: Ensuring config directories exist
file:
Expand All @@ -24,6 +25,7 @@
- "openvswitch-db-server"
- "openvswitch-vswitchd"
- "neutron-lbaas-agent"
- "neutron-vpnaas-agent"

- name: Copying over config.json files for services
template:
Expand All @@ -39,6 +41,7 @@
- "openvswitch-db-server"
- "openvswitch-vswitchd"
- "neutron-lbaas-agent"
- "neutron-vpnaas-agent"

- name: Copying over neutron.conf
merge_configs:
Expand All @@ -61,6 +64,31 @@
- "neutron-openvswitch-agent"
- "neutron-server"
- "neutron-lbaas-agent"
- "neutron-vpnaas-agent"

- name: Copying over neutron_lbaas.conf
merge_configs:
vars:
service_name: "{{ item }}"
sources:
- "{{ role_path }}/templates/neutron_lbaas.conf.j2"
- "{{ node_custom_config }}/neutron/neutron_lbaas.conf"
- "{{ node_custom_config }}/neutron/{{ inventory_hostname }}/neutron_lbaas.conf"
dest: "{{ node_config_directory }}/{{ item }}/neutron_lbaas.conf"
with_items:
- "neutron-server"

- name: Copying over neutron_vpnaas.conf
merge_configs:
vars:
service_name: "{{ item }}"
sources:
- "{{ role_path }}/templates/neutron_vpnaas.conf.j2"
- "{{ node_custom_config }}/neutron/neutron_vpnaas.conf"
- "{{ node_custom_config }}/neutron/{{ inventory_hostname }}/neutron_vpnaas.conf"
dest: "{{ node_config_directory }}/{{ item }}/neutron_vpnaas.conf"
with_items:
- "neutron-server"

- name: Copying over ml2_conf.ini
merge_configs:
Expand All @@ -79,6 +107,7 @@
- "neutron-metadata-agent"
- "neutron-openvswitch-agent"
- "neutron-server"
- "neutron-vpnaas-agent"

- name: Copying over dhcp_agent.ini
merge_configs:
Expand Down Expand Up @@ -108,6 +137,7 @@
dest: "{{ node_config_directory }}/{{ item }}/l3_agent.ini"
with_items:
- "neutron-l3-agent"
- "neutron-vpnaas-agent"

- name: Copying over fwaas_driver.ini
merge_configs:
Expand All @@ -119,6 +149,7 @@
dest: "{{ node_config_directory }}/{{ item }}/fwaas_driver.ini"
with_items:
- "neutron-l3-agent"
- "neutron-vpnaas-agent"

- name: Copying over metadata_agent.ini
merge_configs:
Expand All @@ -141,3 +172,14 @@
dest: "{{ node_config_directory }}/{{ item }}/lbaas_agent.ini"
with_items:
- "neutron-lbaas-agent"

- name: Copying over vpnaas_agent.ini
merge_configs:
vars:
service_name: "{{ item }}"
sources:
- "{{ role_path }}/templates/vpnaas_agent.ini.j2"
- "/etc/kolla/config/neutron/vpnaas_agent.ini"
dest: "{{ node_config_directory }}/{{ item }}/vpnaas_agent.ini"
with_items:
- "neutron-vpnaas-agent"
2 changes: 2 additions & 0 deletions ansible/roles/neutron/tasks/deploy.yml
Expand Up @@ -13,6 +13,7 @@
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-server']
or inventory_hostname in groups['neutron-lbaas-agent']
or inventory_hostname in groups['neutron-vpnaas-agent']

- include: config-neutron-fake.yml
when:
Expand All @@ -30,3 +31,4 @@
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-server']
or inventory_hostname in groups['neutron-lbaas-agent']
or inventory_hostname in groups['neutron-vpnaas-agent']
36 changes: 28 additions & 8 deletions ansible/roles/neutron/tasks/do_reconfigure.yml
Expand Up @@ -14,8 +14,9 @@
- { 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 }}" }
- { name: neutron_vpnaas_agent, group: neutron-vpnaas-agent, enabled: "{{ enable_neutron_vpnaas | bool }}" }

- name: Ensuring the neutron_openvswitch_agent container is up
kolla_docker:
Expand All @@ -32,12 +33,14 @@
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-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-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent']
and enable_nova_fake | bool
)
)
Expand All @@ -55,7 +58,8 @@
or inventory_hostname in groups['neutron-dhcp-agent']
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent'])
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent'])

- include: config.yml

Expand All @@ -75,6 +79,7 @@
- { 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: neutron_vpnaas_agent, group: neutron-vpnaas-agent, enabled: "{{ enable_neutron_vpnaas | bool }}" }

- name: Check the configs in the neutron_openvswitch_agent container
command: docker exec neutron_openvswitch_agent /usr/local/bin/kolla_set_configs --check
Expand All @@ -90,12 +95,14 @@
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-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-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent']
and enable_nova_fake | bool
)
)
Expand All @@ -112,7 +119,8 @@
or inventory_hostname in groups['neutron-dhcp-agent']
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent'])
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent'])

# NOTE(jeffrey4l): when config_strategy == 'COPY_ALWAYS'
# and container env['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE',
Expand All @@ -133,6 +141,7 @@
- { 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: neutron_vpnaas_agent, group: neutron-vpnaas-agent, enabled: "{{ enable_neutron_vpnaas | bool }}" }

- name: Container config strategy for the neutron_openvswitch_agent container
kolla_docker:
Expand All @@ -149,12 +158,14 @@
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent']
) or
( enable_nova_fake | bool
and inventory_hostname in groups['neutron-dhcp-agent']
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent']
)
)

Expand All @@ -170,7 +181,8 @@
or inventory_hostname in groups['neutron-dhcp-agent']
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent'])
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent'])

- name: Remove the containers running neutron-server and neutron agents
kolla_docker:
Expand All @@ -189,7 +201,8 @@
{ 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: neutron_metadata_agent, group: compute, enabled: "{{ enable_neutron_dvr | bool }}" },
{ name: neutron_vpnaas_agent, group: neutron-vpnaas-agent, enabled: "{{ enable_neutron_vpnaas | bool }}" }]
- "{{ neutron_container_envs.results }}"
- "{{ neutron_check_results.results }}"

Expand All @@ -208,12 +221,14 @@
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent']
) or
( enable_nova_fake | bool
and inventory_hostname in groups['neutron-dhcp-agent']
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent']
)
)
- config_strategy == "COPY_ONCE" or openvswitch_agent_envs['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
Expand All @@ -231,7 +246,8 @@
or inventory_hostname in groups['neutron-dhcp-agent']
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent'])
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent'])
- config_strategy == "COPY_ONCE" or linuxbridge_agent_envs['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
- linuxbridge_agent_check_results['rc'] == 1

Expand All @@ -257,7 +273,8 @@
{ 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: neutron_metadata_agent, group: compute, enabled: "{{ enable_neutron_dvr | bool }}" },
{ name: neutron_vpnaas_agent, group: neutron-vpnaas-agent, enabled: "{{ enable_neutron_vpnaas | bool }}" }]
- "{{ neutron_container_envs.results }}"
- "{{ neutron_check_results.results }}"

Expand All @@ -275,12 +292,14 @@
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-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-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent']
and enable_nova_fake | bool
)
)
Expand All @@ -299,6 +318,7 @@
or inventory_hostname in groups['neutron-dhcp-agent']
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent'])
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent'])
- linuxbridge_agent_envs['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
- linuxbridge_agent_check_results['rc'] == 1
12 changes: 8 additions & 4 deletions ansible/roles/neutron/tasks/pull.yml
Expand Up @@ -23,7 +23,8 @@
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-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent'])
- neutron_plugin_agent == "linuxbridge"

- name: Pulling neutron-metadata-agent image
Expand All @@ -43,7 +44,8 @@
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-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent'])
- neutron_plugin_agent == "openvswitch"

- name: Pulling neutron-server image
Expand All @@ -63,7 +65,8 @@
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-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent'])
- neutron_plugin_agent == "openvswitch"

- name: Pulling openvswitch-vswitchd image
Expand All @@ -76,5 +79,6 @@
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-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent'])
- neutron_plugin_agent == "openvswitch"
1 change: 1 addition & 0 deletions ansible/roles/neutron/tasks/reconfigure.yml
Expand Up @@ -7,3 +7,4 @@
or inventory_hostname in groups['neutron-l3-agent']
or inventory_hostname in groups['neutron-lbaas-agent']
or inventory_hostname in groups['neutron-metadata-agent']
or inventory_hostname in groups['neutron-vpnaas-agent']

0 comments on commit be0fcb5

Please sign in to comment.