summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/service/files/ansible.sysv
blob: 1df0423d22738b14d05eafa7cbb4ced1aeef9af2 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#!/bin/sh
#

# LSB header

### BEGIN INIT INFO
# Provides: ansible-test
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: test daemon for ansible
# Description: This is a test daemon used by ansible for testing only
### END INIT INFO

# chkconfig header

# chkconfig: 345 99 99
# description:  This is a test daemon used by ansible for testing only
#
# processname: /usr/sbin/ansible_test_service

# Sanity checks.
[ -x /usr/sbin/ansible_test_service ] || exit 0

DEBIAN_VERSION=/etc/debian_version
SUSE_RELEASE=/etc/SuSE-release
# Source function library.
if [ -f $DEBIAN_VERSION ]; then
    . /lib/lsb/init-functions
elif [ -f $SUSE_RELEASE -a -r /etc/rc.status ]; then
    . /etc/rc.status
else
    . /etc/rc.d/init.d/functions
fi

SERVICE=ansible_test_service
PROCESS=ansible_test_service
CONFIG_ARGS=" "
if [ -f $DEBIAN_VERSION ]; then
    LOCKFILE=/var/lock/$SERVICE
else
    LOCKFILE=/var/lock/subsys/$SERVICE
fi

RETVAL=0

start() {
    echo -n "Starting ansible test daemon: "
    if [ -f $SUSE_RELEASE ]; then
        startproc -p /var/run/${SERVICE}.pid -f /usr/sbin/ansible_test_service
        rc_status -v
    elif [ -e $DEBIAN_VERSION ]; then
        if [ -f $LOCKFILE ]; then
            echo -n "already started, lock file found"
            RETVAL=1
        elif /usr/sbin/ansible_test_service; then
            echo -n "OK"
            RETVAL=0
        fi
    else
        daemon --check $SERVICE $PROCESS --daemonize $CONFIG_ARGS
    fi
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch $LOCKFILE
    return $RETVAL
}

stop() {
    echo -n "Stopping ansible test daemon: "
    if [ -f $SUSE_RELEASE ]; then
        killproc -TERM /usr/sbin/ansible_test_service
        rc_status -v
    elif [ -f $DEBIAN_VERSION ]; then
        # Added this since Debian's start-stop-daemon doesn't support spawned processes
        if ps -ef | grep "/usr/sbin/ansible_test_service" | grep -v grep | awk '{print $2}' | xargs kill &> /dev/null; then
            echo -n "OK"
            RETVAL=0
        else
            echo -n "Daemon is not started"
            RETVAL=1
        fi
    else
        killproc -p /var/run/${SERVICE}.pid
    fi
    RETVAL=$?
    echo
    if [ $RETVAL -eq 0 ]; then
        rm -f $LOCKFILE
        rm -f /var/run/$SERVICE.pid
    fi
}

restart() {
   stop
   start
}

# See how we were called.
case "$1" in
    start|stop|restart)
        $1
        ;;
    status)
        if [ -f $SUSE_RELEASE ]; then
            echo -n "Checking for ansible test service "
            checkproc /usr/sbin/ansible_test_service
            rc_status -v
        elif [ -f $DEBIAN_VERSION ]; then
            if [ -f $LOCKFILE ]; then
                RETVAL=0
                echo "ansible test is running."
            else
                RETVAL=1
                echo "ansible test is stopped."
            fi
        else
            status $PROCESS
            RETVAL=$?
        fi
        ;;
    condrestart)
        [ -f $LOCKFILE ] && restart || :
        ;;
    reload)
        echo "ok"
        RETVAL=0
        ;;
    *)
        echo "Usage: $0 {start|stop|status|restart|condrestart|reload}"
        exit 1
        ;;
esac
exit $RETVAL