From dfc9f1ea5b8472c662829ff5fd35a900da8bbe4d Mon Sep 17 00:00:00 2001 From: Elinor Montmasson Date: Fri, 29 Nov 2024 13:06:54 +0100 Subject: [PATCH] roles: playbooks: vars: use new detect_seapath_distro role Use the new detect_seapath_distro role to detect the Seapath distribution and conditionally execute distro specific tasks. This replaces the use of the ansible_distribution fact. This fact cannot be used with Yocto Seapath as it depends on the DISTRO_NAME configured during build. This new role sets a seapath_distro fact to use by playbooks and roles. * Replace the use of ansible_distribution in roles by seapath_distro. Also add detect_seapath_distro a requirement for these roles to make sure seapath_distro is always set. * Call the detect_seapath_distro role and use seapath_distro in playbooks needing it. * Rename "Seapath_host_Yocto_distribution.yml" vars files to "Yocto.yml" to match and use seapath_distro. Signed-off-by: Elinor Montmasson --- playbooks/cluster_setup_ceph.yaml | 6 ++++++ playbooks/cluster_setup_ha.yaml | 1 - playbooks/seapath_setup_main.yaml | 14 ++++++-------- playbooks/seapath_setup_snmp.yaml | 9 --------- playbooks/seapath_setup_timemaster.yaml | 9 --------- playbooks/test_run_cukinia.yaml | 4 +++- roles/add_livemigration_user/README.md | 2 +- roles/add_livemigration_user/meta/main.yml | 3 ++- roles/ceph_prepare_installation/README.md | 2 +- roles/ceph_prepare_installation/meta/main.yml | 4 ++-- roles/ci_restore_snapshot/README.md | 2 +- roles/ci_restore_snapshot/meta/main.yml | 4 ++-- roles/ci_restore_snapshot/tasks/main.yml | 2 +- ...apath_host_Yocto_distribution.yml => Yocto.yml} | 0 roles/configure_ha/README.md | 2 +- roles/configure_ha/meta/main.yml | 3 ++- roles/configure_ha/tasks/main.yml | 2 +- ...apath_host_Yocto_distribution.yml => Yocto.yml} | 0 roles/network_configovs/README.md | 2 +- roles/network_configovs/meta/main.yml | 3 ++- roles/network_configovs/tasks/main.yml | 3 +-- ...apath_host_Yocto_distribution.yml => Yocto.yml} | 0 roles/snmp/README.md | 2 +- roles/snmp/meta/main.yml | 3 ++- roles/snmp/tasks/main.yml | 2 +- ...apath_host_Yocto_distribution.yml => Yocto.yml} | 0 roles/timemaster/README.md | 2 +- roles/timemaster/meta/main.yml | 3 ++- roles/timemaster/tasks/main.yml | 2 +- ...apath_host_Yocto_distribution.yml => Yocto.yml} | 0 ...octo_distribution_paths.yml => Yocto_paths.yml} | 0 31 files changed, 41 insertions(+), 50 deletions(-) rename roles/ci_restore_snapshot/vars/{Seapath_host_Yocto_distribution.yml => Yocto.yml} (100%) rename roles/configure_ha/vars/{Seapath_host_Yocto_distribution.yml => Yocto.yml} (100%) rename roles/network_configovs/vars/{Seapath_host_Yocto_distribution.yml => Yocto.yml} (100%) rename roles/snmp/vars/{Seapath_host_Yocto_distribution.yml => Yocto.yml} (100%) rename roles/timemaster/vars/{Seapath_host_Yocto_distribution.yml => Yocto.yml} (100%) rename vars/{Seapath_host_Yocto_distribution_paths.yml => Yocto_paths.yml} (100%) diff --git a/playbooks/cluster_setup_ceph.yaml b/playbooks/cluster_setup_ceph.yaml index a695242f8..811c741a4 100644 --- a/playbooks/cluster_setup_ceph.yaml +++ b/playbooks/cluster_setup_ceph.yaml @@ -12,6 +12,12 @@ roles: - ceph_prepare_installation +- name: Detect Seapath distribution + hosts: + osds + roles: + - detect_seapath_distro + - name: Ceph Expansion VG hosts: osds diff --git a/playbooks/cluster_setup_ha.yaml b/playbooks/cluster_setup_ha.yaml index d070f9556..fde6fa9aa 100644 --- a/playbooks/cluster_setup_ha.yaml +++ b/playbooks/cluster_setup_ha.yaml @@ -8,7 +8,6 @@ - name: Configure HA basics hosts: cluster_machines become: true - gather_facts: true vars: tmpdir: "/tmp" corosync_node_list: "{{ groups['cluster_machines'] | list }}" diff --git a/playbooks/seapath_setup_main.yaml b/playbooks/seapath_setup_main.yaml index 90f05757d..d9cc1ea7a 100644 --- a/playbooks/seapath_setup_main.yaml +++ b/playbooks/seapath_setup_main.yaml @@ -9,23 +9,21 @@ # This playbooks can also configure VMs created with build_debian_iso # This playbook also configures Yocto standalone machine (no cluster) -- name: Gather ansible_distribution +- name: Detect Seapath distribution hosts: - cluster_machines - standalone_machine - tasks: - - name: Gather only the ansible_distribution fact - ansible.builtin.setup: - filter: ansible_distribution + roles: + - detect_seapath_distro - import_playbook: seapath_setup_prerequiscentos.yaml - when: ansible_distribution | regex_search("CentOS|RedHat") + when: seapath_distro == "CentOS" - import_playbook: seapath_setup_prerequisdebian.yaml - when: ansible_distribution | regex_search("Debian") + when: seapath_distro == "Debian" - import_playbook: seapath_setup_prerequisyocto.yaml - when: ansible_distribution | regex_search("Yocto") + when: seapath_distro == "Yocto" - import_playbook: seapath_setup_network.yaml diff --git a/playbooks/seapath_setup_snmp.yaml b/playbooks/seapath_setup_snmp.yaml index 56abdfe3b..cd70fe645 100644 --- a/playbooks/seapath_setup_snmp.yaml +++ b/playbooks/seapath_setup_snmp.yaml @@ -1,15 +1,6 @@ # Copyright (C) 2024, RTE (http://www.rte-france.com) # SPDX-License-Identifier: Apache-2.0 -- name: Gather ansible_distribution - hosts: - - cluster_machines - - standalone_machine - tasks: - - name: Gather only the ansible_distribution fact - ansible.builtin.setup: - filter: ansible_distribution - - name: Configure snmp hosts: - cluster_machines diff --git a/playbooks/seapath_setup_timemaster.yaml b/playbooks/seapath_setup_timemaster.yaml index c2dcd7c55..1d8cfa5ac 100644 --- a/playbooks/seapath_setup_timemaster.yaml +++ b/playbooks/seapath_setup_timemaster.yaml @@ -1,15 +1,6 @@ # Copyright (C) 2024, RTE (http://www.rte-france.com) # SPDX-License-Identifier: Apache-2.0 -- name: Gather ansible_distribution - hosts: - - cluster_machines - - standalone_machine - tasks: - - name: Gather only the ansible_distribution fact - ansible.builtin.setup: - filter: ansible_distribution - - name: Configure timemaster hosts: - cluster_machines diff --git a/playbooks/test_run_cukinia.yaml b/playbooks/test_run_cukinia.yaml index 442f32e5d..771484d6c 100644 --- a/playbooks/test_run_cukinia.yaml +++ b/playbooks/test_run_cukinia.yaml @@ -11,8 +11,10 @@ - cluster_machines - standalone_machine - VMs + roles: + - detect_seapath_distro tasks: - - include_vars: "../vars/{{ ansible_distribution }}_paths.yml" + - include_vars: "../vars/{{ seapath_distro }}_paths.yml" - hosts: - cluster_machines diff --git a/roles/add_livemigration_user/README.md b/roles/add_livemigration_user/README.md index 383969ba7..8e0a669a5 100644 --- a/roles/add_livemigration_user/README.md +++ b/roles/add_livemigration_user/README.md @@ -4,7 +4,7 @@ This role sets the live migration user on the cluster, with ssh key exchanges ## Requirements -no requirement. +- detect_seapath_distro ## Role Variables diff --git a/roles/add_livemigration_user/meta/main.yml b/roles/add_livemigration_user/meta/main.yml index ec8317ed5..1910e69c7 100644 --- a/roles/add_livemigration_user/meta/main.yml +++ b/roles/add_livemigration_user/meta/main.yml @@ -10,4 +10,5 @@ galaxy_info: - name: Debian versions: - all -dependencies: [] +dependencies: + - role: detect_seapath_distro diff --git a/roles/ceph_prepare_installation/README.md b/roles/ceph_prepare_installation/README.md index 143b90fbe..70d341a99 100644 --- a/roles/ceph_prepare_installation/README.md +++ b/roles/ceph_prepare_installation/README.md @@ -4,7 +4,7 @@ This role prepares the ceph installation by identifying if it's a new install an ## Requirements -no requirement. +- detect_seapath_distro ## Role Variables diff --git a/roles/ceph_prepare_installation/meta/main.yml b/roles/ceph_prepare_installation/meta/main.yml index 6d99f36c1..8d612824d 100644 --- a/roles/ceph_prepare_installation/meta/main.yml +++ b/roles/ceph_prepare_installation/meta/main.yml @@ -10,5 +10,5 @@ galaxy_info: - name: Debian versions: - all -dependencies: [] - +dependencies: + - role: detect_seapath_distro diff --git a/roles/ci_restore_snapshot/README.md b/roles/ci_restore_snapshot/README.md index 3cbcede39..a9215a611 100644 --- a/roles/ci_restore_snapshot/README.md +++ b/roles/ci_restore_snapshot/README.md @@ -4,7 +4,7 @@ This role restores the LVM snapshot of the root LV and re-creates it ## Requirements -no requirement. +- detect_seapath_distro ## Role Variables diff --git a/roles/ci_restore_snapshot/meta/main.yml b/roles/ci_restore_snapshot/meta/main.yml index fa12f2a38..6fc33a4eb 100644 --- a/roles/ci_restore_snapshot/meta/main.yml +++ b/roles/ci_restore_snapshot/meta/main.yml @@ -10,5 +10,5 @@ galaxy_info: - name: Debian versions: - all -dependencies: [] - +dependencies: + - role: detect_seapath_distro diff --git a/roles/ci_restore_snapshot/tasks/main.yml b/roles/ci_restore_snapshot/tasks/main.yml index 271d4e7bb..4e5a26fa6 100644 --- a/roles/ci_restore_snapshot/tasks/main.yml +++ b/roles/ci_restore_snapshot/tasks/main.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 --- -- include_vars: "{{ ansible_distribution | replace(' ', '_') }}.yml" +- include_vars: "{{ seapath_distro }}.yml" - name: "grub conf" lineinfile: diff --git a/roles/ci_restore_snapshot/vars/Seapath_host_Yocto_distribution.yml b/roles/ci_restore_snapshot/vars/Yocto.yml similarity index 100% rename from roles/ci_restore_snapshot/vars/Seapath_host_Yocto_distribution.yml rename to roles/ci_restore_snapshot/vars/Yocto.yml diff --git a/roles/configure_ha/README.md b/roles/configure_ha/README.md index d86b65ec4..027ba013b 100644 --- a/roles/configure_ha/README.md +++ b/roles/configure_ha/README.md @@ -4,7 +4,7 @@ This role configures the High Availability part of a seapath cluster (Corosync a ## Requirements -no requirement. +- detect_seapath_distro ## Role Variables diff --git a/roles/configure_ha/meta/main.yml b/roles/configure_ha/meta/main.yml index dc9b468c3..26327d7b2 100644 --- a/roles/configure_ha/meta/main.yml +++ b/roles/configure_ha/meta/main.yml @@ -8,4 +8,5 @@ galaxy_info: - name: Debian versions: - all -dependencies: [] +dependencies: + - role: detect_seapath_distro diff --git a/roles/configure_ha/tasks/main.yml b/roles/configure_ha/tasks/main.yml index a4ac3d273..378a9787e 100644 --- a/roles/configure_ha/tasks/main.yml +++ b/roles/configure_ha/tasks/main.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 --- -- include_vars: "{{ ansible_distribution | replace(' ', '_') }}.yml" +- include_vars: "{{ seapath_distro }}.yml" - name: Save cluster machine informations template: diff --git a/roles/configure_ha/vars/Seapath_host_Yocto_distribution.yml b/roles/configure_ha/vars/Yocto.yml similarity index 100% rename from roles/configure_ha/vars/Seapath_host_Yocto_distribution.yml rename to roles/configure_ha/vars/Yocto.yml diff --git a/roles/network_configovs/README.md b/roles/network_configovs/README.md index 2ec1f6c22..ca054dcfb 100644 --- a/roles/network_configovs/README.md +++ b/roles/network_configovs/README.md @@ -4,7 +4,7 @@ This role configures OVS ## Requirements -no requirement. +- detect_seapath_distro ## Role Variables diff --git a/roles/network_configovs/meta/main.yml b/roles/network_configovs/meta/main.yml index b44124c14..c9d000286 100644 --- a/roles/network_configovs/meta/main.yml +++ b/roles/network_configovs/meta/main.yml @@ -10,4 +10,5 @@ galaxy_info: - name: Debian versions: - all -dependencies: [] +dependencies: + - role: detect_seapath_distro diff --git a/roles/network_configovs/tasks/main.yml b/roles/network_configovs/tasks/main.yml index 7b9e578bf..01ddc912d 100644 --- a/roles/network_configovs/tasks/main.yml +++ b/roles/network_configovs/tasks/main.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 --- -- include_vars: "{{ ansible_distribution | replace(' ', '_') }}.yml" +- include_vars: "{{ seapath_distro }}.yml" - name: Create OVS configuration template: @@ -29,4 +29,3 @@ when: - ovs_vsctl_cmds is defined loop: "{{ ovs_vsctl_cmds }}" - diff --git a/roles/network_configovs/vars/Seapath_host_Yocto_distribution.yml b/roles/network_configovs/vars/Yocto.yml similarity index 100% rename from roles/network_configovs/vars/Seapath_host_Yocto_distribution.yml rename to roles/network_configovs/vars/Yocto.yml diff --git a/roles/snmp/README.md b/roles/snmp/README.md index 7247b787f..86c8ccec4 100644 --- a/roles/snmp/README.md +++ b/roles/snmp/README.md @@ -4,7 +4,7 @@ This role configure the SNMP feature ## Requirements -no requirement. +- detect_seapath_distro ## Role Variables diff --git a/roles/snmp/meta/main.yml b/roles/snmp/meta/main.yml index 390f37487..ff529a116 100644 --- a/roles/snmp/meta/main.yml +++ b/roles/snmp/meta/main.yml @@ -10,4 +10,5 @@ galaxy_info: - name: Debian versions: - all -dependencies: [] +dependencies: + - role: detect_seapath_distro diff --git a/roles/snmp/tasks/main.yml b/roles/snmp/tasks/main.yml index 48bf99662..500c9bd0c 100644 --- a/roles/snmp/tasks/main.yml +++ b/roles/snmp/tasks/main.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 --- -- include_vars: "{{ ansible_distribution | replace(' ', '_') }}.yml" +- include_vars: "{{ seapath_distro }}.yml" - name: configure snmp block: diff --git a/roles/snmp/vars/Seapath_host_Yocto_distribution.yml b/roles/snmp/vars/Yocto.yml similarity index 100% rename from roles/snmp/vars/Seapath_host_Yocto_distribution.yml rename to roles/snmp/vars/Yocto.yml diff --git a/roles/timemaster/README.md b/roles/timemaster/README.md index fbcd591e5..109b21958 100644 --- a/roles/timemaster/README.md +++ b/roles/timemaster/README.md @@ -4,7 +4,7 @@ This role configures timemaster ## Requirements -no requirement. +- detect_seapath_distro ## Role Variables diff --git a/roles/timemaster/meta/main.yml b/roles/timemaster/meta/main.yml index 56cf3fe19..71f163ac5 100644 --- a/roles/timemaster/meta/main.yml +++ b/roles/timemaster/meta/main.yml @@ -10,4 +10,5 @@ galaxy_info: - name: Debian versions: - all -dependencies: [] +dependencies: + - role: detect_seapath_distro diff --git a/roles/timemaster/tasks/main.yml b/roles/timemaster/tasks/main.yml index ba4a5214a..2f4ed5754 100644 --- a/roles/timemaster/tasks/main.yml +++ b/roles/timemaster/tasks/main.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 --- -- include_vars: "{{ ansible_distribution | replace(' ', '_') }}.yml" +- include_vars: "{{ seapath_distro }}.yml" - name: Populate service facts service_facts: diff --git a/roles/timemaster/vars/Seapath_host_Yocto_distribution.yml b/roles/timemaster/vars/Yocto.yml similarity index 100% rename from roles/timemaster/vars/Seapath_host_Yocto_distribution.yml rename to roles/timemaster/vars/Yocto.yml diff --git a/vars/Seapath_host_Yocto_distribution_paths.yml b/vars/Yocto_paths.yml similarity index 100% rename from vars/Seapath_host_Yocto_distribution_paths.yml rename to vars/Yocto_paths.yml