Merge "Adds etcd composable service"
[apex-tripleo-heat-templates.git] / extraconfig / tasks / major_upgrade_ceph_mon.sh
index 21a2b5b..e0d160f 100755 (executable)
@@ -5,7 +5,7 @@ set -o pipefail
 echo INFO: starting $(basename "$0")
 
 # Exit if not running
-if ! pidof ceph-mon; then
+if ! pidof ceph-mon &> /dev/null; then
     echo INFO: ceph-mon is not running, skipping
     exit 0
 fi
@@ -24,7 +24,7 @@ if [ ${CEPH_STATUS} = HEALTH_ERR ]; then
 fi
 
 # Useful when upgrading with OSDs num < replica size
-if [ ${ignore_ceph_upgrade_warnings:-false} != "true" ]; then
+if [[ ${ignore_ceph_upgrade_warnings:-False} != [Tt]rue ]]; then
     timeout 300 bash -c "while [ ${CEPH_STATUS} != HEALTH_OK ]; do
       echo WARNING: Waiting for Ceph cluster status to go HEALTH_OK;
       sleep 30;
@@ -54,7 +54,7 @@ if [[ "$UPDATED_VERSION" =~ ^0\.94.* ]]; then
 elif [[ "$UPDATED_VERSION" =~ ^10\.2.* ]]; then
     # RPM could own some of these but we can't take risks on the pre-existing files
     for d in /var/lib/ceph/mon /var/log/ceph /var/run/ceph /etc/ceph; do
-        chown -R ceph:ceph $d || echo WARNING: chown of $d failed
+        chown -L -R ceph:ceph $d || echo WARNING: chown of $d failed
     done
 
     # Replay udev events with newer rules
@@ -71,6 +71,10 @@ elif [[ "$UPDATED_VERSION" =~ ^10\.2.* ]]; then
       sleep 10;
     done"
 
+    # if tunables become legacy, cluster status will be HEALTH_WARN causing
+    # upgrade to fail on following node
+    ceph osd crush tunables default
+
     echo INFO: Ceph was upgraded to Jewel
 else
     echo ERROR: Ceph was upgraded to an unknown release, daemon is stopped, need manual intervention