From c6d8256038eb84e08cf47c49af01813a1e5d4467 Mon Sep 17 00:00:00 2001 From: "Hughes, Alexander (ah8742)" Date: Fri, 7 Jun 2019 19:17:33 +0000 Subject: [PATCH] Add Ubuntu Bionic support to Spyglass From community meeting on 04-June-2019 Ubuntu Xenial is the default image for Airship projects, but a desire was voiced to also add support for Ubuntu Bionic at the convenience of the contributors for each project. This patch: 1. Adds a new dockerfile specific to ubuntu:18.04 (bionic). 2. Add to .zuul.yaml checks/gates/post jobs for bionic. Change-Id: I131c894a749cc6d5f19274389a07a9edcc1a0099 --- .zuul.yaml | 32 +++++++++++++++++ images/spyglass/Dockerfile.ubuntu_bionic | 44 ++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 images/spyglass/Dockerfile.ubuntu_bionic diff --git a/.zuul.yaml b/.zuul.yaml index 235d518..ad667cc 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -19,14 +19,17 @@ jobs: - openstack-tox-pep8 - spyglass-docker-build-gate-ubuntu_xenial + - spyglass-docker-build-gate-ubuntu_bionic gate: jobs: - openstack-tox-pep8 - spyglass-docker-build-gate-ubuntu_xenial + - spyglass-docker-build-gate-ubuntu_bionic post: jobs: - spyglass-upload-git-mirror - spyglass-docker-publish-ubuntu_xenial + - spyglass-docker-publish-ubuntu_bionic - nodeset: name: spyglass-single-node @@ -46,6 +49,18 @@ dynamic: patch_set: true +- job: + name: spyglass-docker-build-gate-ubuntu_bionic + timeout: 1800 + run: tools/gate/playbooks/docker-image-build.yaml + nodeset: spyglass-single-node + vars: + publish: false + distro: ubuntu_bionic + tags: + dynamic: + patch_set: true + - job: name: spyglass-docker-publish-ubuntu_xenial timeout: 1800 @@ -63,6 +78,23 @@ static: - latest +- job: + name: spyglass-docker-publish-ubuntu_bionic + timeout: 1800 + run: tools/gate/playbooks/docker-image-build.yaml + nodeset: spyglass-single-node + secrets: + - airship_spyglass_quay_creds + vars: + publish: true + distro: ubuntu_bionic + tags: + dynamic: + branch: true + commit: true + static: + - latest + - secret: name: airship_spyglass_quay_creds data: diff --git a/images/spyglass/Dockerfile.ubuntu_bionic b/images/spyglass/Dockerfile.ubuntu_bionic new file mode 100644 index 0000000..af788ea --- /dev/null +++ b/images/spyglass/Dockerfile.ubuntu_bionic @@ -0,0 +1,44 @@ +ARG FROM=ubuntu:18.04 +FROM ${FROM} + +LABEL org.opencontainers.image.authors='airship-discuss@lists.airshipit.org, irc://#airshipit@freenode' +LABEL org.opencontainers.image.url='https://airshipit.org' +LABEL org.opencontainers.image.documentation='https://airship-spyglass.readthedocs.org' +LABEL org.opencontainers.image.source='https://opendev.org/airship/spyglass' +LABEL org.opencontainers.image.vendor='The Airship Authors' +LABEL org.opencontainers.image.licenses='Apache-2.0' + +ENV LANG=C.UTF-8 +ENV LC_ALL=C.UTF-8 + +RUN set -ex \ + && apt-get update -qq \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + curl \ + gcc \ + git \ + libssl-dev \ + netbase \ + python3-dev \ + python3-pip \ + python3-setuptools \ + && python3 -m pip install -U pip \ + && apt-get autoremove -yqq --purge \ + && apt-get clean \ + && rm -rf \ + /tmp/* \ + /usr/share/doc \ + /usr/share/doc-base \ + /usr/share/man \ + /var/lib/apt/lists/* \ + /var/tmp/* + +VOLUME /var/spyglass +WORKDIR /var/spyglass + +COPY requirements.txt /opt/spyglass/requirements.txt +RUN pip3 install --no-cache-dir -r /opt/spyglass/requirements.txt + +COPY . /opt/spyglass +RUN pip3 install -e /opt/spyglass