From 2c23f2d445fb6208b2fe1423845efd29b8e0408d Mon Sep 17 00:00:00 2001 From: Ryan Hallisey Date: Thu, 17 Sep 2015 13:03:52 -0400 Subject: [PATCH] Replace config-external with a JSON file for Neutron (thin) This is only for the Neutron thin containers. The Neutron agents are still in a fat container. I'll replace in another patch. Change-Id: I8533af52bfa3f268aa8ffb1c16ae49f5a300da27 Partially-Implements: blueprint replace-config-external --- ansible/roles/neutron/tasks/bootstrap.yml | 2 +- ansible/roles/neutron/tasks/config.yml | 17 +++++++++++++++++ ansible/roles/neutron/tasks/start.yml | 6 +++--- .../templates/neutron-linuxbridge-agent.json.j2 | 17 +++++++++++++++++ .../templates/neutron-openvswitch-agent.json.j2 | 17 +++++++++++++++++ .../neutron/templates/neutron-server.json.j2 | 17 +++++++++++++++++ .../neutron/neutron-linuxbridge-agent/start.sh | 10 ++++------ .../neutron/neutron-openvswitch-agent/start.sh | 10 ++++------ docker/neutron/neutron-server/start.sh | 10 ++++------ 9 files changed, 84 insertions(+), 22 deletions(-) create mode 100644 ansible/roles/neutron/templates/neutron-linuxbridge-agent.json.j2 create mode 100644 ansible/roles/neutron/templates/neutron-openvswitch-agent.json.j2 create mode 100644 ansible/roles/neutron/templates/neutron-server.json.j2 diff --git a/ansible/roles/neutron/tasks/bootstrap.yml b/ansible/roles/neutron/tasks/bootstrap.yml index 846faf0bf3..e21684e23d 100644 --- a/ansible/roles/neutron/tasks/bootstrap.yml +++ b/ansible/roles/neutron/tasks/bootstrap.yml @@ -41,7 +41,7 @@ insecure_registry: "{{ docker_insecure_registry }}" name: bootstrap_neutron image: "{{ neutron_server_image_full }}" - volumes: "{{ node_config_directory }}/neutron-server/:/opt/kolla/neutron-server/:ro" + volumes: "{{ node_config_directory }}/neutron-server/:/opt/kolla/config_files/:ro" env: KOLLA_BOOTSTRAP: KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" diff --git a/ansible/roles/neutron/tasks/config.yml b/ansible/roles/neutron/tasks/config.yml index f620ee0185..541bd29d01 100644 --- a/ansible/roles/neutron/tasks/config.yml +++ b/ansible/roles/neutron/tasks/config.yml @@ -136,3 +136,20 @@ - "{{ node_templates_directory }}/{{ service_name }}/ml2_conf.ini_augment" config_dest: "{{ node_config_directory }}/{{ service_name }}/ml2_conf.ini" when: (inventory_hostname in groups['compute'] or inventory_hostname in groups['neutron-agents']) + +- name: Copying Neutron Server JSON configuration file + template: + src: "roles/neutron/templates/neutron-server.json.j2" + dest: "{{ node_config_directory }}/neutron-server/config.json" + +- name: Copying Neutron OpenVSwitch JSON configuration file + template: + src: "roles/neutron/templates/neutron-openvswitch-agent.json.j2" + dest: "{{ node_config_directory }}/neutron-openvswitch-agent/config.json" + when: neutron_plugin_agent == "openvswitch" + +- name: Copying Neutron Linuxbridge JSON configuration file + template: + src: "roles/neutron/templates/neutron-server.json.j2" + dest: "{{ node_config_directory }}/neutron-linuxbridge-agent/config.json" + when: neutron_plugin_agent == "linuxbridge" diff --git a/ansible/roles/neutron/tasks/start.yml b/ansible/roles/neutron/tasks/start.yml index e3e9086271..a72cd51e8c 100644 --- a/ansible/roles/neutron/tasks/start.yml +++ b/ansible/roles/neutron/tasks/start.yml @@ -64,7 +64,7 @@ insecure_registry: "{{ docker_insecure_registry }}" name: neutron_server image: "{{ neutron_server_image_full }}" - volumes: "{{ node_config_directory }}/neutron-server/:/opt/kolla/neutron-server/:ro" + volumes: "{{ node_config_directory }}/neutron-server/:/opt/kolla/config_files/:ro" env: KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" when: inventory_hostname in groups['neutron-server'] @@ -87,7 +87,7 @@ volumes: - "/run:/run" - "/lib/modules:/lib/modules:ro" - - "{{ node_config_directory }}/neutron-openvswitch-agent/:/opt/kolla/neutron-openvswitch-agent/:ro" + - "{{ node_config_directory }}/neutron-openvswitch-agent/:/opt/kolla/config_files/:ro" env: KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" when: (inventory_hostname in groups['compute'] or inventory_hostname in groups['neutron-agents']) @@ -111,7 +111,7 @@ volumes: - "/run:/run" - "/lib/modules:/lib/modules:ro" - - "{{ node_config_directory }}/neutron-linuxbridge-agent/:/opt/kolla/neutron-linuxbridge-agent/:ro" + - "{{ node_config_directory }}/neutron-linuxbridge-agent/:/opt/kolla/config_files/:ro" env: KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" NEUTRON_BRIDGE: "br-ex" diff --git a/ansible/roles/neutron/templates/neutron-linuxbridge-agent.json.j2 b/ansible/roles/neutron/templates/neutron-linuxbridge-agent.json.j2 new file mode 100644 index 0000000000..68f3d586b4 --- /dev/null +++ b/ansible/roles/neutron/templates/neutron-linuxbridge-agent.json.j2 @@ -0,0 +1,17 @@ +{ + "command": "/usr/bin/neutron-linuxbridge-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini", + "config_files": [ + { + "source": "/opt/kolla/config_files/neutron.conf", + "dest": "/etc/neutron/neutron.conf", + "owner": "neutron", + "perm": "0600" + }, + { + "source": "/opt/kolla/config_files/ml2_conf.ini", + "dest": "/etc/neutron/plugins/ml2/ml2_conf.ini", + "owner": "neutron", + "perm": "0600" + } + ] +} diff --git a/ansible/roles/neutron/templates/neutron-openvswitch-agent.json.j2 b/ansible/roles/neutron/templates/neutron-openvswitch-agent.json.j2 new file mode 100644 index 0000000000..b0d2974a98 --- /dev/null +++ b/ansible/roles/neutron/templates/neutron-openvswitch-agent.json.j2 @@ -0,0 +1,17 @@ +{ + "command": "/usr/bin/neutron-openvswitch-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini", + "config_files": [ + { + "source": "/opt/kolla/config_files/neutron.conf", + "dest": "/etc/neutron/neutron.conf", + "owner": "neutron", + "perm": "0600" + }, + { + "source": "/opt/kolla/config_files/ml2_conf.ini", + "dest": "/etc/neutron/plugins/ml2/ml2_conf.ini", + "owner": "neutron", + "perm": "0600" + } + ] +} diff --git a/ansible/roles/neutron/templates/neutron-server.json.j2 b/ansible/roles/neutron/templates/neutron-server.json.j2 new file mode 100644 index 0000000000..de8020504f --- /dev/null +++ b/ansible/roles/neutron/templates/neutron-server.json.j2 @@ -0,0 +1,17 @@ +{ + "command": "/usr/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini", + "config_files": [ + { + "source": "/opt/kolla/config_files/neutron.conf", + "dest": "/etc/neutron/neutron.conf", + "owner": "neutron", + "perm": "0600" + }, + { + "source": "/opt/kolla/config_files/ml2_conf.ini", + "dest": "/etc/neutron/plugins/ml2/ml2_conf.ini", + "owner": "neutron", + "perm": "0600" + } + ] +} diff --git a/docker/neutron/neutron-linuxbridge-agent/start.sh b/docker/neutron/neutron-linuxbridge-agent/start.sh index ab47f2dfb1..f024726483 100755 --- a/docker/neutron/neutron-linuxbridge-agent/start.sh +++ b/docker/neutron/neutron-linuxbridge-agent/start.sh @@ -1,14 +1,12 @@ #!/bin/bash set -o errexit -CMD="/usr/bin/neutron-linuxbridge-agent" -ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini" - # Loading common functions. source /opt/kolla/kolla-common.sh source /opt/kolla/config-sudoers.sh -# Execute config strategy -set_configs +# Generate run command +python /opt/kolla/set_configs.py +CMD=$(cat /run_command) -exec $CMD $ARGS +exec $CMD diff --git a/docker/neutron/neutron-openvswitch-agent/start.sh b/docker/neutron/neutron-openvswitch-agent/start.sh index 6d62ff65d5..f024726483 100755 --- a/docker/neutron/neutron-openvswitch-agent/start.sh +++ b/docker/neutron/neutron-openvswitch-agent/start.sh @@ -1,14 +1,12 @@ #!/bin/bash set -o errexit -CMD="/usr/bin/neutron-openvswitch-agent" -ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini" - # Loading common functions. source /opt/kolla/kolla-common.sh source /opt/kolla/config-sudoers.sh -# Execute config strategy -set_configs +# Generate run command +python /opt/kolla/set_configs.py +CMD=$(cat /run_command) -exec $CMD $ARGS +exec $CMD diff --git a/docker/neutron/neutron-server/start.sh b/docker/neutron/neutron-server/start.sh index 51c4c2a3dc..c6ae197d42 100755 --- a/docker/neutron/neutron-server/start.sh +++ b/docker/neutron/neutron-server/start.sh @@ -1,14 +1,12 @@ #!/bin/bash set -o errexit -CMD="/usr/bin/neutron-server" -ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini" - # Loading common functions. source /opt/kolla/kolla-common.sh -# Execute config strategy -set_configs +# Generate run command +python /opt/kolla/set_configs.py +CMD=$(cat /run_command) # Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases # of the KOLLA_BOOTSTRAP variable being set, including empty. @@ -17,4 +15,4 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then exit 0 fi -exec $CMD $ARGS +exec $CMD