Add ubuntu_xenial image build to Armada

All other Airship projects that use Ubuntu currently have a build
for Xenial, and until they all move to Bionic we should support
using the same version on all of them

This adds an ubuntu_xenial Dockerfile in addition to the ubuntu_bionic
Dockerfile, and updates the gates to add ubuntu_xenial jobs

Change-Id: I63753b02cb6d6ccc40cace9dd35b6e1ba67d1e31
This commit is contained in:
Michael Beaver 2019-05-30 16:52:24 -05:00
parent 7137e0f281
commit 232a814f73
2 changed files with 117 additions and 5 deletions

View File

@ -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

View File

@ -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