aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkhilman <khilman@users.noreply.github.com>2018-07-27 08:18:39 -0500
committerGitHub <noreply@github.com>2018-07-27 08:18:39 -0500
commitd733f2d4280959fed968d1589580f46460ecba27 (patch)
treeb91d7de9ed99bf3430854198f1dbc7c2dbfefafb
parentbaf680990ecb539cde0a16ef5b32a7321dd4538a (diff)
parentfd42a55a19f6fa32efb5893f5fb43f86de9b3e2d (diff)
Merge pull request #34 from montjoie/splitimage
Splitimage
-rw-r--r--common/build-lava112
-rw-r--r--lava-master-base/Dockerfile56
-rw-r--r--lava-master-base/scripts/lava-logs (renamed from lava-master/scripts/lava-logs)0
-rw-r--r--lava-master-base/scripts/lava-master (renamed from lava-master/scripts/lava-master)0
-rw-r--r--lava-master-base/scripts/lava-server-gunicorn (renamed from lava-master/scripts/lava-server-gunicorn)0
-rw-r--r--lava-master-base/scripts/lava-slave (renamed from lava-master/scripts/lava-slave)0
-rwxr-xr-xlava-master-base/scripts/start.sh (renamed from lava-master/scripts/start.sh)0
-rwxr-xr-xlava-master-base/scripts/stop.sh (renamed from lava-master/scripts/stop.sh)0
-rw-r--r--lava-master/Dockerfile68
-rw-r--r--lava-slave-base/Dockerfile44
-rw-r--r--lava-slave-base/scripts/lava-slave (renamed from lava-slave/scripts/lava-slave)0
-rwxr-xr-xlava-slave-base/scripts/start.sh (renamed from lava-slave/scripts/start.sh)0
-rwxr-xr-xlava-slave-base/scripts/stop.sh (renamed from lava-slave/scripts/stop.sh)0
-rw-r--r--lava-slave/Dockerfile49
-rwxr-xr-xlavalab-gen.py2
15 files changed, 105 insertions, 226 deletions
diff --git a/common/build-lava b/common/build-lava
deleted file mode 100644
index 3ddc696..0000000
--- a/common/build-lava
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/bin/sh
-# This file is copied in {lava-master/lava-slave}/scripts
-
-if [ $# -le 1 ];then
- echo "Build any LAVA compoments from source with specific version tag"
- echo "Usage: $0 LAVAcompoment LAVA-git-tag LAVA-pkg-git-tag"
- exit 1
-fi
-
-# common build deps
-DEBIAN_FRONTEND=noninteractive apt-get -y install python3-sphinx git devscripts || exit $?
-
-case $1 in
-lava-server)
- # package dependencies
- DEBIAN_FRONTEND=noninteractive apt-get -y install \
- python-mock \
- apache2 \
- debootstrap \
- ntfs-3g \
- debhelper \
- debootstrap \
- libguestfs-tools \
- build-essential \
- docbook-xsl \
- xsltproc \
- gunicorn3 \
- ntp \
- nodejs \
- node-uglify \
- libjs-excanvas \
- libjs-jquery-cookie \
- libjs-jquery-watermark \
- libjs-jquery-flot \
- libjs-jquery-ui \
- python3-django-restricted-resource \
- python3-django-auth-ldap \
- python3-django-tables2 \
- python3-django \
- python3-guestfs \
- python3-netifaces \
- python3-markdown \
- python3-nose \
- python3-pexpect \
- python3-psycopg2 \
- python3-requests \
- python3-simplejson \
- python3-yaml \
- python3-zmq \
- python3-sphinx-bootstrap-theme \
- pep8 \
- python-pep8 \
- python3-voluptuous \
- python3-dateutil \
- python3-voluptuous \
- systemd-sysv \
- tftpd-hpa \
- lxc \
- sudo \
- telnet \
- bridge-utils || exit $?
-
- DEBIAN_FRONTEND=noninteractive apt-get -y install lava-tool lavapdu-client lava-coordinator || exit $?
-;;
-lava-dispatcher)
- # build dependencies
- DEBIAN_FRONTEND=noninteractive apt-get -y install python3-setuptools || exit $?
- # package dependencies
- DEBIAN_FRONTEND=noninteractive apt-get -y install \
- python3-serial \
- python3-configobj \
- python3-pyudev \
- python3-setproctitle \
- python3-guestfs \
- sudo \
- telnet \
- systemd-sysv \
- python3-netifaces \
- python3-nose \
- python3-pexpect \
- python3-requests \
- python3-yaml \
- python3-zmq || exit $?
-;;
-*)
- echo "Unknow compoments $1"
- exit 1
-;;
-esac
-if [ ! -e /root/lava-server ];then
- git clone https://github.com/Linaro/lava-server.git /root/lava-server || exit $?
-fi
-cd /root/lava-server
-git checkout $2 || exit $?
-
-if [ ! -e /root/$1 ];then
- git clone https://github.com/Linaro/$1.git /root/$1 || exit $?
-fi
-cd /root/$1
-git checkout $2 || exit $?
-
-git config --global user.name "Docker Build"
-git config --global user.email "info@kernelci.org"
-
-# By default, debian-dev-build.sh use always the last tag as version
-sed -i "s,VERSION=.*,VERSION=$3," /root/lava-server/share/debian-dev-build.sh
-
-echo "cd \${DIR} && dpkg -i *.deb" >> /root/lava-server/share/debian-dev-build.sh
-
-cd /root/$1
-/root/lava-server/share/debian-dev-build.sh -p $1 -b $3
-exit $?
diff --git a/lava-master-base/Dockerfile b/lava-master-base/Dockerfile
new file mode 100644
index 0000000..ef4ff2f
--- /dev/null
+++ b/lava-master-base/Dockerfile
@@ -0,0 +1,56 @@
+FROM bitnami/minideb:stretch
+
+RUN echo "deb http://deb.debian.org/debian/ stretch-backports main" >> /etc/apt/sources.list
+
+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
+
+# e2fsprogs is for libguestfs
+RUN DEBIAN_FRONTEND=noninteractive apt-get -y install \
+ locales \
+ postgresql \
+ screen \
+ sudo \
+ wget \
+ e2fsprogs \
+ 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 \
+ && 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
+
+EXPOSE 80 3079 5555 5556
+
+CMD /start.sh && while [ true ];do sleep 365d; done
diff --git a/lava-master/scripts/lava-logs b/lava-master-base/scripts/lava-logs
index 69b2f82..69b2f82 100644
--- a/lava-master/scripts/lava-logs
+++ b/lava-master-base/scripts/lava-logs
diff --git a/lava-master/scripts/lava-master b/lava-master-base/scripts/lava-master
index 3bd75aa..3bd75aa 100644
--- a/lava-master/scripts/lava-master
+++ b/lava-master-base/scripts/lava-master
diff --git a/lava-master/scripts/lava-server-gunicorn b/lava-master-base/scripts/lava-server-gunicorn
index 217ad57..217ad57 100644
--- a/lava-master/scripts/lava-server-gunicorn
+++ b/lava-master-base/scripts/lava-server-gunicorn
diff --git a/lava-master/scripts/lava-slave b/lava-master-base/scripts/lava-slave
index 3ba00f7..3ba00f7 100644
--- a/lava-master/scripts/lava-slave
+++ b/lava-master-base/scripts/lava-slave
diff --git a/lava-master/scripts/start.sh b/lava-master-base/scripts/start.sh
index c34fe34..c34fe34 100755
--- a/lava-master/scripts/start.sh
+++ b/lava-master-base/scripts/start.sh
diff --git a/lava-master/scripts/stop.sh b/lava-master-base/scripts/stop.sh
index 35d503f..35d503f 100755
--- a/lava-master/scripts/stop.sh
+++ b/lava-master-base/scripts/stop.sh
diff --git a/lava-master/Dockerfile b/lava-master/Dockerfile
index 3299922..100b366 100644
--- a/lava-master/Dockerfile
+++ b/lava-master/Dockerfile
@@ -1,79 +1,13 @@
-FROM bitnami/minideb:stretch
-
-RUN echo "deb http://ftp.fr.debian.org/debian/ stretch-backports main" >> /etc/apt/sources.list
-
-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
-
-# e2fsprogs is for libguestfs
-RUN DEBIAN_FRONTEND=noninteractive apt-get -y install \
- locales \
- postgresql \
- screen \
- sudo \
- wget \
- e2fsprogs \
- 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 DEBIAN_FRONTEND=noninteractive apt-get -y install \
- qemu-system \
- qemu-system-arm \
- qemu-system-i386 \
- ser2net \
- u-boot-tools \
- python-setproctitle
-
-RUN if [ "$(uname -m)" = "x86_64" -o "$(uname -m)" = "x86" ] ;then apt-get -y install qemu-kvm ; fi
-
-#RUN service postgresql start \
-# && DEBIAN_FRONTEND=noninteractive apt-get -y install \
-# lava \
-# && /stop.sh
-
-# Install latest
-COPY scripts/build-lava /
-RUN bash /build-lava lava-dispatcher 2018.4 2018.4-1
-RUN /etc/init.d/postgresql start && \
- bash /build-lava lava-server 2018.4 2018.4-1 && \
- /etc/init.d/postgresql stop
+FROM baylibre/lava-master-base:latest
COPY backup /
-RUN a2enmod proxy \
- && a2enmod proxy_http \
- && a2dissite 000-default \
- && a2ensite lava-server
-
COPY configs/tftpd-hpa /etc/default/tftpd-hpa
RUN git clone https://github.com/BayLibre/lava-healthchecks.git
RUN cp lava-healthchecks/health-checks/* /etc/lava-server/dispatcher-config/health-checks/
COPY health-checks/* /etc/lava-server/dispatcher-config/health-checks/
-# 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
-
COPY devices/ /root/devices/
COPY device-types/ /root/device-types/
COPY users/ /root/lava-users/
diff --git a/lava-slave-base/Dockerfile b/lava-slave-base/Dockerfile
new file mode 100644
index 0000000..17286ca
--- /dev/null
+++ b/lava-slave-base/Dockerfile
@@ -0,0 +1,44 @@
+FROM bitnami/minideb:stretch
+
+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 \
+ 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
+
+RUN DEBIAN_FRONTEND=noninteractive apt-get -y install wget gnupg
+RUN wget http://images.validation.linaro.org/production-repo/production-repo.key.asc
+RUN apt-key add production-repo.key.asc
+RUN echo 'deb http://images.validation.linaro.org/production-repo/ stretch-backports main' > /etc/apt/sources.list.d/lava.list
+RUN apt-get clean && apt-get update
+RUN DEBIAN_FRONTEND=noninteractive apt-get -y install lava-dispatcher
+
+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 .
+
+RUN dpkg -l |grep lava
+
+EXPOSE 69/udp 80
+
+CMD /start.sh
diff --git a/lava-slave/scripts/lava-slave b/lava-slave-base/scripts/lava-slave
index 3ba00f7..3ba00f7 100644
--- a/lava-slave/scripts/lava-slave
+++ b/lava-slave-base/scripts/lava-slave
diff --git a/lava-slave/scripts/start.sh b/lava-slave-base/scripts/start.sh
index 21b6903..21b6903 100755
--- a/lava-slave/scripts/start.sh
+++ b/lava-slave-base/scripts/start.sh
diff --git a/lava-slave/scripts/stop.sh b/lava-slave-base/scripts/stop.sh
index 0f18456..0f18456 100755
--- a/lava-slave/scripts/stop.sh
+++ b/lava-slave-base/scripts/stop.sh
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/lavalab-gen.py b/lavalab-gen.py
index 7596818..f7f06f3 100755
--- a/lavalab-gen.py
+++ b/lavalab-gen.py
@@ -447,7 +447,5 @@ def main():
if __name__ == "__main__":
- shutil.copy("common/build-lava", "lava-slave/scripts/build-lava")
- shutil.copy("common/build-lava", "lava-master/scripts/build-lava")
main()