From ba0f16f485a62a551c3b50520739ad1a134c0d3d Mon Sep 17 00:00:00 2001 From: Daniel Marks Date: Sat, 26 Nov 2016 22:16:07 +0100 Subject: [PATCH] Better --check compatibility for ceph-osd role Carefully chosen "always_run: true" parameters for read-only tasks that register variables. This enables --check runs (at least on deployed clusters). --- roles/ceph-osd/tasks/activate_osds.yml | 1 + roles/ceph-osd/tasks/check_devices.yml | 1 + roles/ceph-osd/tasks/check_devices_auto.yml | 3 +++ roles/ceph-osd/tasks/check_devices_static.yml | 3 +++ roles/ceph-osd/tasks/docker/checks.yml | 1 + roles/ceph-osd/tasks/docker/dirs_permissions.yml | 1 + roles/ceph-osd/tasks/docker/fetch_configs.yml | 1 + roles/ceph-osd/tasks/docker/main.yml | 2 ++ roles/ceph-osd/tasks/docker/selinux.yml | 1 + roles/ceph-osd/tasks/docker/start_docker_osd.yml | 1 + roles/ceph-osd/tasks/osd_fragment.yml | 3 +++ 11 files changed, 18 insertions(+) diff --git a/roles/ceph-osd/tasks/activate_osds.yml b/roles/ceph-osd/tasks/activate_osds.yml index 1ea1d5e9d..3b7a5919d 100644 --- a/roles/ceph-osd/tasks/activate_osds.yml +++ b/roles/ceph-osd/tasks/activate_osds.yml @@ -104,6 +104,7 @@ shell: 'ls /var/lib/ceph/osd/ | grep -oP "\d+$"' changed_when: false failed_when: false + always_run: true register: osd_id when: - use_systemd diff --git a/roles/ceph-osd/tasks/check_devices.yml b/roles/ceph-osd/tasks/check_devices.yml index 5cad161fb..5c8cb76ec 100644 --- a/roles/ceph-osd/tasks/check_devices.yml +++ b/roles/ceph-osd/tasks/check_devices.yml @@ -29,6 +29,7 @@ with_items: "{{ raw_journal_devices|unique }}" changed_when: false failed_when: false + always_run: true register: journal_partition_status when: raw_multi_journal or dmcrypt_dedicated_journal diff --git a/roles/ceph-osd/tasks/check_devices_auto.yml b/roles/ceph-osd/tasks/check_devices_auto.yml index 29985bed1..19d82ba75 100644 --- a/roles/ceph-osd/tasks/check_devices_auto.yml +++ b/roles/ceph-osd/tasks/check_devices_auto.yml @@ -4,6 +4,7 @@ with_dict: "{{ ansible_devices }}" changed_when: false failed_when: false + always_run: true register: ispartition_results when: - ansible_devices is defined @@ -14,6 +15,7 @@ with_dict: "{{ ansible_devices }}" changed_when: false failed_when: false + always_run: true register: osd_partition_status_results when: - ansible_devices is defined @@ -37,6 +39,7 @@ with_dict: "{{ ansible_devices }}" changed_when: false failed_when: false + always_run: true register: parted_results when: - ansible_devices is defined diff --git a/roles/ceph-osd/tasks/check_devices_static.yml b/roles/ceph-osd/tasks/check_devices_static.yml index 1228292e8..bf301c29f 100644 --- a/roles/ceph-osd/tasks/check_devices_static.yml +++ b/roles/ceph-osd/tasks/check_devices_static.yml @@ -4,6 +4,7 @@ with_items: "{{ devices }}" changed_when: false failed_when: false + always_run: true register: ispartition_results - name: check the partition status of the osd disks @@ -11,6 +12,7 @@ with_items: "{{ devices }}" changed_when: false failed_when: false + always_run: true register: osd_partition_status_results # NOTE: The following calls to sgdisk are retried because sgdisk is known to @@ -31,4 +33,5 @@ with_items: "{{ devices }}" changed_when: false failed_when: false + always_run: true register: parted_results diff --git a/roles/ceph-osd/tasks/docker/checks.yml b/roles/ceph-osd/tasks/docker/checks.yml index 09cb57b57..968fc038c 100644 --- a/roles/ceph-osd/tasks/docker/checks.yml +++ b/roles/ceph-osd/tasks/docker/checks.yml @@ -16,6 +16,7 @@ with_items: "{{ ceph_config_keys }}" changed_when: false failed_when: false + always_run: true register: statleftover - name: fail if we find existing cluster files diff --git a/roles/ceph-osd/tasks/docker/dirs_permissions.yml b/roles/ceph-osd/tasks/docker/dirs_permissions.yml index 986e4498f..cdafab0c7 100644 --- a/roles/ceph-osd/tasks/docker/dirs_permissions.yml +++ b/roles/ceph-osd/tasks/docker/dirs_permissions.yml @@ -6,6 +6,7 @@ changed_when: false failed_when: false run_once: true + always_run: true register: ceph_version - set_fact: diff --git a/roles/ceph-osd/tasks/docker/fetch_configs.yml b/roles/ceph-osd/tasks/docker/fetch_configs.yml index 5a740f7a6..bf908a5fd 100644 --- a/roles/ceph-osd/tasks/docker/fetch_configs.yml +++ b/roles/ceph-osd/tasks/docker/fetch_configs.yml @@ -18,6 +18,7 @@ changed_when: false become: false failed_when: false + always_run: true register: statconfig - name: try to copy ceph config and keys diff --git a/roles/ceph-osd/tasks/docker/main.yml b/roles/ceph-osd/tasks/docker/main.yml index b418fa132..3d778eb2d 100644 --- a/roles/ceph-osd/tasks/docker/main.yml +++ b/roles/ceph-osd/tasks/docker/main.yml @@ -4,6 +4,7 @@ register: ceph_health changed_when: false failed_when: false + always_run: true - include: checks.yml when: @@ -14,6 +15,7 @@ - name: check if it is Atomic host stat: path=/run/ostree-booted register: stat_ostree + always_run: true - name: set fact for using Atomic host set_fact: diff --git a/roles/ceph-osd/tasks/docker/selinux.yml b/roles/ceph-osd/tasks/docker/selinux.yml index 3630824d7..6d4ee022f 100644 --- a/roles/ceph-osd/tasks/docker/selinux.yml +++ b/roles/ceph-osd/tasks/docker/selinux.yml @@ -3,6 +3,7 @@ command: getenforce register: sestatus changed_when: false + always_run: true - name: set selinux permissions shell: chcon -Rt svirt_sandbox_file_t {{ item }} diff --git a/roles/ceph-osd/tasks/docker/start_docker_osd.yml b/roles/ceph-osd/tasks/docker/start_docker_osd.yml index a39493168..34c9f6c3f 100644 --- a/roles/ceph-osd/tasks/docker/start_docker_osd.yml +++ b/roles/ceph-osd/tasks/docker/start_docker_osd.yml @@ -12,6 +12,7 @@ - name: verify if the disk was already prepared shell: "lsblk -o PARTLABEL {{ item }} | grep -sq 'ceph'" failed_when: false + always_run: true with_items: "{{ ceph_osd_docker_devices }}" register: osd_prepared diff --git a/roles/ceph-osd/tasks/osd_fragment.yml b/roles/ceph-osd/tasks/osd_fragment.yml index 7cd0f36a1..9aa97b8a3 100644 --- a/roles/ceph-osd/tasks/osd_fragment.yml +++ b/roles/ceph-osd/tasks/osd_fragment.yml @@ -4,6 +4,7 @@ with_items: "{{ devices }}" changed_when: false failed_when: false + always_run: true register: osd_path when: not osd_directory @@ -12,6 +13,7 @@ with_items: "{{ osd_path.results }}" changed_when: false failed_when: false + always_run: true register: osd_id_non_dir_scenario when: not osd_directory @@ -20,6 +22,7 @@ with_items: "{{ osd_directories }}" changed_when: false failed_when: false + always_run: true register: osd_id_dir_scenario when: osd_directory -- 2.39.5