Skip to content

Commit cf484f9

Browse files
committed
add cross-arch aarch64 container image builds
1 parent 8f9e962 commit cf484f9

File tree

6 files changed

+77
-35
lines changed

6 files changed

+77
-35
lines changed

.github/workflows/stackhpc-container-image-build.yml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ on:
1313
type: boolean
1414
required: false
1515
default: true
16+
overcloud-r9-aarch64:
17+
description: Build overcloud Rocky Linux 9 AARCH64 images?
18+
type: boolean
19+
required: false
20+
default: false
1621
seed:
1722
description: Build seed images?
1823
type: boolean
@@ -180,7 +185,7 @@ jobs:
180185
run: |
181186
args="${{ inputs.regexes }}"
182187
args="$args -e kolla_base_distro=${{ matrix.distro }}"
183-
args="$args -e kolla_tag=${{ steps.write-kolla-tag.outputs.kolla-tag }}"
188+
args="$args -e kolla_tag=${{ steps.write-kolla-tag.outputs.kolla-tag }}-amd64"
184189
args="$args -e stackhpc_repo_mirror_auth_proxy_enabled=true"
185190
source venvs/kayobe/bin/activate &&
186191
source src/kayobe-config/kayobe-env --environment ci-builder &&
@@ -189,10 +194,30 @@ jobs:
189194
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
190195
if: inputs.overcloud
191196

197+
- name: Build kolla overcloud images Rocky 9 AARCH64
198+
id: build_overcloud_images_r9_aarch64
199+
continue-on-error: true
200+
run: |
201+
args="${{ inputs.regexes }}"
202+
args="$args -e kolla_base_distro=rocky"
203+
args="$args -e kolla_base_arch=aarch64"
204+
args="$args -e kolla_tag=${{ steps.write-kolla-tag.outputs.kolla-tag }}-aarch64"
205+
args="$args -e stackhpc_repo_mirror_auth_proxy_enabled=true"
206+
source venvs/kayobe/bin/activate &&
207+
source src/kayobe-config/kayobe-env --environment ci-builder &&
208+
kayobe overcloud container image build $args
209+
env:
210+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
211+
if: inputs.overcloud-r9-aarch64
212+
192213
- name: Copy overcloud container image build logs to output directory
193214
run: sudo mv /var/log/kolla-build.log image-build-logs/kolla-build-overcloud.log
194215
if: inputs.overcloud
195216

