Add base image for Openstack images

The PS adds base image for Openstack/loci images. Also the PS adds
a possibility to provide ceph repository link and key during the build.

Change-Id: I2ca54ccfeb99bcd58a0d8736a9106d07b9455fc5
This commit is contained in:
Dmitrii Kabanov
2020-04-23 15:34:21 -07:00
committed by Dmitrii Kabanov
parent 548c599498
commit 5115bca5e5
3 changed files with 111 additions and 28 deletions

View File

@@ -95,12 +95,24 @@
wheels_location: "http://172.17.0.1:8080/wheels.tar.gz"
# the macros named *_project apply project wide. Be careful
# if editing those.
base_repository: "base"
ceph_repo: ""
ceph_key: ""
base_docker_image:
- &base_image
context: "zuul.d/playbooks/"
dockerfile: "Dockerfile_base"
repository: '{{ base_repository }}'
build_args:
- "FROM='{{ from }}'"
- "CEPH_REPO='{{ ceph_repo }}'"
- "CEPH_KEY='{{ ceph_key }}'"
prep_docker_images:
- &requirements_project
context: "."
repository: openstackhelm/requirements
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='requirements'"
- "PROJECT_REF={{ branchname }}"
@@ -109,7 +121,7 @@
context: "."
repository: openstackhelm/keystone
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='keystone'"
- "PROJECT_REF={{ branchname }}"
@@ -123,7 +135,7 @@
context: "."
repository: openstackhelm/heat
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='heat'"
- "PROJECT_REF={{ branchname }}"
@@ -135,7 +147,7 @@
context: "."
repository: openstackhelm/barbican
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='barbican'"
- "PROJECT_REF={{ branchname }}"
@@ -146,7 +158,7 @@
context: "."
repository: openstackhelm/glance
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='glance'"
- "PROJECT_REF={{ branchname }}"
@@ -158,7 +170,7 @@
context: "."
repository: openstackhelm/cinder
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='cinder'"
- "PROJECT_REF={{ branchname }}"
@@ -170,7 +182,7 @@
context: "."
repository: openstackhelm/neutron
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='neutron'"
- "PROJECT_REF={{ branchname }}"
@@ -196,7 +208,7 @@
context: "."
repository: openstackhelm/nova
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='nova'"
- "PROJECT_REF={{ branchname }}"
@@ -207,7 +219,7 @@
context: "."
repository: openstackhelm/horizon
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='horizon'"
- "PROJECT_REF={{ branchname }}"
@@ -218,7 +230,7 @@
context: "."
repository: openstackhelm/senlin
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='senlin'"
- "PROJECT_REF={{ branchname }}"
@@ -229,7 +241,7 @@
context: "."
repository: openstackhelm/congress
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='congress'"
- "PROJECT_REF={{ branchname }}"
@@ -241,7 +253,7 @@
context: "."
repository: openstackhelm/magnum
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='magnum'"
- "PROJECT_REF={{ branchname }}"
@@ -252,7 +264,7 @@
context: "."
repository: openstackhelm/ironic
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='ironic'"
- "PROJECT_REF={{ branchname }}"
@@ -264,7 +276,7 @@
context: "."
repository: openstackhelm/placement
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='placement'"
- "PROJECT_REF={{ branchname }}"
@@ -316,6 +328,11 @@
python3: "yes"
#172.17.0.1 is default docker0 ip.
wheels_location: "http://172.17.0.1:8080/wheels.tar.gz"
base_repository: "base"
ceph_repo: "deb https://mirror.mirantis.com/testing/ceph-nautilus/bionic/ bionic main"
ceph_key: "https://mirror.mirantis.com/testing/ceph-nautilus/bionic/archive-ceph-nautilus.key"
base_docker_image:
- <<: *base_image
prep_docker_images:
- <<: *requirements_project
docker_images:
@@ -359,6 +376,11 @@
from: "docker.io/ubuntu:18.04"
python3: "yes"
wheels_location: "http://172.17.0.1:8080/wheels.tar.gz"
base_repository: "base"
ceph_repo: "deb https://mirror.mirantis.com/testing/ceph-nautilus/bionic/ bionic main"
ceph_key: "https://mirror.mirantis.com/testing/ceph-nautilus/bionic/archive-ceph-nautilus.key"
base_docker_image:
- <<: *base_image
prep_docker_images:
- <<: *requirements_project
docker_images:
@@ -400,6 +422,11 @@
from: "docker.io/ubuntu:18.04"
python3: "yes"
wheels_location: "http://172.17.0.1:8080/wheels.tar.gz"
base_repository: "base"
ceph_repo: "deb https://mirror.mirantis.com/testing/ceph-nautilus/bionic/ bionic main"
ceph_key: "https://mirror.mirantis.com/testing/ceph-nautilus/bionic/archive-ceph-nautilus.key"
base_docker_image:
- <<: *base_image
prep_docker_images:
- <<: *requirements_project
docker_images:
@@ -443,6 +470,11 @@
from: "docker.io/ubuntu:18.04"
python3: "yes"
wheels_location: "http://172.17.0.1:8080/wheels.tar.gz"
base_repository: "base"
ceph_repo: "deb https://mirror.mirantis.com/testing/ceph-nautilus/bionic/ bionic main"
ceph_key: "https://mirror.mirantis.com/testing/ceph-nautilus/bionic/archive-ceph-nautilus.key"
base_docker_image:
- <<: *base_image
prep_docker_images:
- <<: *requirements_project
docker_images:
@@ -480,6 +512,11 @@
from: "gcr.io/google_containers/ubuntu-slim:0.14"
python3: "no"
wheels_location: "http://172.17.0.1:8080/wheels.tar.gz"
base_repository: "base"
ceph_repo: "deb https://mirror.mirantis.com/testing/ceph-mimic/xenial/ xenial main"
ceph_key: "https://mirror.mirantis.com/testing/ceph-mimic/xenial/archive-ceph-mimic.key"
base_docker_image:
- <<: *base_image
prep_docker_images:
- <<: *requirements_project
docker_images:
@@ -573,6 +610,11 @@
from: "gcr.io/google_containers/ubuntu-slim:0.14"
python3: "no"
wheels_location: "http://172.17.0.1:8080/wheels.tar.gz"
base_repository: "base"
ceph_repo: "deb https://mirror.mirantis.com/testing/ceph-mimic/xenial/ xenial main"
ceph_key: "https://mirror.mirantis.com/testing/ceph-mimic/xenial/archive-ceph-mimic.key"
base_docker_image:
- <<: *base_image
prep_docker_images:
- <<: *requirements_project
docker_images:
@@ -613,6 +655,11 @@
from: "gcr.io/google_containers/ubuntu-slim:0.14"
python3: "no"
wheels_location: "http://172.17.0.1:8080/wheels.tar.gz"
base_repository: "base"
ceph_repo: "deb https://mirror.mirantis.com/testing/ceph-mimic/xenial/ xenial main"
ceph_key: "https://mirror.mirantis.com/testing/ceph-mimic/xenial/archive-ceph-mimic.key"
base_docker_image:
- <<: *base_image
prep_docker_images:
- <<: *requirements_project
docker_images:
@@ -654,11 +701,16 @@
python3: "no"
wheels_location: "http://172.17.0.1:8080/wheels.tar.gz"
from: "gcr.io/google_containers/ubuntu-slim:0.14"
base_repository: "base"
ceph_repo: "deb https://mirror.mirantis.com/testing/ceph-mimic/xenial/ xenial main"
ceph_key: "https://mirror.mirantis.com/testing/ceph-mimic/xenial/archive-ceph-mimic.key"
base_docker_image:
- <<: *base_image
prep_docker_images:
- context: "."
repository: openstackhelm/requirements
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='requirements'"
- "PROJECT_REF={{ branchname }}"
@@ -666,7 +718,7 @@
- context: "."
repository: openstackhelm/keystone
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='keystone'"
- "PROJECT_REF={{ branchname }}"
@@ -677,7 +729,7 @@
- context: "."
repository: openstackhelm/heat
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='heat'"
- "PROJECT_REF={{ branchname }}"
@@ -689,7 +741,7 @@
- context: "."
repository: openstackhelm/barbican
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='barbican'"
- "PROJECT_REF={{ branchname }}"
@@ -700,7 +752,7 @@
- context: "."
repository: openstackhelm/glance
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='glance'"
- "PROJECT_REF={{ branchname }}"
@@ -711,7 +763,7 @@
- context: "."
repository: openstackhelm/cinder
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='cinder'"
- "PROJECT_REF={{ branchname }}"
@@ -722,7 +774,7 @@
- context: "."
repository: openstackhelm/neutron
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='neutron'"
- "PROJECT_REF={{ branchname }}"
@@ -748,7 +800,7 @@
- context: "."
repository: openstackhelm/nova
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='nova'"
- "PROJECT_REF={{ branchname }}"
@@ -759,7 +811,7 @@
- context: "."
repository: openstackhelm/horizon
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='horizon'"
- "PROJECT_REF={{ branchname }}"
@@ -770,7 +822,7 @@
- context: "."
repository: openstackhelm/senlin
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='senlin'"
- "PROJECT_REF={{ branchname }}"
@@ -781,7 +833,7 @@
- context: "."
repository: openstackhelm/congress
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='congress'"
- "PROJECT_REF={{ branchname }}"
@@ -792,7 +844,7 @@
- context: "."
repository: openstackhelm/magnum
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='magnum'"
- "PROJECT_REF={{ branchname }}"
@@ -803,7 +855,7 @@
- context: "."
repository: openstackhelm/ironic
build_args:
- "FROM='{{ from }}'"
- "FROM='{{ base_repository }}'"
- "PYTHON3={{ python3 }}"
- "PROJECT='ironic'"
- "PROJECT_REF={{ branchname }}"

