aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiulio Fidente <gfidente@redhat.com>2017-01-26 13:31:38 +0100
committerGiulio Fidente <gfidente@redhat.com>2017-01-26 13:40:49 +0000
commitbf4c3f21ce5ad2cc87ed2a2efda7ea3bb188c428 (patch)
tree5105fcbcd8c94584274889275a5357dbba9e1d75
parent405ccc3a95ee221d98844b41458e4331dfc97f60 (diff)
Do not try to update the 'ceph' metapackage from CephMon role
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
-rw-r--r--puppet/services/ceph-mon.yaml5
-rw-r--r--puppet/services/ceph-osd.yaml3
2 files changed, 7 insertions, 1 deletions
diff --git a/puppet/services/ceph-mon.yaml b/puppet/services/ceph-mon.yaml
index 0c61305d..1ce58335 100644
--- a/puppet/services/ceph-mon.yaml
+++ b/puppet/services/ceph-mon.yaml
@@ -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
diff --git a/puppet/services/ceph-osd.yaml b/puppet/services/ceph-osd.yaml
index e9ed6c29..98f83d08 100644
--- a/puppet/services/ceph-osd.yaml
+++ b/puppet/services/ceph-osd.yaml
@@ -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 }'