Code Review
/
apex-tripleo-heat-templates.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Merge "Add option to disable "d1" Swift device"
[apex-tripleo-heat-templates.git]
/
extraconfig
/
tasks
/
major_upgrade_ceph_mon.sh
diff --git
a/extraconfig/tasks/major_upgrade_ceph_mon.sh
b/extraconfig/tasks/major_upgrade_ceph_mon.sh
index
b76dd7c
..
e0d160f
100755
(executable)
--- a/
extraconfig/tasks/major_upgrade_ceph_mon.sh
+++ b/
extraconfig/tasks/major_upgrade_ceph_mon.sh
@@
-5,7
+5,7
@@
set -o pipefail
echo INFO: starting $(basename "$0")
# Exit if not running
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
echo INFO: ceph-mon is not running, skipping
exit 0
fi
@@
-18,13
+18,13
@@
if ! [[ "$INSTALLED_VERSION" =~ ^0\.94.* ]]; then
fi
CEPH_STATUS=$(ceph health | awk '{print $1}')
fi
CEPH_STATUS=$(ceph health | awk '{print $1}')
-if [ ${CEPH_STATUS} = HEALTH_ERR ];
do
+if [ ${CEPH_STATUS} = HEALTH_ERR ];
then
echo ERROR: Ceph cluster status is HEALTH_ERR, cannot be upgraded
exit 1
fi
# Useful when upgrading with OSDs num < replica size
echo ERROR: Ceph cluster status is HEALTH_ERR, cannot be upgraded
exit 1
fi
# Useful when upgrading with OSDs num < replica size
-if [
$ignore_ceph_upgrade_warnings != "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;
timeout 300 bash -c "while [ ${CEPH_STATUS} != HEALTH_OK ]; do
echo WARNING: Waiting for Ceph cluster status to go HEALTH_OK;
sleep 30;
@@
-44,7
+44,7
@@
timeout 60 bash -c "while kill -0 ${MON_PID} 2> /dev/null; do
done"
# Update to Jewel
done"
# Update to Jewel
-yum -y -q update ceph-mon
+yum -y -q update ceph-mon
ceph
# Restart/Exit if not on Jewel, only in that case we need the changes
UPDATED_VERSION=$(ceph --version | awk '{print $3}')
# Restart/Exit if not on Jewel, only in that case we need the changes
UPDATED_VERSION=$(ceph --version | awk '{print $3}')
@@
-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
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
+ chown -
L -R ceph:ceph $d || echo WARNING: chown of $d faile
d
done
# Replay udev events with newer rules
done
# Replay udev events with newer rules
@@
-71,6
+71,10
@@
elif [[ "$UPDATED_VERSION" =~ ^10\.2.* ]]; then
sleep 10;
done"
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
echo INFO: Ceph was upgraded to Jewel
else
echo ERROR: Ceph was upgraded to an unknown release, daemon is stopped, need manual intervention