aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/adapters/cobbler/snippets/kickstart_post_anamon
blob: d1dec7b4103dc3459a1fc0fa77b4a9d3dc6f759d (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
#if $str($getVar('anamon_enabled','')) == "1"

## install anamon script
#if $getVar("compass_server","") != ""
wget -O /usr/local/sbin/anamon "http://$compass_server:$http_port/cobbler/aux/anamon"
#else
wget -O /usr/local/sbin/anamon "http://$server:$http_port/cobbler/aux/anamon"
#end if
## install anamon system service
cat << EOF > /etc/init.d/anamon.init
#raw
#!/bin/bash
## BEGIN INIT INFO
# Provides: anamon.init
# Default-Start: 3 5
# Default-Stop: 0 1 2 4 6
# Required-Start: $network
# Short-Description: Starts the cobbler anamon boot notification program
# Description: anamon runs the first time a machine is booted after
#              installation.
## END INIT INFO

#
# anamon.init: Starts the cobbler post-install boot notification program
#
# chkconfig: 35 95 95
#
# description: anamon runs the first time a machine is booted after
#              installation.
#
#end raw
#if $getVar("compass_server","") != ""
/usr/local/sbin/anamon --watchfile "/var/log/anaconda.log" --name $name --server $compass_server --port $http_port --exit
#else
/usr/local/sbin/anamon --watchfile "/var/log/anaconda.log" --name $name --server $server --port $http_port --exit
#end if
chkconfig anamon.init off
mv /etc/init.d/anamon.init /tmp/anamon.init
EOF

## adjust permissions
chmod 755 /etc/init.d/anamon.init /usr/local/sbin/anamon
test -d /selinux && restorecon /etc/init.d/anamon.init /usr/local/sbin/anamon

## enable the script
chkconfig anamon.init on

#end if

## place start-up script for updating os state
#if $getVar('compass_server', '') != ""
    #set srv = $getVar('compass_server','')
#else
    #set srv = $getVar('server','')
#end if
cat << EOF > /etc/init.d/set_state
#raw
#!/bin/bash
## BEGIN INIT INFO
# chkconfig: 2345 99 15
# Provides: set_state
# Default-Start: 3 5
# Default-Stop: 0 1 2 4 6
# Required-Start: $network $sshd
# Short-Description: Notifies the os installation is finished
# Description: set_state runs the first time a machine is booted after
#              installation.
## END INIT INFO
#
# set_state: Notify compass server the os installation is finished
#
# chkconfig: 35 99 99
#
# description: set_state runs the first time a machine is booted after
#              installation.
#
#end raw

curl -H "Content-Type: application/json" -X POST -d '{"ready": true}' "http://$srv/api/hosts/${hostname}/state_internal"
chkconfig set_state off
mv /etc/init.d/set_state /tmp/set_state
EOF

## adjust permissions
chmod 755 /etc/init.d/set_state
test -d /selinux && restorecon /etc/init.d/set_state

## enable the script
chkconfig set_state on

echo "compass_server=$server" >> /etc/compass.conf