From 63da4cb3d258222ff1b11052951c7e5d7ca8e02c Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Tue, 2 Jul 2019 11:14:07 +0200 Subject: Upgrade to 2019.07 This patch upgrade LAVA to 2019.07 via their official docker images. Along with the change of the baseimage from our lava-xx-base to official 2019.07, some minor changes are needed: - Activate the en_US.UTF-8 locale needed for postgresql - chown to lavaserver all copied device-types - Fix the start scripts for using the official entrypoints --- lava-master-base/99-stretch-backports | 43 ------------ lava-master-base/Dockerfile | 62 ----------------- lava-master-base/scripts/lava-logs | 97 -------------------------- lava-master-base/scripts/lava-master | 97 -------------------------- lava-master-base/scripts/lava-server-gunicorn | 99 --------------------------- lava-master-base/scripts/lava-slave | 98 -------------------------- lava-master-base/scripts/start.sh | 40 ----------- lava-master-base/scripts/stop.sh | 10 --- 8 files changed, 546 deletions(-) delete mode 100644 lava-master-base/99-stretch-backports delete mode 100644 lava-master-base/Dockerfile delete mode 100644 lava-master-base/scripts/lava-logs delete mode 100644 lava-master-base/scripts/lava-master delete mode 100644 lava-master-base/scripts/lava-server-gunicorn delete mode 100644 lava-master-base/scripts/lava-slave delete mode 100755 lava-master-base/scripts/start.sh delete mode 100755 lava-master-base/scripts/stop.sh (limited to 'lava-master-base') diff --git a/lava-master-base/99-stretch-backports b/lava-master-base/99-stretch-backports deleted file mode 100644 index 02491b1..0000000 --- a/lava-master-base/99-stretch-backports +++ /dev/null @@ -1,43 +0,0 @@ -Package: python3-requests -Pin: release n=stretch-backports -Pin-Priority: 500 - -Package: python3-chardet -Pin: release n=stretch-backports -Pin-Priority: 500 - -Package: python3-urllib3 -Pin: release n=stretch-backports -Pin-Priority: 500 - -Package: lava-common -Pin: release n=stretch-backports -Pin-Priority: 500 - -Package: lava-dispatcher -Pin: release n=stretch-backports -Pin-Priority: 500 - -Package: lava -Pin: release n=stretch-backports -Pin-Priority: 500 - -Package: lava-server -Pin: release n=stretch-backports -Pin-Priority: 500 - -Package: lava-dev -Pin: release n=stretch-backports -Pin-Priority: 500 - -Package: lava-server-doc -Pin: release n=stretch-backports -Pin-Priority: 500 - -Package: lavacli -Pin: release n=stretch-backports -Pin-Priority: 500 - -Package: python3-junit.xml -Pin: release n=stretch-backports -Pin-Priority: 500 diff --git a/lava-master-base/Dockerfile b/lava-master-base/Dockerfile deleted file mode 100644 index ee7d47f..0000000 --- a/lava-master-base/Dockerfile +++ /dev/null @@ -1,62 +0,0 @@ -FROM bitnami/minideb:stretch - -RUN echo "deb http://deb.debian.org/debian/ stretch-backports main" >> /etc/apt/sources.list -COPY 99-stretch-backports /etc/apt/preferences.d/ - -RUN apt-get update - -# Install debian packages used by the container -# Configure apache to run the lava server -# Log the hostname used during install for the slave name -RUN echo 'lava-server lava-server/instance-name string lava-docker-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 - -RUN echo "APT::Install-Recommends false;" > /etc/apt/apt.conf.d/01norecommands - -# e2fsprogs is for libguestfs -RUN DEBIAN_FRONTEND=noninteractive apt-get -y install \ - locales \ - postgresql \ - screen \ - sudo \ - wget \ - e2fsprogs \ - letsencrypt \ - apt-transport-https \ - gnupg \ - vim - -RUN wget https://apt.lavasoftware.org/lavasoftware.key.asc \ - && apt-key add lavasoftware.key.asc \ - && echo 'deb https://apt.lavasoftware.org/release stretch-backports main' > /etc/apt/sources.list.d/lava.list \ - && apt-get clean && apt-get update && apt-get -y upgrade - -RUN service postgresql start \ - && DEBIAN_FRONTEND=noninteractive apt-get -y install lava lava-server \ - && sudo -u postgres psql lavaserver -c "DELETE FROM lava_scheduler_app_worker WHERE lava_scheduler_app_worker.hostname = 'example.com';" \ - && service postgresql stop - -RUN a2enmod proxy \ - && a2enmod proxy_http \ - && a2dissite 000-default \ - && a2ensite lava-server - -# Add services helper utilities to start and stop LAVA -COPY scripts/stop.sh . -COPY scripts/start.sh . -COPY scripts/lava-logs /etc/init.d/ -RUN chmod 755 /etc/init.d/lava-logs -COPY scripts/lava-master /etc/init.d/ -RUN chmod 755 /etc/init.d/lava-master -COPY scripts/lava-slave /etc/init.d/ -RUN chmod 755 /etc/init.d/lava-slave -COPY scripts/lava-server-gunicorn /etc/init.d/ -RUN chmod 755 /etc/init.d/lava-server-gunicorn - -RUN dpkg -l | grep lava -RUN dpkg -l | grep lava | sed 's,[[:space:]][[:space:]]*, ,g' | cut -d' ' -f3 | tr '+~' _ - -EXPOSE 80 3079 5555 5556 - -CMD /start.sh && while [ true ];do sleep 365d; done diff --git a/lava-master-base/scripts/lava-logs b/lava-master-base/scripts/lava-logs deleted file mode 100644 index 469679b..0000000 --- a/lava-master-base/scripts/lava-logs +++ /dev/null @@ -1,97 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: lava-logs -# Required-Start: $time -# Required-Stop: $time -# X-Stop-After: sendsigs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: lava-logs -# Description: lava-logs -### END INIT INFO - -# -# Author: Corentin LABBE -# - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="lava-logs" -NAME=lava-logs -LOGLEVEL=DEBUG - -DAEMON=/usr/bin/lava-server -PIDFILE=/var/run/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME - -# 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-server/$NAME ] && . /etc/lava-server/$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 --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- manage lava-logs --level $LOGLEVEL $SOCKET $MASTER_SOCKET $IPV6 $ENCRYPT $MASTER_CERT $SLAVES_CERTS -} - -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-master-base/scripts/lava-master b/lava-master-base/scripts/lava-master deleted file mode 100644 index 3bd75aa..0000000 --- a/lava-master-base/scripts/lava-master +++ /dev/null @@ -1,97 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: lava-master -# Required-Start: $time -# Required-Stop: $time -# X-Stop-After: sendsigs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: lava-master -# Description: lava-master -### END INIT INFO - -# -# Author: Corentin LABBE -# - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="lava-master" -NAME=lava-master -LOGLEVEL=DEBUG - -DAEMON=/usr/bin/lava-server -PIDFILE=/var/run/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME - -# 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-server/$NAME ] && . /etc/lava-server/$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 -- manage lava-master --level $LOGLEVEL $SOCKET $MASTER_SOCKET $IPV6 $ENCRYPT $MASTER_CERT $SLAVES_CERTS -} - -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-master-base/scripts/lava-server-gunicorn b/lava-master-base/scripts/lava-server-gunicorn deleted file mode 100644 index e8f1a52..0000000 --- a/lava-master-base/scripts/lava-server-gunicorn +++ /dev/null @@ -1,99 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: lava-server-gunicorn -# Required-Start: $time -# Required-Stop: $time -# X-Stop-After: sendsigs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: lava-server-gunicorn -# Description: lava-server-gunicorn -### END INIT INFO - -# -# Author: Corentin LABBE -# - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="lava-server-gunicorn" -NAME=lava-server-gunicorn -LOGLEVEL=DEBUG -WORKERS=4 -LOGFILE=/var/log/lava-server/gunicorn.log -RELOAD= -DAEMON=/usr/bin/gunicorn3 -PIDFILE=/var/run/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME - -# 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-server/$NAME ] && . /etc/lava-server/$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 --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- lava_server.wsgi --log-level $LOGLEVEL --log-file $LOGFILE -u lavaserver -g lavaserver --workers $WORKERS $RELOAD -} - -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-master-base/scripts/lava-slave b/lava-master-base/scripts/lava-slave deleted file mode 100644 index 3ba00f7..0000000 --- a/lava-master-base/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 -# - -# 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-master-base/scripts/start.sh b/lava-master-base/scripts/start.sh deleted file mode 100755 index c34fe34..0000000 --- a/lava-master-base/scripts/start.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -postgres-ready () { - echo "Waiting for lavaserver database to be active" - while (( $(ps -ef | grep -v grep | grep postgres | grep lavaserver | wc -l) == 0 )) - do - echo -n "." - sleep 1 - done - echo - echo "[ ok ] LAVA server ready" -} - -start () { - echo "Starting $1" - if (( $(ps -ef | grep -v grep | grep -v add_device | grep -v dispatcher-config | grep "$1" | wc -l) > 0 )) - then - echo "$1 appears to be running" - else - service "$1" start - fi -} - -#remove lava-pid files incase the image is stored without first stopping the services -rm -f /var/run/lava-*.pid 2> /dev/null - -/etc/init.d/postgresql start - -/setup.sh || exit $? - -start apache2 || exit $? -start lava-logs || exit $? -start lava-master || exit $? -start lava-coordinator || exit $? -start lava-slave || exit $? -start lava-server-gunicorn || exit $? -start tftpd-hpa || exit $? - -postgres-ready -service apache2 reload #added after the website not running a few times on boot diff --git a/lava-master-base/scripts/stop.sh b/lava-master-base/scripts/stop.sh deleted file mode 100755 index 35d503f..0000000 --- a/lava-master-base/scripts/stop.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -service lava-master stop -service lava-slave stop -service lava-logs stop -service lava-coordinator stop -service lava-server-gunicorn stop -service apache2 stop -/etc/init.d/postgresql stop -service tftpd-hpa stop -- cgit 1.2.3-korg