Do not try to update the 'ceph' metapackage from CephMon role
authorGiulio Fidente <gfidente@redhat.com>
Thu, 26 Jan 2017 12:31:38 +0000 (13:31 +0100)
committerGiulio Fidente <gfidente@redhat.com>
Thu, 26 Jan 2017 13:40:49 +0000 (13:40 +0000)
The 'ceph' metapackage is only provided by some repos so we should
not explicitly pull it.

Also adds a validation step to the CephMon and CephOSD roles to
stop upgrade if the Ceph cluster is in error state.

Change-Id: I5aa275677ada47a352a327b9be21927b852d16f3

puppet/services/ceph-mon.yaml
puppet/services/ceph-osd.yaml

index 0c61305..1ce5833 100644 (file)
@@ -117,6 +117,9 @@ outputs:
         # Note we perform these tasks in list order, but they are all step0 so
         # we can perform a rolling upgrade of all mon nodes in step0, then a
         # rolling upgrade of all osd nodes in step1
+        - name: Check status
+          tags: step0,validation
+          shell: ceph health | grep -qv HEALTH_ERR
         # FIXME(shardy) I suspect we can use heat or ansible facts here instead?
         - name: Get hostname
           tags: step0
@@ -127,7 +130,7 @@ outputs:
           service: name=ceph-mon@{{mon_id.stdout}} pattern=ceph-mon state=stopped
         - name: Update ceph packages
           tags: step0
-          yum: name=ceph-mon,ceph state=latest
+          yum: name=ceph-mon state=latest
         - name: Start ceph-mon service
           tags: step0
           service: name=ceph-mon@{{mon_id.stdout}} state=started
index e9ed6c2..98f83d0 100644 (file)
@@ -46,6 +46,9 @@ outputs:
       step_config: |
         include ::tripleo::profile::base::ceph::osd
       upgrade_batch_tasks:
+        - name: Check status
+          tags: step1,validation
+          shell: ceph health | grep -qv HEALTH_ERR
         - name: Get OSD IDs
           tags: step1
           shell: ls /var/lib/ceph/osd | awk 'BEGIN { FS = "-" } ; { print $2 }'