Skip to content

Commit e5a8794

Browse files
committed
CI: add aarch64 Rocky AIO jobs
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
1 parent cdeed07 commit e5a8794

5 files changed

Lines changed: 96 additions & 5 deletions

File tree

.github/workflows/stackhpc-all-in-one.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ on:
2323
description: Host OS release
2424
type: string
2525
default: '9'
26+
architecture:
27+
description: Host architecture
28+
type: string
29+
default: x86_64
2630
ssh_username:
2731
description: User for terraform to access the all-in-one VM
2832
type: string
@@ -126,14 +130,14 @@ jobs:
126130
- name: Output image tag
127131
id: image_tag
128132
run: |
129-
echo image_tag=$(grep stackhpc_${{ inputs.os_distribution }}_$(sed s/-/_/ <(echo "${{ inputs.os_release }}"))_overcloud_host_image_version: etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
133+
echo image_tag=$(grep stackhpc_${{ inputs.os_distribution }}_$(sed s/-/_/ <(echo "${{ inputs.os_release }}"))_overcloud_host_image_version${{ inputs.architecture == 'aarch64' && '_aarch64' || '' }}: etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
130134
131135
# Use the image override if set, otherwise use overcloud-os_distribution-os_release-tag
132136
- name: Output image name
133137
id: image_name
134138
run: |
135139
if [ -z "${{ inputs.vm_image_override }}" ]; then
136-
echo image_name=overcloud-${{ inputs.os_distribution }}-${{ inputs.os_release }}-${{ steps.image_tag.outputs.image_tag }} >> $GITHUB_OUTPUT
140+
echo image_name=overcloud-${{ inputs.os_distribution }}-${{ inputs.os_release }}${{ inputs.architecture == 'aarch64' && '-aarch64' || '' }}-${{ steps.image_tag.outputs.image_tag }} >> $GITHUB_OUTPUT
137141
else
138142
echo image_name=${{ inputs.vm_image_override }} >> $GITHUB_OUTPUT
139143
fi
@@ -173,7 +177,7 @@ jobs:
173177
working-directory: ${{ github.workspace }}/terraform/aio
174178
env:
175179
SSH_USERNAME: "${{ inputs.ssh_username }}"
176-
VM_NAME: "skc-ci-aio-${{ inputs.neutron_plugin }}-${{ github.run_id }}"
180+
VM_NAME: "skc-ci-aio-${{ inputs.architecture }}-${{ inputs.neutron_plugin }}-${{ github.run_id }}"
177181
VM_IMAGE: ${{ steps.image_name.outputs.image_name }}
178182
VM_INTERFACE: ${{ inputs.vm_interface }}
179183
VM_VOLUME_SIZE: ${{ inputs.upgrade && '100' || '50' }}
@@ -245,9 +249,11 @@ jobs:
245249
---
246250
os_distribution: ${{ env.OS_DISTRIBUTION }}
247251
os_release: "${{ env.OS_RELEASE }}"
252+
kolla_base_arch: ${{ env.ARCHITECTURE }}
248253
kolla_enable_ovn: ${{ env.ENABLE_OVN }}
249254
EOF
250255
env:
256+
ARCHITECTURE: ${{ inputs.architecture }}
251257
ENABLE_OVN: ${{ inputs.neutron_plugin == 'ovn' }}
252258
OS_DISTRIBUTION: ${{ inputs.os_distribution }}
253259
OS_RELEASE: ${{ inputs.os_release }}
@@ -499,7 +505,7 @@ jobs:
499505
- name: Upload test result artifacts
500506
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
501507
with:
502-
name: test-results-${{ inputs.os_distribution }}-${{ inputs.os_release }}-${{ inputs.neutron_plugin }}${{ inputs.upgrade && '-upgrade' || '' }}
508+
name: test-results-${{ inputs.os_distribution }}-${{ inputs.os_release }}-${{ inputs.architecture }}-${{ inputs.neutron_plugin }}${{ inputs.upgrade && '-upgrade' || '' }}
503509
path: |
504510
diagnostics/
505511
tempest-artifacts/

.github/workflows/stackhpc-pull-request.yml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,25 @@ jobs:
187187
secrets: inherit
188188
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
189189

190+
all-in-one-rocky-9-aarch64-ovs:
191+
name: aio (Rocky 9 aarch64 OVS)
192+
permissions: {}
193+
needs:
194+
- check-changes
195+
- build-kayobe-image
196+
uses: ./.github/workflows/stackhpc-all-in-one.yml
197+
with:
198+
kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
199+
architecture: aarch64
200+
os_distribution: rocky
201+
os_release: "9"
202+
ssh_username: cloud-user
203+
neutron_plugin: ovs
204+
OS_CLOUD: openstack
205+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
206+
secrets: inherit
207+
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
208+
190209
all-in-one-rocky-9-ovn:
191210
name: aio (Rocky 9 OVN)
192211
permissions: {}
@@ -205,6 +224,25 @@ jobs:
205224
secrets: inherit
206225
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
207226

227+
all-in-one-rocky-9-aarch64-ovn:
228+
name: aio (Rocky 9 aarch64 OVN)
229+
permissions: {}
230+
needs:
231+
- check-changes
232+
- build-kayobe-image
233+
uses: ./.github/workflows/stackhpc-all-in-one.yml
234+
with:
235+
kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
236+
architecture: aarch64
237+
os_distribution: rocky
238+
os_release: "9"
239+
ssh_username: cloud-user
240+
neutron_plugin: ovn
241+
OS_CLOUD: openstack
242+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
243+
secrets: inherit
244+
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
245+
208246
all-in-one-rocky-10-ovs:
209247
name: aio (Rocky 10 OVS)
210248
permissions: {}
@@ -223,6 +261,25 @@ jobs:
223261
secrets: inherit
224262
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
225263

264+
all-in-one-rocky-10-aarch64-ovs:
265+
name: aio (Rocky 10 aarch64 OVS)
266+
permissions: {}
267+
needs:
268+
- check-changes
269+
- build-kayobe-image
270+
uses: ./.github/workflows/stackhpc-all-in-one.yml
271+
with:
272+
kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
273+
architecture: aarch64
274+
os_distribution: rocky
275+
os_release: "10"
276+
ssh_username: cloud-user
277+
neutron_plugin: ovs
278+
OS_CLOUD: openstack
279+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
280+
secrets: inherit
281+
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
282+
226283
all-in-one-rocky-10-ovn:
227284
name: aio (Rocky 10 OVN)
228285
permissions: {}
@@ -241,6 +298,25 @@ jobs:
241298
secrets: inherit
242299
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
243300

301+
all-in-one-rocky-10-aarch64-ovn:
302+
name: aio (Rocky 10 aarch64 OVN)
303+
permissions: {}
304+
needs:
305+
- check-changes
306+
- build-kayobe-image
307+
uses: ./.github/workflows/stackhpc-all-in-one.yml
308+
with:
309+
kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
310+
architecture: aarch64
311+
os_distribution: rocky
312+
os_release: "10"
313+
ssh_username: cloud-user
314+
neutron_plugin: ovn
315+
OS_CLOUD: openstack
316+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
317+
secrets: inherit
318+
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
319+
244320
# Test three upgrade scenarios: Ubuntu Jammy to Noble OVN and Rocky 9 OVN.
245321

246322
all-in-one-upgrade-ubuntu-jammy-to-noble-ovn:
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{% if kolla_base_arch == 'aarch64' %}
2+
[libvirt]
3+
cpu_mode = custom
4+
cpu_model=max
5+
{% endif %}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
features:
3+
- |
4+
Adds Rocky Linux ``aarch64`` all-in-one CI jobs.

0 commit comments

Comments
 (0)