Enable Debian gate build and fix mirrors related issues

Also fixes related issue with distutils installation for Debian Stretch
and Ubuntu Xenial with py3: unlike in Bionic, distutils is installed with
python3 and python3-distutils package is not available in these distributions.

Run Debian build with py3 against stable/train, as master requires at
least python3.6, not available for distribution out of box.

Also increases job timeout to 5400 due to increased amount of builds.

Change-Id: I04c9253af80d941afb45231bee20f7bb1c4a96d4
This commit is contained in:
Andrii Ostapenko 2020-01-20 19:42:41 -06:00 committed by Andrii Ostapenko
parent 0157128488
commit 3e5730cd53
6 changed files with 38 additions and 29 deletions

View File

@ -3,4 +3,4 @@
pre-run: playbooks/setup-gate.yaml pre-run: playbooks/setup-gate.yaml
run: playbooks/loci-builder.yaml run: playbooks/loci-builder.yaml
post-run: playbooks/post.yaml post-run: playbooks/post.yaml
timeout: 3600 timeout: 5400

View File

@ -12,7 +12,7 @@
- job: - job:
name: loci-requirements name: loci-requirements
parent: loci-base parent: loci-base
timeout: 2400 timeout: 3600
vars: vars:
project: requirements project: requirements
required-projects: required-projects:

View File

@ -87,10 +87,10 @@ $ docker build https://opendev.org/openstack/loci.git \
For more advanced building you can use docker build arguments to define: For more advanced building you can use docker build arguments to define:
* `FROM` The base Docker image to build from. Currently supported are * `FROM` The base Docker image to build from. Currently supported are
`ubuntu:bionic`, `ubuntu:xenial`, `centos:7`, `opensuse/leap:15`, or `ubuntu:bionic`, `ubuntu:xenial`, `centos:7`, `opensuse/leap:15`,
a base image derived from one of those distributions. Dockerfiles to `debian:stretch`, or a base image derived from one of those distributions.
bootstrap the base images can be found in the `dockerfiles` directory, Dockerfiles to bootstrap the base images can be found in the `dockerfiles`
and are a good starting point for customizing a base image. directory, and are a good starting point for customizing a base image.
* `PROJECT` The name of the project to install. * `PROJECT` The name of the project to install.
* `PROJECT_REPO` The git repo containing the OpenStack project the container * `PROJECT_REPO` The git repo containing the OpenStack project the container
should contain should contain

View File

@ -2,7 +2,7 @@ ARG FROM=debian:stretch
FROM ${FROM} FROM ${FROM}
ARG DEBIAN_URL=http://deb.debian.org/debian/ ARG DEBIAN_URL=http://deb.debian.org/debian/
ARG DEBIAN_SECURITY_URL=http://security.debian.org/ ARG DEBIAN_SECURITY_URL=http://security.debian.org/debian-security/
ARG DEBIAN_SECURITY_DISTRIBUTION=stretch/updates ARG DEBIAN_SECURITY_DISTRIBUTION=stretch/updates
ARG CEPH_URL=http://download.ceph.com/debian-nautilus/ ARG CEPH_URL=http://download.ceph.com/debian-nautilus/
ARG ALLOW_UNAUTHENTICATED=false ARG ALLOW_UNAUTHENTICATED=false

View File

@ -101,24 +101,30 @@ distros:
PROJECT_REPO: http://172.17.0.1/git/openstack/requirements PROJECT_REPO: http://172.17.0.1/git/openstack/requirements
FROM: base:leap15 FROM: base:leap15
PYTHON3: yes PYTHON3: yes
# - name: debian - name: debian
# image: debian:stretch image: debian:stretch
# buildargs: release: train
# base: buildargs:
# DEBIAN_URL: http://{{ zuul_site_mirror_fqdn }}/debian/ base:
# DEBIAN_SECURITY_URL: http://{{ zuul_site_mirror_fqdn }}/debian/ DEBIAN_URL: http://{{ zuul_site_mirror_fqdn }}/debian/
# DEBIAN_SECURITY_DISTRIBUTION: stretch-security DEBIAN_SECURITY_URL: http://{{ zuul_site_mirror_fqdn }}/debian-security/
# CEPH_URL: http://{{ zuul_site_mirror_fqdn }}/ceph-deb-luminous/ DEBIAN_SECURITY_DISTRIBUTION: stretch/updates
# ALLOW_UNAUTHENTICATED: "true" CEPH_URL: http://{{ zuul_site_mirror_fqdn }}/ceph-deb-nautilus/
# PIP_INDEX_URL: http://{{ zuul_site_mirror_fqdn }}/pypi/simple ALLOW_UNAUTHENTICATED: "true"
# PIP_TRUSTED_HOST: "{{ zuul_site_mirror_fqdn }}" PIP_INDEX_URL: http://{{ zuul_site_mirror_fqdn }}/pypi/simple
# project: PIP_TRUSTED_HOST: "{{ zuul_site_mirror_fqdn }}"
# PROJECT: "{{ project }}" project:
# PROJECT_REPO: http://172.17.0.1/git/openstack/{{ project }} PROJECT: "{{ project }}"
# PROJECT_REF: "{{ project_reference }}" PROJECT_REPO: http://172.17.0.1/git/openstack/{{ project }}
# WHEELS: 172.17.0.1:5000/loci/requirements:master-debian PROJECT_REF: "stable/train"
# FROM: base:debian PROJECT_RELEASE: "train"
# requirements: WHEELS: 172.17.0.1:5000/loci/requirements:train-debian
# PROJECT: requirements FROM: base:debian
# PROJECT_REPO: http://172.17.0.1/git/openstack/requirements PYTHON3: yes
# FROM: base:debian requirements:
PROJECT: requirements
PROJECT_REPO: http://172.17.0.1/git/openstack/requirements
PROJECT_REF: "stable/train"
PROJECT_RELEASE: "train"
FROM: base:debian
PYTHON3: yes

View File

@ -11,7 +11,7 @@ if [[ "${PYTHON3}" == "no" ]]; then
python3="" python3=""
python_version=2 python_version=2
else else
dpkg_python_packages=("python3" "python3-virtualenv" "python3-distutils") dpkg_python_packages=("python3" "python3-virtualenv")
rpm_python_packages=("python3") rpm_python_packages=("python3")
python3="python3" python3="python3"
python_version=3 python_version=3
@ -21,6 +21,9 @@ case ${distro} in
debian|ubuntu) debian|ubuntu)
export LC_CTYPE=C.UTF-8 export LC_CTYPE=C.UTF-8
apt-get update apt-get update
if [[ ! -z "$(apt-cache search ^${python3}-distutils$)" ]]; then
dpkg_python_packages+=("python3-distutils")
fi
apt-get upgrade -y apt-get upgrade -y
apt-get install -y --no-install-recommends \ apt-get install -y --no-install-recommends \
git \ git \