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:
parent
7137e0f281
commit
232a814f73
42
.zuul.yaml
42
.zuul.yaml
|
@ -24,18 +24,21 @@
|
||||||
- openstack-tox-pep8
|
- openstack-tox-pep8
|
||||||
- armada-chart-build-gate
|
- armada-chart-build-gate
|
||||||
- armada-chart-build-latest-htk
|
- 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-docker-build-gate-opensuse
|
||||||
- armada-airskiff-deploy
|
- armada-airskiff-deploy
|
||||||
gate:
|
gate:
|
||||||
jobs:
|
jobs:
|
||||||
- openstack-tox-pep8
|
- openstack-tox-pep8
|
||||||
- armada-chart-build-gate
|
- 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
|
- armada-docker-build-gate-opensuse
|
||||||
post:
|
post:
|
||||||
jobs:
|
jobs:
|
||||||
- armada-docker-publish-ubuntu
|
- armada-docker-publish-ubuntu_bionic
|
||||||
|
- armada-docker-publish-ubuntu_xenial
|
||||||
- armada-docker-publish-opensuse
|
- armada-docker-publish-opensuse
|
||||||
- armada-upload-git-mirror
|
- armada-upload-git-mirror
|
||||||
|
|
||||||
|
@ -65,7 +68,7 @@
|
||||||
HTK_COMMIT: master
|
HTK_COMMIT: master
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: armada-docker-build-gate-ubuntu
|
name: armada-docker-build-gate-ubuntu_bionic
|
||||||
timeout: 1800
|
timeout: 1800
|
||||||
run: tools/gate/playbooks/docker-image-build.yaml
|
run: tools/gate/playbooks/docker-image-build.yaml
|
||||||
nodeset: armada-single-node
|
nodeset: armada-single-node
|
||||||
|
@ -76,6 +79,18 @@
|
||||||
dynamic:
|
dynamic:
|
||||||
patch_set: true
|
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:
|
- job:
|
||||||
name: armada-docker-build-gate-opensuse
|
name: armada-docker-build-gate-opensuse
|
||||||
timeout: 1800
|
timeout: 1800
|
||||||
|
@ -116,7 +131,7 @@
|
||||||
- ^swagger/.*$
|
- ^swagger/.*$
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: armada-docker-publish-ubuntu
|
name: armada-docker-publish-ubuntu_bionic
|
||||||
timeout: 1800
|
timeout: 1800
|
||||||
run: tools/gate/playbooks/docker-image-build.yaml
|
run: tools/gate/playbooks/docker-image-build.yaml
|
||||||
nodeset: armada-single-node
|
nodeset: armada-single-node
|
||||||
|
@ -132,6 +147,23 @@
|
||||||
static:
|
static:
|
||||||
- latest
|
- 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:
|
- job:
|
||||||
name: armada-docker-publish-opensuse
|
name: armada-docker-publish-opensuse
|
||||||
timeout: 1800
|
timeout: 1800
|
||||||
|
|
|
@ -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
|
Loading…
Reference in New Issue