diff --git a/.zuul.yaml b/.zuul.yaml index ca9912be..2a06e948 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -24,18 +24,21 @@ - openstack-tox-pep8 - armada-chart-build-gate - armada-chart-build-latest-htk - - armada-docker-build-gate-ubuntu + - armada-docker-build-gate-ubuntu_bionic + - armada-docker-build-gate-ubuntu_xenial - armada-docker-build-gate-opensuse - armada-airskiff-deploy gate: jobs: - openstack-tox-pep8 - armada-chart-build-gate - - armada-docker-build-gate-ubuntu + - armada-docker-build-gate-ubuntu_bionic + - armada-docker-build-gate-ubuntu_xenial - armada-docker-build-gate-opensuse post: jobs: - - armada-docker-publish-ubuntu + - armada-docker-publish-ubuntu_bionic + - armada-docker-publish-ubuntu_xenial - armada-docker-publish-opensuse - armada-upload-git-mirror @@ -65,7 +68,7 @@ HTK_COMMIT: master - job: - name: armada-docker-build-gate-ubuntu + name: armada-docker-build-gate-ubuntu_bionic timeout: 1800 run: tools/gate/playbooks/docker-image-build.yaml nodeset: armada-single-node @@ -76,6 +79,18 @@ dynamic: patch_set: true +- job: + name: armada-docker-build-gate-ubuntu_xenial + timeout: 1800 + run: tools/gate/playbooks/docker-image-build.yaml + nodeset: armada-single-node + vars: + publish: false + distro: ubuntu_xenial + tags: + dynamic: + patch_set: true + - job: name: armada-docker-build-gate-opensuse timeout: 1800 @@ -116,7 +131,7 @@ - ^swagger/.*$ - job: - name: armada-docker-publish-ubuntu + name: armada-docker-publish-ubuntu_bionic timeout: 1800 run: tools/gate/playbooks/docker-image-build.yaml nodeset: armada-single-node @@ -132,6 +147,23 @@ static: - latest +- job: + name: armada-docker-publish-ubuntu_xenial + timeout: 1800 + run: tools/gate/playbooks/docker-image-build.yaml + nodeset: armada-single-node + secrets: + - airship_armada_quay_creds + vars: + publish: true + distro: ubuntu_xenial + tags: + dynamic: + branch: true + commit: true + static: + - latest + - job: name: armada-docker-publish-opensuse timeout: 1800 diff --git a/images/armada/Dockerfile.ubuntu_xenial b/images/armada/Dockerfile.ubuntu_xenial new file mode 100644 index 00000000..4bc11782 --- /dev/null +++ b/images/armada/Dockerfile.ubuntu_xenial @@ -0,0 +1,80 @@ +ARG FROM=ubuntu:16.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-armada.readthedocs.org' +LABEL org.opencontainers.image.source='https://opendev.org/airship/armada' +LABEL org.opencontainers.image.vendor='The Airship Authors' +LABEL org.opencontainers.image.licenses='Apache-2.0' + +ENV DEBIAN_FRONTEND noninteractive +ENV LANG=C.UTF-8 +ENV LC_ALL=C.UTF-8 + +EXPOSE 8000 + +RUN set -ex && \ + apt-get -qq update && \ + apt-get -y install \ + ca-certificates \ + curl \ + netbase \ + python3-dev \ + python3-setuptools \ + --no-install-recommends \ + && apt-get autoremove -yqq --purge \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* \ + /usr/share/man \ + /usr/share/doc \ + /usr/share/doc-base + +WORKDIR /armada + +# Add armada user +RUN useradd -u 1000 -g users -d $(pwd) armada + +ENTRYPOINT ["./entrypoint.sh"] +CMD ["server"] + +COPY requirements.txt ./ + +# Build +RUN set -ex \ + && buildDeps=' \ + gcc \ + libssl-dev \ + make \ + python3-pip \ + ' \ + && apt-get -qq update \ + # Keep git separate so it's not removed below + && apt-get install -y $buildDeps git --no-install-recommends \ + && python3 -m pip install -U pip \ + && pip3 install -r requirements.txt --no-cache-dir \ + && apt-get purge -y --auto-remove $buildDeps \ + && apt-get autoremove -yqq --purge \ + && apt-get clean \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* \ + /usr/share/man \ + /usr/share/doc \ + /usr/share/doc-base + +COPY . ./ + +# Setting the version explicitly for PBR +ENV PBR_VERSION 0.8.0 + +RUN \ + mv etc/armada /etc/ && \ + chown -R armada:users . && \ + python3 setup.py install + +USER armada