summaryrefslogtreecommitdiffstats
path: root/lava-slave-base/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'lava-slave-base/scripts')
-rw-r--r--lava-slave-base/scripts/lava-slave98
-rwxr-xr-xlava-slave-base/scripts/start.sh46
-rwxr-xr-xlava-slave-base/scripts/stop.sh3
3 files changed, 147 insertions, 0 deletions
diff --git a/lava-slave-base/scripts/lava-slave b/lava-slave-base/scripts/lava-slave
new file mode 100644
index 0000000..3ba00f7
--- /dev/null
+++ b/lava-slave-base/scripts/lava-slave
@@ -0,0 +1,98 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: lava-slave
+# Required-Start: $time
+# Required-Stop: $time
+# X-Stop-After: sendsigs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: lava-slave
+# Description: lava-slave
+### END INIT INFO
+
+#
+# Author: Corentin LABBE <clabbe@baylibre.com>
+#
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="lava-slave"
+NAME=lava-slave
+
+DAEMON=/usr/bin/lava-slave
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+MASTER_URL=tcp://localhost:5556
+LOGGER_URL=tcp://localhost:5555
+LOGLEVEL=DEBUG
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+[ -r /etc/lava-dispatcher/$NAME ] && . /etc/lava-dispatcher/$NAME
+
+# Define LSB log_* functions.
+. /lib/lsb/init-functions
+
+do_start()
+{
+ # Return
+ # 0 if daemon has been started
+ # 1 if daemon was already running
+ # other if daemon could not be started or a failure occured
+ start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON -- --level $LOGLEVEL --master $MASTER_URL --socket-addr $LOGGER_URL $IPV6 $ENCRYPT $MASTER_CERT $SLAVE_CERT $HOSTNAME
+}
+
+do_stop()
+{
+ # Return
+ # 0 if daemon has been stopped
+ # 1 if daemon was already stopped
+ # other if daemon could not be stopped or a failure occurred
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON
+}
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0)
+ log_end_msg 0 ;;
+ 1) log_progress_msg "already started"
+ log_end_msg 0 ;;
+ *) log_end_msg 1 ;;
+ esac
+
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_progress_msg "already stopped"
+ log_end_msg 0 ;;
+ *) log_end_msg 1 ;;
+ esac
+
+ ;;
+ restart|force-reload)
+ $0 stop
+ $0 start
+ ;;
+ try-restart)
+ $0 status >/dev/null 2>&1 && $0 restart
+ ;;
+ status)
+ status_of_proc -p $PIDFILE $DAEMON $RSYSLOGD && exit 0 || exit $?
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|try-restart|status}" >&2
+ exit 3
+ ;;
+esac
+
+:
+
diff --git a/lava-slave-base/scripts/start.sh b/lava-slave-base/scripts/start.sh
new file mode 100755
index 0000000..21b6903
--- /dev/null
+++ b/lava-slave-base/scripts/start.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+/setup.sh || exit $?
+
+# Set LAVA Master IP
+if [[ -n "$LAVA_MASTER" ]]; then
+ sed -i -e "s/{LAVA_MASTER}/$LAVA_MASTER/g" /etc/lava-dispatcher/lava-slave
+fi
+
+service tftpd-hpa start || exit 4
+if [ -s /etc/ser2net.conf ];then
+ service ser2net start || exit 7
+fi
+
+touch /var/run/conmux-registry
+/usr/sbin/conmux-registry 63000 /var/run/conmux-registry&
+sleep 2
+for item in $(ls /etc/conmux/*cf)
+do
+ echo "Add $item"
+ # On some OS, the rights/user from host are not duplicated on guest
+ grep -o '/dev/[a-zA-Z0-9_-]*' $item | xargs chown uucp
+ /usr/sbin/conmux $item &
+done
+
+HAVE_SCREEN=0
+while read screenboard
+do
+ echo "Start screen for $screenboard"
+ TERM=xterm screen -d -m -S $screenboard /dev/$screenboard 115200 -ixoff -ixon || exit 9
+ HAVE_SCREEN=1
+done < /root/lava-screen.conf
+if [ $HAVE_SCREEN -eq 1 ];then
+ sed -i 's,UsePAM.*yes,UsePAM no,' /etc/ssh/sshd_config || exit 10
+ service ssh start || exit 11
+fi
+
+
+# start an http file server for boot/transfer_overlay support
+(cd /var/lib/lava/dispatcher; python -m SimpleHTTPServer 80) &
+
+# FIXME lava-slave does not run if old pid is present
+rm -f /var/run/lava-slave.pid
+service lava-slave start || exit 5
+
+sleep 3650d
diff --git a/lava-slave-base/scripts/stop.sh b/lava-slave-base/scripts/stop.sh
new file mode 100755
index 0000000..0f18456
--- /dev/null
+++ b/lava-slave-base/scripts/stop.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+service tftpd-hpa stop
+service lava-slave stop