View File

@@ -0,0 +1,24 @@
ARG FROM=ubuntu:bionic
FROM ${FROM}
ARG CEPH_REPO="deb https://download.ceph.com/debian-nautilus/ bionic main"
ARG CEPH_KEY="https://download.ceph.com/keys/release.asc"
ARG ALLOW_UNAUTHENTICATED=false
RUN echo "APT::Get::AllowUnauthenticated \"${ALLOW_UNAUTHENTICATED}\";\n\
Acquire::AllowInsecureRepositories \"${ALLOW_UNAUTHENTICATED}\";\n\
Acquire::AllowDowngradeToInsecureRepositories \"${ALLOW_UNAUTHENTICATED}\";" \
>> /etc/apt/apt.conf.d/allow-unathenticated
RUN export DEBIAN_FRONTEND=noninteractive ;\
apt-get update ;\
apt-get install -y --no-install-recommends \
apt-transport-https \
ca-certificates \
gnupg2 \
wget ;\
wget -q -O- ${CEPH_KEY} | apt-key add - ;\
echo "${CEPH_REPO}" | tee /etc/apt/sources.list.d/ceph.list ;\
apt-get remove -y wget gnupg2 ;\
apt-get clean ;\
rm -rf /var/lib/apt/lists/*

View File

@@ -32,7 +32,14 @@
pip_index_url: "{{ _zuul_mirrors.stdout_lines[1] | default('https://pypi.python.org/simple/') }}"
pip_trusted_host: "{{ _zuul_mirrors.stdout_lines[2] | default('pypi.python.org') }}"
- name: Build base and requirements images
- name: Build base image
include_role:
name: build-docker-image
vars:
zuul_work_dir: "{{ zuul.project.src_dir }}"
docker_images: "{{ base_docker_image }}"
- name: Build base requirements image
include_role:
name: build-docker-image
vars: