diff options
author | Corentin LABBE <clabbe@baylibre.com> | 2018-07-16 14:26:44 +0200 |
---|---|---|
committer | Corentin LABBE <clabbe@baylibre.com> | 2018-07-25 21:48:25 +0200 |
commit | b8f561127a2ba09f3c2e49194d8d63b6960023b2 (patch) | |
tree | e30eb342b60ad9357e6369bc0c9c1f416b4150e9 /lava-slave | |
parent | baf680990ecb539cde0a16ef5b32a7321dd4538a (diff) |
Split dockerfile in two images
The process of building LAVA is hard to maintain.
But since we need to be able to go back in time
(or just stay longer with a specific version)
we need a way to keep a LAVA version.
For achieving this, we build a minimal image with just LAVA
and tag it with the version of LAVA inside.
Diffstat (limited to 'lava-slave')
-rw-r--r-- | lava-slave/Dockerfile | 49 | ||||
-rw-r--r-- | lava-slave/scripts/lava-slave | 98 | ||||
-rwxr-xr-x | lava-slave/scripts/start.sh | 46 | ||||
-rwxr-xr-x | lava-slave/scripts/stop.sh | 3 |
4 files changed, 4 insertions, 192 deletions
diff --git a/lava-slave/Dockerfile b/lava-slave/Dockerfile index 4bd14b4..95c4d83 100644 --- a/lava-slave/Dockerfile +++ b/lava-slave/Dockerfile @@ -1,40 +1,6 @@ -FROM bitnami/minideb:stretch +FROM baylibre/lava-slave-base:latest -RUN apt-get update - -# e2fsprogs is for libguestfs -RUN \ - echo 'lava-server lava-server/instance-name string lava-slave-instance' | debconf-set-selections && \ - echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_US.UTF-8 UTF-8 ' | debconf-set-selections && \ - echo 'locales locales/default_environment_locale select en_US.UTF-8' | debconf-set-selections && \ - DEBIAN_FRONTEND=noninteractive apt-get -y install \ - locales \ - vim \ - sudo \ - cu \ - conmux \ - python-setproctitle \ - tftpd-hpa \ - u-boot-tools \ - device-tree-compiler \ - qemu-system \ - qemu-system-arm \ - qemu-system-i386 \ - xnbd-server \ - e2fsprogs - -RUN if [ "$(uname -m)" = "x86_64" -o "$(uname -m)" = "x86" ] ;then apt-get -y install qemu-kvm ; fi - -# Uncomment the following for having the latest package (you need to comment all build-lava below) -#RUN DEBIAN_FRONTEND=noninteractive apt-get -y install wget gnupg \ -# && wget http://images.validation.linaro.org/production-repo/production-repo.key.asc \ -# && apt-key add production-repo.key.asc \ -# && echo 'deb http://images.validation.linaro.org/production-repo/ stretch-backports main' > /etc/apt/sources.list.d/lava.list \ -# && apt-get clean && apt-get update -#RUN DEBIAN_FRONTEND=noninteractive apt-get -y install lava-dispatcher - -COPY scripts/build-lava / -RUN sh /build-lava lava-dispatcher 2018.4 2018.4-1 +RUN DEBIAN_FRONTEND=noninteractive apt-get -y install cu conmux COPY configs/lava-slave /etc/lava-dispatcher/lava-slave @@ -44,8 +10,8 @@ COPY scripts/cu-loop /usr/local/bin/ COPY conmux/ /etc/conmux/ # Caution to not use any port between the Linux dynamic port range: 32768-60999 -RUN sed -i 's,XNBD_PORT_RANGE_MIN.*,XNBD_PORT_RANGE_MIN=61950,' /usr/lib/python3/dist-packages/lava_dispatcher/utils/constants.py -RUN sed -i 's,XNBD_PORT_RANGE_MAX.*,XNBD_PORT_RANGE_MAX=62000,' /usr/lib/python3/dist-packages/lava_dispatcher/utils/constants.py +RUN find /usr/lib/python3/dist-packages/ -iname constants.py | xargs sed -i 's,XNBD_PORT_RANGE_MIN.*,XNBD_PORT_RANGE_MIN=61950,' +RUN find /usr/lib/python3/dist-packages/ -iname constants.py | xargs sed -i 's,XNBD_PORT_RANGE_MAX.*,XNBD_PORT_RANGE_MAX=62000,' #conmux need cu >= 1.07-24 See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=336996 RUN echo "deb http://debian.proxad.net/debian/ testing main" >> /etc/apt/sources.list.d/testing.list @@ -56,13 +22,6 @@ RUN rm /etc/apt/sources.list.d/testing.list RUN apt-get -y install ser2net COPY ser2net.conf /etc -COPY scripts/lava-slave /etc/init.d/ -RUN chmod 755 /etc/init.d/lava-slave - -# Add services helper utilities to start and stop LAVA -COPY scripts/stop.sh . -COPY scripts/start.sh . - # lava-cli dependencies RUN apt-get -y install python3-setuptools python3-dev python3-zmq RUN git clone https://git.linaro.org/lava/lavacli.git /root/lavacli && cd /root/lavacli && git checkout v0.7 && python3 setup.py install diff --git a/lava-slave/scripts/lava-slave b/lava-slave/scripts/lava-slave deleted file mode 100644 index 3ba00f7..0000000 --- a/lava-slave/scripts/lava-slave +++ /dev/null @@ -1,98 +0,0 @@ -#! /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/scripts/start.sh b/lava-slave/scripts/start.sh deleted file mode 100755 index 21b6903..0000000 --- a/lava-slave/scripts/start.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/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/scripts/stop.sh b/lava-slave/scripts/stop.sh deleted file mode 100755 index 0f18456..0000000 --- a/lava-slave/scripts/stop.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -service tftpd-hpa stop -service lava-slave stop |