diff options
author | khilman <khilman@users.noreply.github.com> | 2018-07-27 08:18:39 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-27 08:18:39 -0500 |
commit | d733f2d4280959fed968d1589580f46460ecba27 (patch) | |
tree | b91d7de9ed99bf3430854198f1dbc7c2dbfefafb | |
parent | baf680990ecb539cde0a16ef5b32a7321dd4538a (diff) | |
parent | fd42a55a19f6fa32efb5893f5fb43f86de9b3e2d (diff) |
Merge pull request #34 from montjoie/splitimage
Splitimage
-rw-r--r-- | common/build-lava | 112 | ||||
-rw-r--r-- | lava-master-base/Dockerfile | 56 | ||||
-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-x | lava-master-base/scripts/start.sh (renamed from lava-master/scripts/start.sh) | 0 | ||||
-rwxr-xr-x | lava-master-base/scripts/stop.sh (renamed from lava-master/scripts/stop.sh) | 0 | ||||
-rw-r--r-- | lava-master/Dockerfile | 68 | ||||
-rw-r--r-- | lava-slave-base/Dockerfile | 44 | ||||
-rw-r--r-- | lava-slave-base/scripts/lava-slave (renamed from lava-slave/scripts/lava-slave) | 0 | ||||
-rwxr-xr-x | lava-slave-base/scripts/start.sh (renamed from lava-slave/scripts/start.sh) | 0 | ||||
-rwxr-xr-x | lava-slave-base/scripts/stop.sh (renamed from lava-slave/scripts/stop.sh) | 0 | ||||
-rw-r--r-- | lava-slave/Dockerfile | 49 | ||||
-rwxr-xr-x | lavalab-gen.py | 2 |
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() |