From 49d59f4fa7b6f6dc99bbb56e30c94b5ae692f2f7 Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Wed, 25 Oct 2017 12:12:12 +0200 Subject: Move master files in lava-master --- Dockerfile | 70 ------------------------------------------- configs/tftpd-hpa | 6 ---- lava-master/Dockerfile | 70 +++++++++++++++++++++++++++++++++++++++++++ lava-master/configs/tftpd-hpa | 6 ++++ lava-master/scripts/start.sh | 37 +++++++++++++++++++++++ lava-master/scripts/stop.sh | 10 +++++++ scripts/start.sh | 37 ----------------------- scripts/stop.sh | 10 ------- 8 files changed, 123 insertions(+), 123 deletions(-) delete mode 100644 Dockerfile delete mode 100644 configs/tftpd-hpa create mode 100644 lava-master/Dockerfile create mode 100644 lava-master/configs/tftpd-hpa create mode 100755 lava-master/scripts/start.sh create mode 100755 lava-master/scripts/stop.sh delete mode 100755 scripts/start.sh delete mode 100755 scripts/stop.sh diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 942f1f6..0000000 --- a/Dockerfile +++ /dev/null @@ -1,70 +0,0 @@ -FROM bitnami/minideb:stretch - -RUN apt-get update - -# Add services helper utilities to start and stop LAVA -COPY scripts/stop.sh . -COPY scripts/start.sh . - -# 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 DEBIAN_FRONTEND=noninteractive apt-get -y install \ - locales \ - postgresql \ - screen \ - sudo \ - wget \ - gnupg \ - vim - -RUN 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 service postgresql start \ - && DEBIAN_FRONTEND=noninteractive apt-get -y install \ - lava \ - qemu-system \ - qemu-system-arm \ - qemu-system-i386 \ - qemu-kvm \ - ser2net \ - u-boot-tools \ - python-setproctitle \ - && a2enmod proxy \ - && a2enmod proxy_http \ - && a2dissite 000-default \ - && a2ensite lava-server \ - && /stop.sh - -# Create a admin user (Insecure note, this creates a default user, username: admin/admin) -RUN /start.sh \ - && lava-server manage users add --passwd admin --staff --superuser --email admin@example.com admin \ - && /stop.sh - -# Install latest -RUN /start.sh \ - && git clone https://github.com/kernelci/lava-dispatcher.git -b master /root/lava-dispatcher \ - && cd /root/lava-dispatcher \ - && git checkout release \ - && git clone -b master https://github.com/kernelci/lava-server.git /root/lava-server \ - && cd /root/lava-server \ - && git checkout release \ - && git config --global user.name "Docker Build" \ - && git config --global user.email "info@kernelci.org" \ - && echo "cd \${DIR} && dpkg -i *.deb" >> /root/lava-server/share/debian-dev-build.sh \ - && cd /root/lava-dispatcher && /root/lava-server/share/debian-dev-build.sh -p lava-dispatcher \ - && cd /root/lava-server && /root/lava-server/share/debian-dev-build.sh -p lava-server \ - && /stop.sh - -COPY configs/tftpd-hpa /etc/default/tftpd-hpa - -EXPOSE 69/udp 80 3079 5555 5556 - -CMD /start.sh && bash diff --git a/configs/tftpd-hpa b/configs/tftpd-hpa deleted file mode 100644 index bb6f079..0000000 --- a/configs/tftpd-hpa +++ /dev/null @@ -1,6 +0,0 @@ -# /etc/default/tftpd-hpa - -TFTP_USERNAME="tftp" -TFTP_DIRECTORY="/var/lib/lava/dispatcher/tmp/" -TFTP_ADDRESS="0.0.0.0:69" -TFTP_OPTIONS="--secure" diff --git a/lava-master/Dockerfile b/lava-master/Dockerfile new file mode 100644 index 0000000..942f1f6 --- /dev/null +++ b/lava-master/Dockerfile @@ -0,0 +1,70 @@ +FROM bitnami/minideb:stretch + +RUN apt-get update + +# Add services helper utilities to start and stop LAVA +COPY scripts/stop.sh . +COPY scripts/start.sh . + +# 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 DEBIAN_FRONTEND=noninteractive apt-get -y install \ + locales \ + postgresql \ + screen \ + sudo \ + wget \ + gnupg \ + vim + +RUN 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 service postgresql start \ + && DEBIAN_FRONTEND=noninteractive apt-get -y install \ + lava \ + qemu-system \ + qemu-system-arm \ + qemu-system-i386 \ + qemu-kvm \ + ser2net \ + u-boot-tools \ + python-setproctitle \ + && a2enmod proxy \ + && a2enmod proxy_http \ + && a2dissite 000-default \ + && a2ensite lava-server \ + && /stop.sh + +# Create a admin user (Insecure note, this creates a default user, username: admin/admin) +RUN /start.sh \ + && lava-server manage users add --passwd admin --staff --superuser --email admin@example.com admin \ + && /stop.sh + +# Install latest +RUN /start.sh \ + && git clone https://github.com/kernelci/lava-dispatcher.git -b master /root/lava-dispatcher \ + && cd /root/lava-dispatcher \ + && git checkout release \ + && git clone -b master https://github.com/kernelci/lava-server.git /root/lava-server \ + && cd /root/lava-server \ + && git checkout release \ + && git config --global user.name "Docker Build" \ + && git config --global user.email "info@kernelci.org" \ + && echo "cd \${DIR} && dpkg -i *.deb" >> /root/lava-server/share/debian-dev-build.sh \ + && cd /root/lava-dispatcher && /root/lava-server/share/debian-dev-build.sh -p lava-dispatcher \ + && cd /root/lava-server && /root/lava-server/share/debian-dev-build.sh -p lava-server \ + && /stop.sh + +COPY configs/tftpd-hpa /etc/default/tftpd-hpa + +EXPOSE 69/udp 80 3079 5555 5556 + +CMD /start.sh && bash diff --git a/lava-master/configs/tftpd-hpa b/lava-master/configs/tftpd-hpa new file mode 100644 index 0000000..bb6f079 --- /dev/null +++ b/lava-master/configs/tftpd-hpa @@ -0,0 +1,6 @@ +# /etc/default/tftpd-hpa + +TFTP_USERNAME="tftp" +TFTP_DIRECTORY="/var/lib/lava/dispatcher/tmp/" +TFTP_ADDRESS="0.0.0.0:69" +TFTP_OPTIONS="--secure" diff --git a/lava-master/scripts/start.sh b/lava-master/scripts/start.sh new file mode 100755 index 0000000..f4cc4eb --- /dev/null +++ b/lava-master/scripts/start.sh @@ -0,0 +1,37 @@ +#!/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 + +start postgresql +start apache2 +start lava-server +start lava-master +start lava-coordinator +start lava-slave +start lava-server-gunicorn +start tftpd-hpa + +postgres-ready +service apache2 reload #added after the website not running a few times on boot diff --git a/lava-master/scripts/stop.sh b/lava-master/scripts/stop.sh new file mode 100755 index 0000000..ccf30fb --- /dev/null +++ b/lava-master/scripts/stop.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +service lava-master stop +service lava-slave stop +service lava-server stop +service lava-coordinator stop +service lava-server-gunicorn stop +service apache2 stop +service postgresql stop +service tftpd-hpa stop diff --git a/scripts/start.sh b/scripts/start.sh deleted file mode 100755 index f4cc4eb..0000000 --- a/scripts/start.sh +++ /dev/null @@ -1,37 +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 - -start postgresql -start apache2 -start lava-server -start lava-master -start lava-coordinator -start lava-slave -start lava-server-gunicorn -start tftpd-hpa - -postgres-ready -service apache2 reload #added after the website not running a few times on boot diff --git a/scripts/stop.sh b/scripts/stop.sh deleted file mode 100755 index ccf30fb..0000000 --- a/scripts/stop.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -service lava-master stop -service lava-slave stop -service lava-server stop -service lava-coordinator stop -service lava-server-gunicorn stop -service apache2 stop -service postgresql stop -service tftpd-hpa stop -- cgit 1.2.3-korg