From 98956a9e912c7dd06d1cebc12f8079e04315f48f Mon Sep 17 00:00:00 2001 From: Carlos Goncalves Date: Mon, 21 Oct 2019 22:01:42 +0100 Subject: [PATCH] Simplify octavia post deploy configs Octavia shares config across multiple services in sometimes unexpected ways. To avoid problems, this patch merges external deploy tasks configuration into a single file. Note: this is a semantic backport of https://review.opendev.org/#/c/687311/ Related-Bug: #1836074 Co-Authored-By: Brent Eagles Change-Id: I081330c28c967aa000ec89f255876d5386599a78 (cherry picked from commit 1ecf1827d5dcacd561bd4dee65a4b772223ad63c) (cherry picked from commit bde1943e13f98fd65a474192710cdacb86f5fec5) --- .../tasks/octavia.yml | 30 ++++++------------- .../templates/manager-post-deploy.conf.j2 | 2 -- .../tasks/main.yml | 14 +++++++-- ...ered-octavia-configs-2ef4f66ed1e02b60.yaml | 5 ++++ 4 files changed, 25 insertions(+), 26 deletions(-) delete mode 100644 playbooks/roles/octavia-controller-config/templates/manager-post-deploy.conf.j2 create mode 100644 releasenotes/notes/fix-scattered-octavia-configs-2ef4f66ed1e02b60.yaml diff --git a/playbooks/roles/octavia-controller-config/tasks/octavia.yml b/playbooks/roles/octavia-controller-config/tasks/octavia.yml index dd510654c..1512c4e26 100644 --- a/playbooks/roles/octavia-controller-config/tasks/octavia.yml +++ b/playbooks/roles/octavia-controller-config/tasks/octavia.yml @@ -1,16 +1,9 @@ --- - - name: making sure octavia worker configuration directory exists - file: - path: "{{ octavia_confd_prefix }}/etc/octavia/conf.d/octavia-worker" - state: directory - selevel: s0 - setype: svirt_sandbox_file_t - become: true - name: setting [controller_worker]/amp_boot_network_list become: true become_user: root ini_file: - path: "{{ octavia_confd_prefix }}/etc/octavia/conf.d/common/post-deploy.conf" + path: "{{ octavia_confd_prefix }}/etc/octavia/post-deploy.conf" section: controller_worker option: amp_boot_network_list value: "{{ lb_mgmt_net_id }}" @@ -20,25 +13,20 @@ become: true become_user: root ini_file: - path: "{{ octavia_confd_prefix }}/etc/octavia/conf.d/common/post-deploy.conf" + path: "{{ octavia_confd_prefix }}/etc/octavia/post-deploy.conf" section: controller_worker option: amp_secgroup_list value: "{{ lb_mgmt_secgroup_id }}" selevel: s0 setype: svirt_sandbox_file_t - - name: making sure octavia health manager configuration directory exists - file: - path: "{{octavia_confd_prefix}}/etc/octavia/conf.d/octavia-health-manager" - state: directory - selevel: s0 - setype: svirt_sandbox_file_t - become: true - - name: create octavia health manager configuration file + - name: setting [health_manager]/bind_ip become: true become_user: root - template: - dest: "{{octavia_confd_prefix}}/etc/octavia/conf.d/octavia-health-manager/manager-post-deploy.conf" - src: "manager-post-deploy.conf.j2" + ini_file: + path: "{{ octavia_confd_prefix }}/etc/octavia/post-deploy.conf" + section: health_manager + option: bind_ip + value: "{{ mgmt_port_ip }}" selevel: s0 setype: svirt_sandbox_file_t - name: gather facts about the service project @@ -49,7 +37,7 @@ become: true become_user: root ini_file: - path: "{{ octavia_confd_prefix }}/etc/octavia/conf.d/common/post-deploy.conf" + path: "{{ octavia_confd_prefix }}/etc/octavia/post-deploy.conf" section: controller_worker option: amp_image_owner_id value: "{{ project_id_result.stdout }}" diff --git a/playbooks/roles/octavia-controller-config/templates/manager-post-deploy.conf.j2 b/playbooks/roles/octavia-controller-config/templates/manager-post-deploy.conf.j2 deleted file mode 100644 index 71a8ec7bb..000000000 --- a/playbooks/roles/octavia-controller-config/templates/manager-post-deploy.conf.j2 +++ /dev/null @@ -1,2 +0,0 @@ -[health_manager] -bind_ip = {{ mgmt_port_ip }} diff --git a/playbooks/roles/octavia-controller-post-config/tasks/main.yml b/playbooks/roles/octavia-controller-post-config/tasks/main.yml index 6f57f033d..bfb1df28b 100644 --- a/playbooks/roles/octavia-controller-post-config/tasks/main.yml +++ b/playbooks/roles/octavia-controller-post-config/tasks/main.yml @@ -11,7 +11,7 @@ become: true become_user: root shell: | - awk -F '=' -e '/^controller_ip_port_list/ { print $2; }' "{{octavia_confd_prefix}}/etc/octavia/conf.d/octavia-worker/worker-post-deploy.conf" + awk -F '=' -e '/^controller_ip_port_list/ { print $2; }' "{{octavia_confd_prefix}}/etc/octavia/post-deploy.conf" register: config_contents failed_when: config_contents.rc != 0 changed_when: false @@ -27,18 +27,26 @@ octavia_config_updated: true when: current_ip_list != o_hm_ip_list - - name: update octavia worker config file + - name: setting [health_manager]/controller_ip_port_list become: true become_user: root ini_file: section: "health_manager" option: "controller_ip_port_list" value: "{{ o_hm_ip_list }}" - path: "{{octavia_confd_prefix}}/etc/octavia/conf.d/octavia-worker/worker-post-deploy.conf" + path: "{{ octavia_confd_prefix }}/etc/octavia/post-deploy.conf" selevel: s0 setype: svirt_sandbox_file_t when: octavia_config_updated + - name: create a symbolic link conf.d/post-deploy -> post-deploy.conf (LP#1836074) + file: + src: "../../post-deploy.conf" + dest: "{{ octavia_confd_prefix }}/etc/octavia/conf.d/common/post-deploy.conf" + state: link + selevel: s0 + setype: svirt_sandbox_file_t + - name: restart octavia containers become: true become_user: root diff --git a/releasenotes/notes/fix-scattered-octavia-configs-2ef4f66ed1e02b60.yaml b/releasenotes/notes/fix-scattered-octavia-configs-2ef4f66ed1e02b60.yaml new file mode 100644 index 000000000..463ab8fac --- /dev/null +++ b/releasenotes/notes/fix-scattered-octavia-configs-2ef4f66ed1e02b60.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Fixed a configuration issue where required settings for Octavia services + were missing.