From a3eafbd6a2e2b82abffe6a1e19f8b2af67b54df9 Mon Sep 17 00:00:00 2001 From: "Gael Chamoulaud (Strider)" Date: Wed, 9 Dec 2020 16:02:10 +0100 Subject: [PATCH] Get the undercloud.conf file from where it actually is Since the deprecation of Mistral in THT, we can't get the path of this file by using hiera anymore. This patch will get it directly in its original place ($HOME/undercloud.conf) by using *ansible_env.HOME* fact. Impacted Validations: playbooks/ceilometerdb-size.yaml playbooks/check-network-gateway.yaml playbooks/check-undercloud-conf.yaml playbooks/container-status.yaml playbooks/ctlplane-ip-range.yaml playbooks/dhcp-provisioning.yaml playbooks/neutron-sanity-check.yaml playbooks/tls-everywhere-pre-deployment.yaml playbooks/tls-everywhere-prep.yaml playbooks/undercloud-heat-purge-deleted.yaml playbooks/undercloud-process-count.yaml playbooks/undercloud-tokenflush.yaml This patch also fixes every molecule tests accordingly. NB: check_network_gateway molecule test is now voting in the CI. Closes-Bug: 1907553 Signed-off-by: Gael Chamoulaud (Strider) Change-Id: Iafc38c6cd99edee89ae0305f09fe7080df148331 (cherry picked from commit bc31f762c22b7edffd9429db9f61bbcb0546aa75) (cherry picked from commit f4ea045e425f8c4e7a21e24c8e7c398a374db113) --- roles/ceilometerdb_size/tasks/main.yml | 13 ++++--- .../molecule/default/converge.yml | 7 ++-- .../molecule/default/prepare.yml | 36 +++++-------------- roles/check_network_gateway/tasks/main.yml | 17 +++++---- roles/container_status/tasks/main.yaml | 13 ++++--- .../molecule/default/converge.yml | 34 +++++------------- .../molecule/default/prepare.yml | 28 --------------- roles/ctlplane_ip_range/tasks/main.yml | 15 ++++---- .../tasks/dhcp-provisioning.yaml | 11 ++++-- roles/neutron_sanity_check/tasks/main.yml | 13 ++++--- .../tls_everywhere/tasks/pre-deployment.yaml | 15 ++++---- roles/tls_everywhere/tasks/prep.yaml | 18 +++++----- .../molecule/default/converge.yml | 3 +- .../molecule/default/prepare.yml | 35 +++++------------- .../tasks/main.yml | 12 ++++--- roles/undercloud_process_count/tasks/main.yml | 13 ++++--- .../molecule/default/converge.yml | 3 +- .../molecule/default/prepare.yml | 18 +++++----- roles/undercloud_tokenflush/tasks/main.yml | 13 ++++--- zuul.d/molecule.yaml | 1 - 20 files changed, 134 insertions(+), 184 deletions(-) diff --git a/roles/ceilometerdb_size/tasks/main.yml b/roles/ceilometerdb_size/tasks/main.yml index 26340cdae..4577141a3 100644 --- a/roles/ceilometerdb_size/tasks/main.yml +++ b/roles/ceilometerdb_size/tasks/main.yml @@ -5,14 +5,17 @@ Panko has been deprecated since the Train Release. The 'ceilometerdb-size' validation is now considered as deprecated too. -- name: Get the path of tripleo undercloud config file - become: true - hiera: - name: "tripleo_undercloud_conf_file" +- name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: Check if telemetry services are enabled validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: enable_telemetry register: enable_telemetry diff --git a/roles/check_network_gateway/molecule/default/converge.yml b/roles/check_network_gateway/molecule/default/converge.yml index 731a19f16..48ca2fe14 100644 --- a/roles/check_network_gateway/molecule/default/converge.yml +++ b/roles/check_network_gateway/molecule/default/converge.yml @@ -18,7 +18,6 @@ - name: Converge hosts: all gather_facts: false - tasks: - name: successful check with ctlplane-subnet include_role: @@ -26,12 +25,12 @@ - name: override undercloud.conf copy: - dest: /undercloud.conf + dest: "{{ ansible_env.HOME }}/undercloud.conf" content: | [DEFAULT] local_subnet = 192.168.254.0/24 [192.168.254.0/24] - gateway = 8.8.8.8 + gateway = 0.0.0.0 - name: successful check with local_ip include_role: @@ -41,7 +40,7 @@ block: - name: override undercloud.conf copy: - dest: /undercloud.conf + dest: "{{ ansible_env.HOME }}/undercloud.conf" content: | [ctlplane-subnet] gateway = 192.168.254.254 diff --git a/roles/check_network_gateway/molecule/default/prepare.yml b/roles/check_network_gateway/molecule/default/prepare.yml index 70f54da03..41a258296 100644 --- a/roles/check_network_gateway/molecule/default/prepare.yml +++ b/roles/check_network_gateway/molecule/default/prepare.yml @@ -20,35 +20,17 @@ gather_facts: false tasks: - - name: install hiera - package: - name: hiera - - - name: create hiera tree - file: - path: /etc/puppet - state: directory - - - name: populate hiera.yaml - copy: - dest: /etc/puppet/hiera.yaml - content: | - :backends: - - yaml - :yaml: - :datadir: "/etc/puppet/" - :hierarchy: - - "common" - - - name: populate hiera content - copy: - dest: /etc/puppet/common.yaml - content: | - tripleo_undercloud_conf_file: /undercloud.conf + - name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: populate undercloud.conf copy: - dest: /undercloud.conf + dest: "{{ ansible_env.HOME }}/undercloud.conf" content: | [ctlplane-subnet] - gateway = 8.8.8.8 + gateway = 0.0.0.0 diff --git a/roles/check_network_gateway/tasks/main.yml b/roles/check_network_gateway/tasks/main.yml index 5d86b5042..e73b7a735 100644 --- a/roles/check_network_gateway/tasks/main.yml +++ b/roles/check_network_gateway/tasks/main.yml @@ -1,13 +1,16 @@ --- -- name: Get the path of tripleo undercloud config file - become: true - hiera: - name: "tripleo_undercloud_conf_file" +- name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: Get the local_subnet name from the undercloud_conf file become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: local_subnet ignore_missing_file: true @@ -16,7 +19,7 @@ - name: Get gateway value from the undercloud.conf file become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: "{% if local_subnet.value %}{{ local_subnet.value }}{% else %}ctlplane-subnet{% endif %}" key: gateway ignore_missing_file: true @@ -25,7 +28,7 @@ - name: Get local_ip value from the undercloud.conf file become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: local_ip ignore_missing_file: true diff --git a/roles/container_status/tasks/main.yaml b/roles/container_status/tasks/main.yaml index 279a0d466..75bb0b391 100644 --- a/roles/container_status/tasks/main.yaml +++ b/roles/container_status/tasks/main.yaml @@ -10,14 +10,17 @@ block: - name: Set container_cli fact from undercloud.conf block: - - name: Get the path of tripleo undercloud config file - become: true - hiera: - name: "tripleo_undercloud_conf_file" + - name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: Get container client from undercloud.conf validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: container_cli ignore_missing_file: true diff --git a/roles/ctlplane_ip_range/molecule/default/converge.yml b/roles/ctlplane_ip_range/molecule/default/converge.yml index 7fc750abf..ad96ed27b 100644 --- a/roles/ctlplane_ip_range/molecule/default/converge.yml +++ b/roles/ctlplane_ip_range/molecule/default/converge.yml @@ -18,36 +18,20 @@ - name: Converge hosts: all gather_facts: false - tasks: - - name: prepare directory tree for hiera - file: - path: /etc/puppet - state: directory - - - name: populate a hiera config - copy: - dest: /etc/puppet/hiera.yaml - content: | - :backends: - - yaml - - json - :yaml: - :datadir: "/etc/puppet/" - :hierarchy: - - "common" - - - name: populate hiera content - copy: - dest: /etc/puppet/common.yaml - content: | - tripleo_undercloud_conf_file: /undercloud.conf + - name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: Test good values block: - name: populate undercloud.conf with right range length copy: - dest: /undercloud.conf + dest: "{{ ansible_env.HOME }}/undercloud.conf" content: | [ctlplane-subnet] dhcp_start = 192.168.12.10 @@ -59,7 +43,7 @@ block: - name: populate undercloud.conf with wrong range length copy: - dest: /undercloud.conf + dest: "{{ ansible_env.HOME }}/undercloud.conf" content: | [ctlplane-subnet] dhcp_start = 192.168.12.10 diff --git a/roles/ctlplane_ip_range/molecule/default/prepare.yml b/roles/ctlplane_ip_range/molecule/default/prepare.yml index d2a5dd259..bfb010ef1 100644 --- a/roles/ctlplane_ip_range/molecule/default/prepare.yml +++ b/roles/ctlplane_ip_range/molecule/default/prepare.yml @@ -24,31 +24,3 @@ package: name: python*-netaddr state: installed - - - name: install hiera - package: - name: hiera - state: installed - - - name: prepare directory tree for hiera - file: - path: /etc/puppet - state: directory - - - name: populate a hiera config - copy: - dest: /etc/puppet/hiera.yaml - content: | - :backends: - - yaml - - json - :yaml: - :datadir: "/etc/puppet/" - :hierarchy: - - "common" - - - name: populate hiera content - copy: - dest: /etc/puppet/common.yaml - content: | - tripleo_undercloud_conf_file: /undercloud.conf diff --git a/roles/ctlplane_ip_range/tasks/main.yml b/roles/ctlplane_ip_range/tasks/main.yml index 5da9392f7..8af492eb7 100644 --- a/roles/ctlplane_ip_range/tasks/main.yml +++ b/roles/ctlplane_ip_range/tasks/main.yml @@ -1,13 +1,16 @@ --- -- name: Get the path of tripleo undercloud config file - become: true - hiera: - name: "tripleo_undercloud_conf_file" +- name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: Get dhcp_start value from the undercloud.conf file become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: ctlplane-subnet key: dhcp_start ignore_missing_file: true @@ -17,7 +20,7 @@ - name: Get dhcp_end value from the undercloud.conf file become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: ctlplane-subnet key: dhcp_end ignore_missing_file: true diff --git a/roles/dhcp_validations/tasks/dhcp-provisioning.yaml b/roles/dhcp_validations/tasks/dhcp-provisioning.yaml index 7e5dec1e5..6de0b5263 100644 --- a/roles/dhcp_validations/tasks/dhcp-provisioning.yaml +++ b/roles/dhcp_validations/tasks/dhcp-provisioning.yaml @@ -1,10 +1,15 @@ --- -- name: Get the path of tripleo undercloud config file - hiera: name="tripleo_undercloud_conf_file" +- name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: Gather undercloud.conf values validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: local_interface ignore_missing_file: true diff --git a/roles/neutron_sanity_check/tasks/main.yml b/roles/neutron_sanity_check/tasks/main.yml index bd1b1a169..608bfc1d6 100644 --- a/roles/neutron_sanity_check/tasks/main.yml +++ b/roles/neutron_sanity_check/tasks/main.yml @@ -7,15 +7,18 @@ - when: "'Undercloud' in group_names" block: - - name: Get the path of tripleo undercloud config file - become: true - hiera: - name: "tripleo_undercloud_conf_file" + - name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: Get the Container CLI from the undercloud.conf file become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: container_cli ignore_missing_file: true diff --git a/roles/tls_everywhere/tasks/pre-deployment.yaml b/roles/tls_everywhere/tasks/pre-deployment.yaml index fd18ba9e0..8155c1e2b 100644 --- a/roles/tls_everywhere/tasks/pre-deployment.yaml +++ b/roles/tls_everywhere/tasks/pre-deployment.yaml @@ -1,17 +1,20 @@ --- +- name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env + - name: Set facts for undercloud handlers to clean up set_fact: novajoin_temp_krb_caches: [] -- name: Get the path of tripleo undercloud config file - become: true - hiera: name="tripleo_undercloud_conf_file" - check_mode: false - - name: Get the Container CLI from the undercloud.conf file (stein+) become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: container_cli register: container_cli diff --git a/roles/tls_everywhere/tasks/prep.yaml b/roles/tls_everywhere/tasks/prep.yaml index 5cdab1149..94faeb68a 100644 --- a/roles/tls_everywhere/tasks/prep.yaml +++ b/roles/tls_everywhere/tasks/prep.yaml @@ -1,14 +1,16 @@ --- -- name: Get the path of tripleo undercloud config file - become: true - hiera: - name: "tripleo_undercloud_conf_file" - check_mode: false +- name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: Verify that nameservers are set in undercloud.conf become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: undercloud_nameservers ignore_missing_file: false @@ -57,7 +59,7 @@ - name: Get domain as set in undercloud.conf become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: overcloud_domain_name ignore_missing_file: false @@ -93,7 +95,7 @@ - name: Get enable_novajoin flag from undercloud.conf become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: enable_novajoin ignore_missing_file: false diff --git a/roles/undercloud_heat_purge_deleted/molecule/default/converge.yml b/roles/undercloud_heat_purge_deleted/molecule/default/converge.yml index c934266e2..80e70da67 100644 --- a/roles/undercloud_heat_purge_deleted/molecule/default/converge.yml +++ b/roles/undercloud_heat_purge_deleted/molecule/default/converge.yml @@ -18,7 +18,6 @@ - name: Converge hosts: all gather_facts: false - tasks: - name: working detection include_role: @@ -28,7 +27,7 @@ block: - name: Override container_cli copy: - dest: /undercloud.conf + dest: "{{ ansible_env.HOME }}/undercloud.conf" content: | [DEFAULT] container_cli = docker diff --git a/roles/undercloud_heat_purge_deleted/molecule/default/prepare.yml b/roles/undercloud_heat_purge_deleted/molecule/default/prepare.yml index a9cf46a6c..ac3b4a329 100644 --- a/roles/undercloud_heat_purge_deleted/molecule/default/prepare.yml +++ b/roles/undercloud_heat_purge_deleted/molecule/default/prepare.yml @@ -18,37 +18,18 @@ - name: Prepare hosts: all gather_facts: false - tasks: - - name: install hiera - package: - name: hiera - - - name: create hiera tree - file: - path: /etc/puppet - state: directory - - - name: populate hiera.yaml - copy: - dest: /etc/puppet/hiera.yaml - content: | - :backends: - - yaml - :yaml: - :datadir: "/etc/puppet/" - :hierarchy: - - "common" - - - name: populate hiera content - copy: - dest: /etc/puppet/common.yaml - content: | - tripleo_undercloud_conf_file: /undercloud.conf + - name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: populate undercloud.conf copy: - dest: /undercloud.conf + dest: "{{ ansible_env.HOME }}/undercloud.conf" content: | [DEFAULT] container_cli = podman diff --git a/roles/undercloud_heat_purge_deleted/tasks/main.yml b/roles/undercloud_heat_purge_deleted/tasks/main.yml index 3d71a321a..ac390b3e4 100644 --- a/roles/undercloud_heat_purge_deleted/tasks/main.yml +++ b/roles/undercloud_heat_purge_deleted/tasks/main.yml @@ -1,12 +1,16 @@ --- -- name: Get the path of tripleo undercloud config file - become: true - hiera: name="tripleo_undercloud_conf_file" +- name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: Get the Container CLI from the undercloud.conf file become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: container_cli ignore_missing_file: true diff --git a/roles/undercloud_process_count/tasks/main.yml b/roles/undercloud_process_count/tasks/main.yml index 0d691c310..2ba187b8b 100644 --- a/roles/undercloud_process_count/tasks/main.yml +++ b/roles/undercloud_process_count/tasks/main.yml @@ -1,13 +1,16 @@ --- -- name: Get the path of tripleo undercloud config file - become: true - hiera: - name: "tripleo_undercloud_conf_file" +- name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: Get the Container CLI from the undercloud.conf file become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: container_cli ignore_missing_file: true diff --git a/roles/undercloud_tokenflush/molecule/default/converge.yml b/roles/undercloud_tokenflush/molecule/default/converge.yml index b7a1e5f0c..48b94f639 100644 --- a/roles/undercloud_tokenflush/molecule/default/converge.yml +++ b/roles/undercloud_tokenflush/molecule/default/converge.yml @@ -18,7 +18,6 @@ - name: Converge hosts: all gather_facts: false - tasks: - name: working detection include_role: @@ -28,7 +27,7 @@ block: - name: Override container_cli copy: - dest: /undercloud.conf + dest: "{{ ansible_env.HOME }}/undercloud.conf" content: | [DEFAULT] container_cli = docker diff --git a/roles/undercloud_tokenflush/molecule/default/prepare.yml b/roles/undercloud_tokenflush/molecule/default/prepare.yml index 5c5133f24..01af68f5a 100644 --- a/roles/undercloud_tokenflush/molecule/default/prepare.yml +++ b/roles/undercloud_tokenflush/molecule/default/prepare.yml @@ -18,8 +18,15 @@ - name: Prepare hosts: all gather_facts: false - tasks: + - name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env + - name: install hiera package: name: hiera @@ -38,15 +45,8 @@ :yaml: :datadir: "/etc/puppet/" :hierarchy: - - "common" - "service_configs" - - name: populate hiera content - copy: - dest: /etc/puppet/common.yaml - content: | - tripleo_undercloud_conf_file: /undercloud.conf - - name: populate service config content copy: dest: /etc/puppet/service_configs.yaml @@ -55,7 +55,7 @@ - name: populate undercloud.conf copy: - dest: /undercloud.conf + dest: "{{ ansible_env.HOME }}/undercloud.conf" content: | [DEFAULT] container_cli = podman diff --git a/roles/undercloud_tokenflush/tasks/main.yml b/roles/undercloud_tokenflush/tasks/main.yml index 0776daa71..84b05dcea 100644 --- a/roles/undercloud_tokenflush/tasks/main.yml +++ b/roles/undercloud_tokenflush/tasks/main.yml @@ -9,15 +9,18 @@ - ansible_facts['keystone::token_provider'] != 'fernet' - ansible_facts['keystone::token_provider'] != 'jws' block: - - - name: Get the path of tripleo undercloud config file - become: true - hiera: name="tripleo_undercloud_conf_file" + - name: Ensure we get needed facts + setup: + gather_subset: + - '!all' + - '!any' + - '!min' + - env - name: Get the Container CLI from the undercloud.conf file become: true validations_read_ini: - path: "{{ tripleo_undercloud_conf_file }}" + path: "{{ ansible_env.HOME }}/undercloud.conf" section: DEFAULT key: container_cli ignore_missing_file: true diff --git a/zuul.d/molecule.yaml b/zuul.d/molecule.yaml index 45cefcef9..05e204950 100644 --- a/zuul.d/molecule.yaml +++ b/zuul.d/molecule.yaml @@ -258,7 +258,6 @@ parent: tripleo-validations-centos-8-base vars: tripleo_validations_role_name: check_network_gateway - voting: false - job: files: - ^roles/undercloud_heat_purge_deleted/.*