3225570530
The MTC client manages ceph services via ceph.sh which is installed on all node types in /etc/service.d/{controller,worker,storage}/ceph.sh Since the AIO controllers have both controller and worker personalities, the MTC client will execute the ceph script twice (/etc/service.d/worker/ceph.sh, /etc/service.d/controller/ceph.sh). This behavior will generate some issues. We fix this by exiting the ceph script if it is the one from /etc/services.d/worker on AIO systems. Closes-Bug: 1928934 Change-Id: I3e4dc313cc3764f870b8f6c640a6033822639926 Signed-off-by: Mihnea Saracin <Mihnea.Saracin@windriver.com>
79 lines
1.4 KiB
Bash
79 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
INITDIR=/etc/init.d
|
|
LOGFILE=/var/log/ceph/ceph-init.log
|
|
CEPH_FILE=/var/run/.ceph_started
|
|
|
|
# Get our nodetype
|
|
. /etc/platform/platform.conf
|
|
|
|
# Exit immediately if ceph not configured (i.e. no mon in the config file)
|
|
if ! grep -q "mon\." /etc/ceph/ceph.conf
|
|
then
|
|
exit 0
|
|
fi
|
|
|
|
logecho ()
|
|
{
|
|
echo $1
|
|
date >> ${LOGFILE}
|
|
echo $1 >> ${LOGFILE}
|
|
}
|
|
|
|
start ()
|
|
{
|
|
logecho "Starting ceph services..."
|
|
${INITDIR}/ceph start >> ${LOGFILE} 2>&1
|
|
RC=$?
|
|
|
|
if [ ! -f ${CEPH_FILE} ]; then
|
|
touch ${CEPH_FILE}
|
|
fi
|
|
}
|
|
|
|
stop ()
|
|
{
|
|
if [[ "$system_type" == "All-in-one" ]] && [[ "$system_mode" == "simplex" ]]; then
|
|
logecho "Ceph services will continue to run on node"
|
|
exit 0
|
|
fi
|
|
|
|
logecho "Stopping ceph services..."
|
|
|
|
if [ -f ${CEPH_FILE} ]; then
|
|
rm -f ${CEPH_FILE}
|
|
fi
|
|
|
|
${INITDIR}/ceph stop >> ${LOGFILE} 2>&1
|
|
RC=$?
|
|
}
|
|
|
|
# If system is an AIO the mtcClient will run this script twice
|
|
# from 2 locations and this generates some errors.
|
|
# So we have to exit the script if is called
|
|
# from /etc/services.d/worker in order to be executed once
|
|
if [[ "$system_type" == "All-in-one" ]]; then
|
|
dir_path=$(dirname "$(realpath $0)")
|
|
if [[ "$dir_path" == "/etc/services.d/worker" ]]; then
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
RC=0
|
|
|
|
case "$1" in
|
|
start)
|
|
start
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {start|stop}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
logecho "RC was: $RC"
|
|
exit $RC
|