summaryrefslogtreecommitdiffstats
path: root/roles/base/files/common-scripts/conditional-reload.sh
blob: 988a08b056024b8acd0a314928ba9c5271153f67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash
# reload SERVICE only if PACKAGE is installed.
# We use this throughout handlers/restart_services.yml

SERVICE=$1
PACKAGE=$2

rpm -q $PACKAGE

INSTALLED=$?

if [ $INSTALLED -eq 0 ]; then
    echo "Checking if $SERVICE is running"
    /sbin/service $SERVICE status >& /dev/null
    if [ $? == 0 ]; then
      echo "Package $PACKAGE installed and running.  Attempting reload of $SERVICE."
      /sbin/service $SERVICE reload
      exit $?  # Exit with the /sbin/service status code
    fi
    echo "Package $PACKAGE is install, but $SERVICE is not running, skipping..."
    exit 0
fi

# If the package wasn't installed, then pretend everything is fine.
echo "Package $PACKAGE not installed.  Skipping reload of $SERVICE."
exit 0