Smaine Kahlouch
9 years ago
5 changed files with 262 additions and 40 deletions
Split View
Diff Options
-
7roles/kubernetes/node/templates/deb-kubelet.initd.j2
-
15roles/kubernetes/node/templates/rh-kubelet.initd.j2
-
36roles/network_plugin/tasks/calico.yml
-
114roles/network_plugin/templates/calico/deb-calico.initd.j2
-
130roles/network_plugin/templates/calico/rh-calico.initd.j2
@ -0,0 +1,114 @@ |
|||
#!/bin/bash |
|||
# |
|||
### BEGIN INIT INFO |
|||
# Provides: calico-node |
|||
# Required-Start: $local_fs $network $syslog |
|||
# Required-Stop: |
|||
# Default-Start: 2 3 4 5 |
|||
# Default-Stop: 0 1 6 |
|||
# Short-Description: Calico docker container |
|||
# Description: |
|||
# Runs calico as a docker container |
|||
### END INIT INFO |
|||
|
|||
PATH=/sbin:/usr/sbin:/bin:/usr/bin |
|||
DESC="Calico-node Docker" |
|||
NAME=calico-node |
|||
DAEMON=/usr/local/bin/calicoctl |
|||
DAEMON_ARGS="" |
|||
DOCKER=$(which docker) |
|||
SCRIPTNAME=/etc/init.d/$NAME |
|||
DAEMON_USER=root |
|||
|
|||
# Exit if the binary is not present |
|||
[ -x "$DAEMON" ] || exit 0 |
|||
|
|||
# Exit if the docker package is not installed |
|||
[ -x "$DOCKER" ] || exit 0 |
|||
|
|||
# Read configuration variable file if it is present |
|||
[ -r /etc/network-environment ] && . /etc/network-environment |
|||
|
|||
# Define LSB log_* functions. |
|||
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present |
|||
# and status_of_proc is working. |
|||
. /lib/lsb/init-functions |
|||
|
|||
do_status() |
|||
{ |
|||
if [ $($DOCKER ps | awk '{ print $2 }' | grep calico/node | wc -l) -eq 1 ]; then |
|||
return 0 |
|||
else |
|||
return 1 |
|||
fi |
|||
} |
|||
|
|||
# Function that starts the daemon/service |
|||
# |
|||
do_start() |
|||
{ |
|||
do_status |
|||
retval=$? |
|||
if [ $retval -ne 0 ]; then |
|||
${DAEMON} node --ip=${DEFAULT_IPV4} >>/dev/null && return 0 || return 2 |
|||
else |
|||
return 1 |
|||
fi |
|||
} |
|||
|
|||
# |
|||
# Function that stops the daemon/service |
|||
# |
|||
do_stop() |
|||
{ |
|||
${DAEMON} node stop >> /dev/null || ${DAEMON} node stop --force >> /dev/null |
|||
} |
|||
|
|||
|
|||
case "$1" in |
|||
start) |
|||
log_daemon_msg "Starting $DESC" "$NAME" |
|||
do_start |
|||
case "$?" in |
|||
0|1) log_end_msg 0 || exit 0 ;; |
|||
2) log_end_msg 1 || exit 1 ;; |
|||
esac |
|||
;; |
|||
stop) |
|||
log_daemon_msg "Stopping $DESC" "$NAME" |
|||
if do_stop; then |
|||
log_end_msg 0 |
|||
else |
|||
log_failure_msg "Can't stop calico-node" |
|||
log_end_msg 1 |
|||
fi |
|||
;; |
|||
status) |
|||
if do_status; then |
|||
log_end_msg 0 |
|||
else |
|||
log_failure_msg "Calico-node is not running" |
|||
log_end_msg 1 |
|||
fi |
|||
;; |
|||
|
|||
restart|force-reload) |
|||
log_daemon_msg "Restarting $DESC" "$NAME" |
|||
if do_stop; then |
|||
if do_start; then |
|||
log_end_msg 0 |
|||
exit 0 |
|||
else |
|||
rc="$?" |
|||
fi |
|||
else |
|||
rc="$?" |
|||
fi |
|||
log_failure_msg "Can't restart Calico-node" |
|||
log_end_msg ${rc} |
|||
;; |
|||
*) |
|||
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 |
|||
exit 3 |
|||
;; |
|||
esac |
@ -0,0 +1,130 @@ |
|||
#!/bin/bash |
|||
# |
|||
# /etc/rc.d/init.d/calico-node |
|||
# |
|||
# chkconfig: 2345 95 95 |
|||
# description: Daemon for calico-node (http://www.projectcalico.org/) |
|||
|
|||
### BEGIN INIT INFO |
|||
# Provides: calico-node |
|||
# Required-Start: $local_fs $network $syslog cgconfig |
|||
# Required-Stop: |
|||
# Should-Start: |
|||
# Should-Stop: |
|||
# Default-Start: 2 3 4 5 |
|||
# Default-Stop: 0 1 6 |
|||
# Short-Description: start and stop calico-node |
|||
# Description: |
|||
# Manage calico-docker container |
|||
### END INIT INFO |
|||
|
|||
# Source function library. |
|||
. /etc/rc.d/init.d/functions |
|||
|
|||
prog="calicoctl" |
|||
exec="/usr/local/bin/$prog" |
|||
dockerexec="$(which docker)" |
|||
logfile="/var/log/$prog" |
|||
|
|||
[ -e /etc/network-environment ] && for i in $(cat /etc/network-environment | egrep '(^$|^#)'); do export $i; done |
|||
|
|||
do_status() |
|||
{ |
|||
if [ $($dockerexec ps | awk '{ print $2 }' | grep calico/node | wc -l) -ne 1 ]; then |
|||
return 1 |
|||
fi |
|||
} |
|||
|
|||
do_start() { |
|||
if [ ! -x $exec ]; then |
|||
if [ ! -e $exec ]; then |
|||
echo "calico-node executable $exec not found" |
|||
else |
|||
echo "You do not have permission to execute the calico-node executable $exec" |
|||
fi |
|||
exit 5 |
|||
fi |
|||
|
|||
[ -x "$dockerexec" ] || exit 0 |
|||
|
|||
do_status |
|||
retval=$? |
|||
if [ $retval -ne 0 ]; then |
|||
printf "Starting $prog:\t" |
|||
echo "\n$(date)\n" >> $logfile |
|||
$exec node --ip=${DEFAULT_IPV4} &>>$logfile |
|||
success |
|||
echo |
|||
else |
|||
echo -n "calico-node's already running" |
|||
success |
|||
exit 0 |
|||
fi |
|||
} |
|||
|
|||
do_stop() { |
|||
echo -n $"Stopping $prog: " |
|||
$exec node stop >> /dev/null || $exec node stop --force >> /dev/null |
|||
retval=$? |
|||
echo |
|||
return $retval |
|||
} |
|||
|
|||
restart() { |
|||
do_stop |
|||
do_start |
|||
} |
|||
|
|||
reload() { |
|||
restart |
|||
} |
|||
|
|||
force_reload() { |
|||
restart |
|||
} |
|||
|
|||
case "$1" in |
|||
start) |
|||
do_start |
|||
case "$?" in |
|||
0|1) success || exit 0 ;; |
|||
2) failure || exit 1 ;; |
|||
esac |
|||
;; |
|||
stop) |
|||
echo -n "Stopping $DESC" "$NAME" |
|||
if do_stop; then |
|||
success |
|||
echo |
|||
else |
|||
echo -n "Can't stop calico-node" |
|||
failure |
|||
echo |
|||
fi |
|||
;; |
|||
restart) |
|||
$1 |
|||
;; |
|||
reload) |
|||
$1 |
|||
;; |
|||
force-reload) |
|||
force_reload |
|||
;; |
|||
status) |
|||
if do_status; then |
|||
echo -n "Calico-node is running" |
|||
success |
|||
echo |
|||
else |
|||
echo -n "Calico-node is not running" |
|||
failure |
|||
echo |
|||
fi |
|||
;; |
|||
*) |
|||
echo $"Usage: $0 {start|stop|status|restart|reload|force-reload}" |
|||
exit 2 |
|||
esac |
|||
|
|||
exit $? |
Write
Preview
Loading…
Cancel
Save