From 6593dd6c04610cc5a7209a69876846ba8c74d105 Mon Sep 17 00:00:00 2001 From: Vladimir Kozhukalov Date: Sat, 27 Apr 2024 00:26:16 -0500 Subject: [PATCH] [WIP] Refactor Openstack image build Change-Id: I7c63ee98125bf0988b3926e40dd916087cbb9476 --- zuul.d/base.yaml | 8 ++--- zuul.d/openstack-2023.2.yaml | 46 ++++++++++++++-------------- zuul.d/openstack-2024.1.yaml | 34 ++++++++++---------- zuul.d/playbooks/build-openstack.yml | 46 +++++----------------------- zuul.d/playbooks/vars-openstack.yml | 24 ++++++--------- 5 files changed, 60 insertions(+), 98 deletions(-) diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml index 428af3be..7d3d78e0 100644 --- a/zuul.d/base.yaml +++ b/zuul.d/base.yaml @@ -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 diff --git a/zuul.d/openstack-2023.2.yaml b/zuul.d/openstack-2023.2.yaml index 135b0541..4ccdb4b0 100644 --- a/zuul.d/openstack-2023.2.yaml +++ b/zuul.d/openstack-2023.2.yaml @@ -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 diff --git a/zuul.d/openstack-2024.1.yaml b/zuul.d/openstack-2024.1.yaml index ca684a56..f8a34b8f 100644 --- a/zuul.d/openstack-2024.1.yaml +++ b/zuul.d/openstack-2024.1.yaml @@ -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 diff --git a/zuul.d/playbooks/build-openstack.yml b/zuul.d/playbooks/build-openstack.yml index 29c9d406..58821dbe 100644 --- a/zuul.d/playbooks/build-openstack.yml +++ b/zuul.d/playbooks/build-openstack.yml @@ -22,21 +22,9 @@ 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 + - name: define wheels location 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') }}" + wheels_location: "{{ buildset_registry_alias }}:{{ buildset_registry.port }}/{{ requirements_repository }}:{{ shortbranchname }}-{{ distroname }}" - name: Build base image include_role: @@ -52,34 +40,14 @@ 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: 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: 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 diff --git a/zuul.d/playbooks/vars-openstack.yml b/zuul.d/playbooks/vars-openstack.yml index b8bd0760..e033dece 100644 --- a/zuul.d/playbooks/vars-openstack.yml +++ b/zuul.d/playbooks/vars-openstack.yml @@ -14,8 +14,9 @@ currentdate: "{{ now(utc=True,fmt='%Y%m%d') }}" python3: "yes" #172.17.0.1 is default docker0 ip. -wheels_location: "http://172.17.0.1:8080/wheels.tar.gz" +# 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,33 +26,26 @@ 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 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 }}'"