This repository has been archived by the owner on Apr 12, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
puppet-ec2init.init
executable file
·113 lines (94 loc) · 1.96 KB
/
puppet-ec2init.init
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
#!/bin/bash
# ec2init EC2 bootstrap using Puppet
#
# Author: Dan Carley <dan.carley@gmail.com>
#
# chkconfig: 345 85 15
#
# description: EC2 bootstrap using Puppet
# processname: ec2init
# config: /etc/sysconfig/ec2init
PATH=/usr/bin:/sbin:/bin:/usr/sbin
export PATH
prog="puppet-ec2init"
lockfile="/var/lock/subsys/$prog"
args="apply --modulepath /etc/${prog} --logdest console --logdest syslog"
[ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
RETVAL=0
# Source function library.
. /etc/rc.d/init.d/functions
check_api() {
# Wait for EC2 metadata service to come up.
curl -so /dev/null --fail --connect-timeout 30 http://169.254.169.254/
RETVAL=$?
if [ $RETVAL -ne 0 ]; then
echo -n $"Unable to reach metadata service: "
failure
echo
exit $RETVAL
fi
}
start() {
echo $"Starting ${prog}: .."
check_api
puppet $args -e "include ::ec2init::start"
RETVAL=$?
echo -n $"Starting ${prog}: "
if [ $RETVAL -eq 0 ]; then
success
touch $lockfile
else
failure
fi
echo
echo -n $"Starting ${prog} agent onetime: "
puppet agent --onetime && success || failure
echo
}
stop() {
echo $"Stopping ${prog}: .."
check_api
puppet $args -e "include ::ec2init::stop"
RETVAL=$?
echo -n $"Stopping ${prog}: "
if [ $RETVAL -eq 0 ]; then
success
rm -f $lockfile
else
failure
fi
echo
}
rh_status() {
[ -f $lockfile ]
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo "$prog is running..."
else
echo "$prog is stopped"
fi
return $RETVAL
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
start
;;
stop)
stop
;;
restart)
rm -f $lockfile
start
;;
status)
rh_status
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
exit 1
esac
exit $RETVAL