From f27e5a805888576fd3cf92f5d266657a98f71efd Mon Sep 17 00:00:00 2001 From: Kevin Carter Date: Mon, 14 Sep 2015 16:52:51 -0500 Subject: [PATCH] adds the config_template to neutron The change modifies the neutron template tasks such that it's now using the config_template action plugin. This change will make so that config files can be dynamically updated, by a deployer, at run time, without requiring the need to modify the in tree templates or defaults. Partially implements: blueprint tunable-openstack-configuration Change-Id: Ia9e4acdb86c1c61db182771658d6a175a4c45b38 --- playbooks/roles/os_neutron/defaults/main.yml | 12 +++ .../os_neutron/tasks/neutron_post_install.yml | 75 ++++++++++++------- .../api-paste.ini.j2} | 0 .../templates/{policy.json => policy.json.j2} | 0 .../rootwrap.conf.j2} | 0 5 files changed, 61 insertions(+), 26 deletions(-) rename playbooks/roles/os_neutron/{files/api-paste.ini => templates/api-paste.ini.j2} (100%) rename playbooks/roles/os_neutron/templates/{policy.json => policy.json.j2} (100%) rename playbooks/roles/os_neutron/{files/rootwrap.conf => templates/rootwrap.conf.j2} (100%) diff --git a/playbooks/roles/os_neutron/defaults/main.yml b/playbooks/roles/os_neutron/defaults/main.yml index 2a60d51240..933d9857a9 100644 --- a/playbooks/roles/os_neutron/defaults/main.yml +++ b/playbooks/roles/os_neutron/defaults/main.yml @@ -271,3 +271,15 @@ neutron_service_names: - neutron-metadata-agent - neutron-metering-agent - neutron-server + +## Tunable overrides +neutron_neutron_conf_overrides: {} +neutron_ml2_conf_ini_overrides: {} +neutron_dhcp_agent_ini_overrides: {} +neutron_api_paste_ini_overrides: {} +neutron_rootwrap_conf_overrides: {} +neutron_policy_overrides: {} +neutron_dnsmasq_neutron_conf_overrides: {} +neutron_l3_agent_ini_overrides: {} +neutron_metadata_agent_ini_overrides: {} +neutron_metering_agent_ini_overrides: {} diff --git a/playbooks/roles/os_neutron/tasks/neutron_post_install.yml b/playbooks/roles/os_neutron/tasks/neutron_post_install.yml index 34f2725b3a..e57317b17b 100644 --- a/playbooks/roles/os_neutron/tasks/neutron_post_install.yml +++ b/playbooks/roles/os_neutron/tasks/neutron_post_install.yml @@ -26,32 +26,71 @@ tags: - neutron-config -- name: Generate neutron Config - template: +- name: Copy neutron config + config_template: src: "{{ item.src }}" dest: "{{ item.dest }}" owner: "{{ neutron_system_user_name }}" group: "{{ neutron_system_group_name }}" + mode: "0644" + config_overrides: "{{ item.config_overrides }}" + config_type: "{{ item.config_type }}" with_items: - - { src: "neutron.conf.j2", dest: "/etc/neutron/neutron.conf" } - - { src: "plugins/ml2/ml2_conf.ini.j2", dest: "/etc/neutron/plugins/ml2/ml2_conf.ini" } + - src: "neutron.conf.j2" + dest: "/etc/neutron/neutron.conf" + config_overrides: "{{ neutron_neutron_conf_overrides }}" + config_type: "ini" + - src: "plugins/ml2/ml2_conf.ini.j2" + dest: "/etc/neutron/plugins/ml2/ml2_conf.ini" + config_overrides: "{{ neutron_ml2_conf_ini_overrides }}" + config_type: "ini" + - src: "api-paste.ini.j2" + dest: "/etc/neutron/api-paste.ini" + config_overrides: "{{ neutron_api_paste_ini_overrides }}" + config_type: "ini" + - src: "rootwrap.conf.j2" + dest: "/etc/neutron/rootwrap.conf" + config_overrides: "{{ neutron_rootwrap_conf_overrides }}" + config_type: "ini" + - src: "policy.json.j2" + dest: "/etc/neutron/policy.json" + config_overrides: "{{ neutron_policy_overrides }}" + config_type: "json" notify: - Restart neutron services tags: - neutron-config - name: Generate neutron agent only Config - template: + config_template: src: "{{ item.src }}" dest: "{{ item.dest }}" owner: "{{ neutron_system_user_name }}" group: "{{ neutron_system_group_name }}" + mode: "0644" + config_overrides: "{{ item.config_overrides }}" + config_type: "{{ item.config_type }}" with_items: - - { src: "dhcp_agent.ini.j2", dest: "/etc/neutron/dhcp_agent.ini" } - - { src: "dnsmasq-neutron.conf.j2", dest: "/etc/neutron/dnsmasq-neutron.conf" } - - { src: "l3_agent.ini.j2", dest: "/etc/neutron/l3_agent.ini" } - - { src: "metadata_agent.ini.j2", dest: "/etc/neutron/metadata_agent.ini" } - - { src: "metering_agent.ini.j2", dest: "/etc/neutron/metering_agent.ini" } + - src: "dhcp_agent.ini.j2" + dest: "/etc/neutron/dhcp_agent.ini" + config_overrides: "{{ neutron_dhcp_agent_ini_overrides }}" + config_type: "ini" + - src: "dnsmasq-neutron.conf.j2" + dest: "/etc/neutron/dnsmasq-neutron.conf" + config_overrides: "{{ neutron_dnsmasq_neutron_conf_overrides }}" + config_type: "ini" + - src: "l3_agent.ini.j2" + dest: "/etc/neutron/l3_agent.ini" + config_overrides: "{{ neutron_l3_agent_ini_overrides }}" + config_type: "ini" + - src: "metadata_agent.ini.j2" + dest: "/etc/neutron/metadata_agent.ini" + config_overrides: "{{ neutron_metadata_agent_ini_overrides }}" + config_type: "ini" + - src: "metering_agent.ini.j2" + dest: "/etc/neutron/metering_agent.ini" + config_overrides: "{{ neutron_metering_agent_ini_overrides }}" + config_type: "ini" notify: - Restart neutron services when: > @@ -66,8 +105,6 @@ owner: "{{ neutron_system_user_name }}" group: "{{ neutron_system_group_name }}" with_items: - - { src: "api-paste.ini", dest: "/etc/neutron/api-paste.ini" } - - { src: "rootwrap.conf", dest: "/etc/neutron/rootwrap.conf" } - { src: "rootwrap.d/debug.filters", dest: "/etc/neutron/rootwrap.d/debug.filters" } - { src: "rootwrap.d/dhcp.filters", dest: "/etc/neutron/rootwrap.d/dhcp.filters" } - { src: "rootwrap.d/ipset-firewall.filters", dest: "/etc/neutron/rootwrap.d/ipset-firewall.filters" } @@ -85,20 +122,6 @@ tags: - neutron-config -- name: Apply updates to Policy file - config_template: - src: "policy.json" - dest: "/etc/neutron/policy.json" - owner: "{{ neutron_system_user_name }}" - group: "{{ neutron_system_group_name }}" - mode: "0644" - config_overrides: "{{ neutron_policy_overrides|default({}) }}" - config_type: "json" - notify: - - Restart neutron services - tags: - - neutron-config - - name: Drop iptables checksum fix copy: src: "post-up-checksum-rules" diff --git a/playbooks/roles/os_neutron/files/api-paste.ini b/playbooks/roles/os_neutron/templates/api-paste.ini.j2 similarity index 100% rename from playbooks/roles/os_neutron/files/api-paste.ini rename to playbooks/roles/os_neutron/templates/api-paste.ini.j2 diff --git a/playbooks/roles/os_neutron/templates/policy.json b/playbooks/roles/os_neutron/templates/policy.json.j2 similarity index 100% rename from playbooks/roles/os_neutron/templates/policy.json rename to playbooks/roles/os_neutron/templates/policy.json.j2 diff --git a/playbooks/roles/os_neutron/files/rootwrap.conf b/playbooks/roles/os_neutron/templates/rootwrap.conf.j2 similarity index 100% rename from playbooks/roles/os_neutron/files/rootwrap.conf rename to playbooks/roles/os_neutron/templates/rootwrap.conf.j2