217+
- name: Copy build configs to output directory
218+
run: sudo cp -rnL /opt/kayobe/etc/kolla/* image-build-logs/
219+
if: inputs.overcloud
220+
196221
- name: Build kolla seed images
197222
id: build_seed_images
198223
continue-on-error: true

etc/kayobe/environments/ci-builder/stackhpc-ci.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,34 +46,34 @@ stackhpc_repo_mirror_password: !vault |
4646
3837336661653962340a316631366463623138623530373133336665376433633437306631383666
4747
30333461333535363433363336663664316634343432633766346564323833346663
4848
49-
# Build against released Pulp repository versions.
5049
stackhpc_repo_grafana_version: "{{ stackhpc_pulp_repo_grafana_version }}"
51-
stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_erlang_version }}"
50+
stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_erlang_aarch64_version if kolla_base_arch == 'aarch64' else stackhpc_pulp_repo_rhel9_rabbitmq_erlang_version }}"
5251
stackhpc_repo_rhel9_rabbitmq_server_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_server_version }}"
5352
stackhpc_repo_ubuntu_jammy_version: "{{ stackhpc_pulp_repo_ubuntu_jammy_version }}"
5453
stackhpc_repo_ubuntu_jammy_security_version: "{{ stackhpc_pulp_repo_ubuntu_jammy_security_version }}"
5554
stackhpc_repo_ubuntu_jammy_cve_2024_6387_version: ""
5655
stackhpc_repo_ubuntu_cloud_archive_version: "{{ stackhpc_pulp_repo_ubuntu_cloud_archive_version }}"
5756
stackhpc_repo_docker_ce_ubuntu_jammy_version: "{{ stackhpc_pulp_repo_docker_ce_ubuntu_jammy_version }}"
58-
stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version }}"
59-
stackhpc_repo_centos_stream_9_openstack_caracal_version: "{{ stackhpc_pulp_repo_centos_stream_9_openstack_caracal_version }}"
60-
stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_centos_stream_9_opstools_version }}"
61-
stackhpc_repo_centos_stream_9_storage_ceph_reef_version: "{{ stackhpc_pulp_repo_centos_stream_9_storage_ceph_reef_version }}"
62-
stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_centos_stream_9_docker_version }}"
63-
stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_rhel_9_treasuredata_5_version }}"
64-
stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_rhel_9_mariadb_10_11_version }}"
65-
stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_rhel_9_influxdb_version }}"
66-
stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_epel_9_version }}"
57+
stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_aarch64_version if kolla_base_arch == 'aarch64' else stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version }}"
58+
stackhpc_repo_centos_stream_9_openstack_caracal_version: "{{ stackhpc_pulp_repo_centos_stream_9_openstack_caracal_aarch64_version if kolla_base_arch == 'aarch64' else stackhpc_pulp_repo_centos_stream_9_openstack_caracal_version }}"
59+
stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_centos_stream_9_opstools_aarch64_version if kolla_base_arch == 'aarch64' else stackhpc_pulp_repo_centos_stream_9_opstools_version }}"
60+
stackhpc_repo_centos_stream_9_storage_ceph_reef_version: "{{ stackhpc_pulp_repo_centos_stream_9_storage_ceph_reef_aarch64_version if kolla_base_arch == 'aarch64' else stackhpc_pulp_repo_centos_stream_9_storage_ceph_reef_version }}"
61+
stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_centos_stream_9_docker_aarch64_version if kolla_base_arch == 'aarch64' else stackhpc_pulp_repo_centos_stream_9_docker_version }}"
62+
stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_rhel_9_treasuredata_5_aarch64_version if kolla_base_arch == 'aarch64' else stackhpc_pulp_repo_rhel_9_treasuredata_5_version }}"
63+
stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_rhel_9_mariadb_10_11_aarch64_version if kolla_base_arch == 'aarch64' else stackhpc_pulp_repo_rhel_9_mariadb_10_11_version }}"
64+
stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_rhel_9_influxdb_aarch64_version if kolla_base_arch == 'aarch64' else stackhpc_pulp_repo_rhel_9_influxdb_version }}"
65+
stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_epel_9_aarch64_version if kolla_base_arch == 'aarch64' else stackhpc_pulp_repo_epel_9_version }}"
6766
stackhpc_repo_opensearch_2_x_version: "{{ stackhpc_pulp_repo_opensearch_2_x_version }}"
6867
stackhpc_repo_opensearch_dashboards_2_x_version: "{{ stackhpc_pulp_repo_opensearch_dashboards_2_x_version }}"
68+
6969
## Use derived vars from etc/kayobe/pulp.yml to switch between
7070
## minor Rocky versions using stackhpc_pulp_repo_rocky_x_minor_version
7171
stackhpc_repo_rocky_9_baseos_version: "{{ stackhpc_pulp_repo_rocky_9_baseos_version }}"
7272
stackhpc_repo_rocky_9_appstream_version: "{{ stackhpc_pulp_repo_rocky_9_appstream_version }}"
7373
stackhpc_repo_rocky_9_extras_version: "{{ stackhpc_pulp_repo_rocky_9_extras_version }}"
7474
stackhpc_repo_rocky_9_crb_version: "{{ stackhpc_pulp_repo_rocky_9_crb_version }}"
7575
stackhpc_repo_rocky_9_highavailability_version: "{{ stackhpc_pulp_repo_rocky_9_highavailability_version }}"
76-
stackhpc_repo_rocky_9_sig_security_common_version: "{{ stackhpc_pulp_repo_rocky_9_sig_security_common_version }}"
76+
stackhpc_repo_rocky_9_sig_security_common_version: "{{ stackhpc_pulp_repo_rocky_9_sig_security_common_aarch64_version if kolla_base_arch == 'aarch64' else stackhpc_pulp_repo_rocky_9_sig_security_common_version }}"
7777

7878
# Rocky-and-CI-specific Pulp urls
7979
stackhpc_include_os_minor_version_in_repo_url: true

etc/kayobe/kolla.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ stackhpc_rocky_9_third_party_repos:
202202
file: "CentOS-Ceph-Reef.repo"
203203
tag: "centos-ceph-reef"
204204
- url: "{{ stackhpc_repo_rhel9_rabbitmq_erlang_url }}"
205-
file: "rabbitmq_rabbitmq-erlang.repo"
205+
file: "{{ 'copr-rabbitmq-erlang.repo' if kolla_base_arch == 'aarch64' else 'rabbitmq_rabbitmq-erlang.repo' }}"
206206
tag: "rabbitmq_rabbitmq-erlang"
207207
- url: "{{ stackhpc_repo_rhel9_rabbitmq_server_url }}"
208208
file: "rabbitmq_rabbitmq-server.repo"

etc/kayobe/pulp-repo-versions.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,34 @@
11
---
22
# Do not edit! This file is autogenerated by Ansible.
33
stackhpc_pulp_repo_centos_stream_9_docker_version: 20240829T093746
4+
stackhpc_pulp_repo_centos_stream_9_docker_aarch64_version: 20240927T073838
45
stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version: 20240829T093746
6+
stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_aarch64_version: 20240927T073838
57
stackhpc_pulp_repo_centos_stream_9_openstack_caracal_version: 20240902T080424
8+
stackhpc_pulp_repo_centos_stream_9_openstack_caracal_aarch64_version: 20240927T073838
69
stackhpc_pulp_repo_centos_stream_9_opstools_version: 20231213T031318
10+
stackhpc_pulp_repo_centos_stream_9_opstools_aarch64_version: 20240927T073838
711
stackhpc_pulp_repo_centos_stream_9_storage_ceph_reef_version: 20240502T000614
12+
stackhpc_pulp_repo_centos_stream_9_storage_ceph_reef_aarch64_version: 20240927T073838
813
stackhpc_pulp_repo_docker_ce_ubuntu_jammy_version: 20240910T001721
914
stackhpc_pulp_repo_elrepo_9_version: 20240902T122220
15+
stackhpc_pulp_repo_elrepo_9_aarch64_version: 20240927T073838
1016
stackhpc_pulp_repo_epel_9_version: 20240902T080424
17+
stackhpc_pulp_repo_epel_9_aarch64_version: 20240927T073838
1118
stackhpc_pulp_repo_grafana_version: 20240902T080424
1219
stackhpc_pulp_repo_opensearch_2_x_version: 20240807T235120
1320
stackhpc_pulp_repo_opensearch_dashboards_2_x_version: 20240807T235120
1421
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_version: 20240925T093206
22+
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_aarch64_version: 20240927T073838
1523
stackhpc_pulp_repo_rhel9_rabbitmq_server_version: 20240925T111913
1624
stackhpc_pulp_repo_rhel_9_influxdb_version: 20240817T001913
25+
stackhpc_pulp_repo_rhel_9_influxdb_aarch64_version: 20240927T073838
1726
stackhpc_pulp_repo_rhel_9_mariadb_10_11_version: 20240810T001640
27+
stackhpc_pulp_repo_rhel_9_mariadb_10_11_aarch64_version: 20240927T073838
1828
stackhpc_pulp_repo_rhel_9_rabbitmq_erlang_version: 20240711T091318
1929
stackhpc_pulp_repo_rhel_9_rabbitmq_server_version: 20240711T091318
2030
stackhpc_pulp_repo_rhel_9_treasuredata_5_version: 20240711T091318
31+
stackhpc_pulp_repo_rhel_9_treasuredata_5_aarch64_version: 20240927T073838
2132
stackhpc_pulp_repo_rocky_9_1_appstream_version: 20231207T013715
2233
stackhpc_pulp_repo_rocky_9_1_baseos_version: 20231206T014015
2334
stackhpc_pulp_repo_rocky_9_1_crb_version: 20231211T120328
@@ -34,11 +45,17 @@ stackhpc_pulp_repo_rocky_9_3_crb_version: 20240429T003818
3445
stackhpc_pulp_repo_rocky_9_3_extras_version: 20240506T000343
3546
stackhpc_pulp_repo_rocky_9_3_highavailability_version: 20240510T001129
3647
stackhpc_pulp_repo_rocky_9_4_appstream_version: 20240816T002610
48+
stackhpc_pulp_repo_rocky_9_4_appstream_aarch64_version: 20240927T073838
3749
stackhpc_pulp_repo_rocky_9_4_baseos_version: 20240816T002610
50+
stackhpc_pulp_repo_rocky_9_4_baseos_aarch64_version: 20240927T073838
3851
stackhpc_pulp_repo_rocky_9_4_crb_version: 20240816T002610
52+
stackhpc_pulp_repo_rocky_9_4_crb_aarch64_version: 20240927T073838
3953
stackhpc_pulp_repo_rocky_9_4_extras_version: 20240816T002610
54+
stackhpc_pulp_repo_rocky_9_4_extras_aarch64_version: 20240927T073838
4055
stackhpc_pulp_repo_rocky_9_4_highavailability_version: 20240816T002610
56+
stackhpc_pulp_repo_rocky_9_4_highavailability_aarch64_version: 20240927T073838
4157
stackhpc_pulp_repo_rocky_9_sig_security_common_version: 20240718T001130
58+
stackhpc_pulp_repo_rocky_9_sig_security_common_aarch64_version: 20240927T073838
4259
stackhpc_pulp_repo_ubuntu_cloud_archive_version: 20240911T041957
4360
stackhpc_pulp_repo_ubuntu_jammy_security_version: 20240911T063424
4461
stackhpc_pulp_repo_ubuntu_jammy_version: 20240911T063424

etc/kayobe/pulp.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -208,11 +208,11 @@ stackhpc_pulp_sync_rocky_9: "{{ os_distribution == 'rocky' }}"
208208
stackhpc_pulp_repo_rocky_9_minor_version: 4
209209
# Rocky 9 Snapshot versions. The defaults use the appropriate version from
210210
# pulp-repo-versions.yml for the selected minor release.
211-
stackhpc_pulp_repo_rocky_9_appstream_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_%s_appstream_version' % stackhpc_pulp_repo_rocky_9_minor_version) }}"
212-
stackhpc_pulp_repo_rocky_9_baseos_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_%s_baseos_version' % stackhpc_pulp_repo_rocky_9_minor_version) }}"
213-
stackhpc_pulp_repo_rocky_9_extras_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_%s_extras_version' % stackhpc_pulp_repo_rocky_9_minor_version) }}"
214-
stackhpc_pulp_repo_rocky_9_crb_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_%s_crb_version' % stackhpc_pulp_repo_rocky_9_minor_version) }}"
215-
stackhpc_pulp_repo_rocky_9_highavailability_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_%s_highavailability_version' % stackhpc_pulp_repo_rocky_9_minor_version) }}"
211+
stackhpc_pulp_repo_rocky_9_baseos_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_' ~ stackhpc_pulp_repo_rocky_9_minor_version ~ '_baseos' ~ ('_aarch64' if kolla_base_arch == 'aarch64' else '') ~ '_version') }}"
212+
stackhpc_pulp_repo_rocky_9_appstream_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_' ~ stackhpc_pulp_repo_rocky_9_minor_version ~ '_appstream' ~ ('_aarch64' if kolla_base_arch == 'aarch64' else '') ~ '_version') }}"
213+
stackhpc_pulp_repo_rocky_9_extras_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_' ~ stackhpc_pulp_repo_rocky_9_minor_version ~ '_extras' ~ ('_aarch64' if kolla_base_arch == 'aarch64' else '') ~ '_version') }}"
214+
stackhpc_pulp_repo_rocky_9_crb_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_' ~ stackhpc_pulp_repo_rocky_9_minor_version ~ '_crb' ~ ('_aarch64' if kolla_base_arch == 'aarch64' else '') ~ '_version') }}"
215+
stackhpc_pulp_repo_rocky_9_highavailability_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_' ~ stackhpc_pulp_repo_rocky_9_minor_version ~ '_highavailability' ~ ('_aarch64' if kolla_base_arch == 'aarch64' else '') ~ '_version') }}"
216216

217217
# Whether to sync packages common to all RHEL 9 derivatives.
218218
stackhpc_pulp_sync_el_9: "{{ stackhpc_pulp_sync_rocky_9 | bool }}"

0 commit comments

Comments
 (0)