]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
rolling_update: fail if less than 3 MONs
authorRamana Raja <rraja@redhat.com>
Mon, 3 Dec 2018 14:25:42 +0000 (19:55 +0530)
committerSébastien Han <seb@redhat.com>
Tue, 4 Dec 2018 15:34:57 +0000 (16:34 +0100)
... for non-containerized deployments as well.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1655470
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit cb784c601d2063b95fb7d2514e39518137164e12)

infrastructure-playbooks/rolling_update.yml

index b655c6d7018a48d8e0b2a37ce9700521917bac93..c1969f7d7ecc1cca4b7481cded245cc11cf965a8 100644 (file)
     - name: set mon_host_count
       set_fact: mon_host_count={{ groups[mon_group_name] | length }}
 
-    - debug: msg="WARNING - upgrading a ceph cluster with only one monitor node ({{ inventory_hostname }})"
-      when: mon_host_count | int == 1
-
-    - name: fail when single containerized monitor
+    - name: fail when less than three monitors
       fail:
-        msg: "Upgrades of a single monitor are not supported, also running 1 monitor is not recommended always use 3."
+        msg: "Upgrade of cluster with less than three monitors is not supported."
       when:
-        - containerized_deployment
-        - mon_host_count | int == 1
+        - mon_host_count | int < 3
 
     - name: stop ceph mon - shortname
       systemd:
     - name: set mon_host_count
       set_fact: mon_host_count={{ groups[mon_group_name] | length }}
 
-    - name: select a running monitor if multiple monitors
+    - name: select a running monitor
       set_fact:
-        mon_host: "{{ groups[mon_group_name] | difference([inventory_hostname]) | last if mon_host_count > 1 else groups[mon_group_name] | last }}"
+        mon_host: "{{ groups[mon_group_name] | difference([inventory_hostname]) | last }}"
 
     - name: non container | waiting for the monitor to join the quorum...
       command: ceph --cluster "{{ cluster }}" -s --format json