[WIP] Refactor Openstack image build

Change-Id: I7c63ee98125bf0988b3926e40dd916087cbb9476
This commit is contained in:
Vladimir Kozhukalov 2024-04-27 00:26:16 -05:00
parent 9c19b92dea
commit 73986a184b
5 changed files with 106 additions and 101 deletions

View File

@ -56,9 +56,9 @@
- openstack-helm-images-compute-kit-2023-1-ubuntu_jammy
- openstack-helm-images-cinder-2023-1-ubuntu_jammy
- openstack-helm-images-horizon-2023-1-ubuntu_jammy
templates:
- publish-openstack-docs-pti
- release-notes-jobs-python3
# templates:
# - publish-openstack-docs-pti
# - release-notes-jobs-python3
# This takes the same structure as other infra jobs.
# This dict keyname matter. See also job definition for more explanations.
@ -92,7 +92,7 @@
name: openstack-helm-images-buildset-registry
parent: opendev-buildset-registry
timeout: 10800
voting: false
# voting: false
# In docker_images:
# `context` is the folder in osh-images

View File

@ -11,29 +11,29 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- project:
check:
jobs:
- openstack-helm-images-build-openstack-2023-2-ubuntu_jammy
- openstack-helm-images-compute-kit-2023-2-ubuntu_jammy
- openstack-helm-images-cinder-2023-2-ubuntu_jammy
gate:
jobs:
- openstack-helm-images-upload-openstack-2023-2-ubuntu_jammy
- openstack-helm-images-compute-kit-2023-2-ubuntu_jammy
- openstack-helm-images-cinder-2023-2-ubuntu_jammy
promote:
jobs:
- openstack-helm-images-promote-openstack-2023-2-ubuntu_jammy
periodic-weekly:
jobs:
- openstack-helm-images-upload-openstack-2023-2-ubuntu_jammy
- openstack-helm-images-promote-openstack-2023-2-ubuntu_jammy:
dependencies:
- name: openstack-helm-images-compute-kit-2023-2-ubuntu_jammy
- name: openstack-helm-images-cinder-2023-2-ubuntu_jammy
- openstack-helm-images-compute-kit-2023-2-ubuntu_jammy
- openstack-helm-images-cinder-2023-2-ubuntu_jammy
# - project:
# check:
# jobs:
# - openstack-helm-images-build-openstack-2023-2-ubuntu_jammy
# - openstack-helm-images-compute-kit-2023-2-ubuntu_jammy
# - openstack-helm-images-cinder-2023-2-ubuntu_jammy
# gate:
# jobs:
# - openstack-helm-images-upload-openstack-2023-2-ubuntu_jammy
# - openstack-helm-images-compute-kit-2023-2-ubuntu_jammy
# - openstack-helm-images-cinder-2023-2-ubuntu_jammy
# promote:
# jobs:
# - openstack-helm-images-promote-openstack-2023-2-ubuntu_jammy
# periodic-weekly:
# jobs:
# - openstack-helm-images-upload-openstack-2023-2-ubuntu_jammy
# - openstack-helm-images-promote-openstack-2023-2-ubuntu_jammy:
# dependencies:
# - name: openstack-helm-images-compute-kit-2023-2-ubuntu_jammy
# - name: openstack-helm-images-cinder-2023-2-ubuntu_jammy
# - openstack-helm-images-compute-kit-2023-2-ubuntu_jammy
# - openstack-helm-images-cinder-2023-2-ubuntu_jammy
- job:
name: openstack-helm-images-build-openstack-2023-2-ubuntu_jammy

View File

@ -45,24 +45,24 @@
branchname: "stable/2024.1"
shortbranchname: "2024.1"
openstack_docker_images:
- requirements
# - requirements
- keystone
- glance
- cinder
- designate
- nova
- ironic
- neutron
- horizon
- heat
- barbican
- placement
- cyborg
- magnum
- masakari
- masakari_monitors
- manila
- tacker
# - glance
# - cinder
# - designate
# - nova
# - ironic
# - neutron
# - horizon
# - heat
# - barbican
# - placement
# - cyborg
# - magnum
# - masakari
# - masakari_monitors
# - manila
# - tacker
files: &openstack_files
- ^openstack/loci/.*
- zuul.d/openstack-2024.1.yaml

View File

