From 1f882d7ee20d70548d380ce27eedab3ae30180d4 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Fri, 17 Apr 2020 00:55:52 +0800 Subject: [PATCH] Add hooks for orderly shutdown on controller Hook the ceph init script to add systemd overrides to define an orderly shutdown for StarlingX controllers. Signed-off-by: Don Penney --- src/init-ceph.in | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/init-ceph.in b/src/init-ceph.in index d13032a..a6113fa 100755 --- a/src/init-ceph.in +++ b/src/init-ceph.in @@ -434,6 +434,38 @@ for name in $what; do continue fi + . /etc/platform/platform.conf + if [ "${nodetype}" = "controller" ]; then + # StarlingX: Hook the transient services launched by systemd-run + # to allow for proper cleanup and orderly shutdown + + # Set nullglob so wildcards will return empty string if no match + shopt -s nullglob + + OSD_SERVICES=$(for svc in /run/systemd/system/ceph-osd*.service; do basename $svc; done | xargs echo) + for d in /run/systemd/system/ceph-osd*.d; do + cat < $d/starlingx-overrides.conf +[Unit] +Before=docker.service +After=sm-shutdown.service + +EOF + done + + for d in /run/systemd/system/ceph-mon*.d; do + cat < $d/starlingx-overrides.conf +[Unit] +Before=docker.service +After=sm-shutdown.service ${OSD_SERVICES} + +EOF + done + + shopt -u nullglob + + systemctl daemon-reload + fi + [ -n "$post_start" ] && do_cmd "$post_start" [ -n "$lockfile" ] && [ "$?" -eq 0 ] && touch $lockfile ;; -- 2.7.4