@ -22,21 +22,21 @@
include_role:
name: use-buildset-registry
tasks:
- name: Export the right vars
shell: |
source /etc/ci/mirror_info.sh
echo ${NODEPOOL_OPENSUSE_MIRROR}/
echo ${NODEPOOL_PYPI_MIRROR}
echo ${NODEPOOL_MIRROR_HOST}
args:
executable: /bin/bash
changed_when: False
register: _zuul_mirrors
- name: Set fact with the exported variables
set_fact:
opensuse_package_mirror: "{{ _zuul_mirrors.stdout_lines[0] }}"
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: Export the right vars
# shell: |
# source /etc/ci/mirror_info.sh
# echo ${NODEPOOL_OPENSUSE_MIRROR}/
# echo ${NODEPOOL_PYPI_MIRROR}
# echo ${NODEPOOL_MIRROR_HOST}
# args:
# executable: /bin/bash
# changed_when: False
# register: _zuul_mirrors
# - name: Set fact with the exported variables
# set_fact:
# opensuse_package_mirror: "{{ _zuul_mirrors.stdout_lines[0] }}"
# 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 image
include_role:
@ -52,34 +52,34 @@
zuul_work_dir: "src/opendev.org/openstack/loci"
docker_images: "{{ requirements_docker_images }}"
- name: Build webserver serving wheels
include_role:
name: build-docker-image
vars:
zuul_work_dir: "{{ zuul.project.src_dir }}"
docker_images:
- context: zuul.d/playbooks/
repository: openstackhelm/loci_wheels
# - name: Build webserver serving wheels
# include_role:
# name: build-docker-image
# vars:
# zuul_work_dir: "{{ zuul.project.src_dir }}"
# docker_images:
# - context: zuul.d/playbooks/
# repository: openstackhelm/loci_wheels
- name: Allow access to wheels server
iptables:
action: insert
chain: INPUT
in_interface: docker0
jump: ACCEPT
become: yes
# - name: Allow access to wheels server
# iptables:
# action: insert
# chain: INPUT
# in_interface: docker0
# jump: ACCEPT
# become: yes
- name: Run http server containing wheels
command: docker run -d -p 0.0.0.0:8080:80 openstackhelm/loci_wheels:latest
# - name: Run http server containing wheels
# command: docker run -d -p 0.0.0.0:8080:80 openstackhelm/loci_wheels:latest
- name: Build project images
include_role:
name: build-docker-image
vars:
zuul_work_dir: "src/opendev.org/openstack/loci"
# - name: Build project images
# include_role:
# name: build-docker-image
# vars:
# zuul_work_dir: "src/opendev.org/openstack/loci"
- name: Return images to zuul
include_tasks: _return-image.yml
loop: "{{ docker_images }}"
loop_control:
loop_var: zj_image
# - name: Return images to zuul
# include_tasks: _return-image.yml
# loop: "{{ docker_images }}"
# loop_control:
# loop_var: zj_image

View File

@ -16,6 +16,7 @@ python3: "yes"
#172.17.0.1 is default docker0 ip.
wheels_location: "http://172.17.0.1:8080/wheels.tar.gz"
base_repository: "base"
requirements_repository: "requirements"
base_docker_images:
- context: "zuul.d/playbooks/"
@ -25,38 +26,42 @@ base_docker_images:
- "FROM='{{ from }}'"
- "CEPH_REPO='{{ ceph_repo }}'"
- "CEPH_KEY='{{ ceph_key }}'"
tags: &imagetag
- "{{ shortbranchname }}-{{ distroname }}"
- "{{ shortbranchname }}-{{ distroname }}-{{ currentdate }}"
requirements_docker_images:
- context: "."
repository: openstackhelm/requirements
repository: "{{ requirements_repository }}"
build_args:
- "FROM='{{ base_repository }}'"
- "FROM='{{ base_repository }}:{{ shortbranchname }}-{{ distroname }}'"
- "PROJECT='requirements'"
- "PROJECT_REF={{ branchname }}"
- "KEEP_ALL_WHEELS=yes"
tags: *imagetag
openstack_docker_images_dict:
requirements:
context: "."
repository: openstackhelm/requirements
build_args:
- "FROM='{{ base_repository }}'"
- "PROJECT='requirements'"
- "PROJECT_REF={{ branchname }}"
- "KEEP_ALL_WHEELS=yes"
tags: &imagetag
- "{{ shortbranchname }}-{{ distroname }}"
- "{{ shortbranchname }}-{{ distroname }}-{{ currentdate }}" # Frozen tag
# requirements:
# context: "."
# repository: openstackhelm/requirements
# build_args:
# - "FROM='{{ base_repository }}'"
# - "PROJECT='requirements'"
# - "PROJECT_REF={{ branchname }}"
# - "KEEP_ALL_WHEELS=yes"
# tags: &imagetag
# - "{{ shortbranchname }}-{{ distroname }}"
# - "{{ shortbranchname }}-{{ distroname }}-{{ currentdate }}" # Frozen tag
keystone:
context: "."
repository: openstackhelm/keystone
build_args:
- "FROM='{{ base_repository }}'"
- "FROM='{{ base_repository }}:{{ shortbranchname }}-{{ distroname }}'"
- "PROJECT='keystone'"
- "PROJECT_REF={{ branchname }}"
- "PROFILES='fluent apache ldap {{ shortbranchname }}'"
- "PIP_PACKAGES='python-openstackclient'"
- "WHEELS='{{ wheels_location }}'"
- "WHEELS='{{ buildset_registry_alias }}:{{ buildset_registry.port }}/{{ requirements_repository }}:{{ shortbranchname }}-{{ distroname }}'"
- "KEEP_ALL_WHEELS=yes"
tags: *imagetag
heat: