Skip to content

Commit 7c75fe4

Browse files
committed
Add Rocky 9 aarch64 DOCA OFED support
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
1 parent 7c1f3be commit 7c75fe4

10 files changed

Lines changed: 283 additions & 12 deletions

File tree

.github/workflows/package-build-ofed.yml

Lines changed: 245 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ on:
77
description: Build Rocky Linux 9
88
type: boolean
99
default: true
10+
rocky9-aarch64:
11+
description: Build Rocky Linux 9 aarch64
12+
type: boolean
13+
default: true
1014
secrets:
1115
KAYOBE_VAULT_PASSWORD_CI_BUILDER:
1216
required: true
@@ -22,17 +26,27 @@ env:
2226
KAYOBE_ENVIRONMENT: ci-doca-builder
2327
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD_CI_BUILDER }}
2428
jobs:
25-
overcloud-ofed-packages:
26-
name: Build OFED kernel modules
29+
create-tag:
30+
name: Create a tag to be added to resulting packages
2731
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
2832
runs-on: arc-skc-host-image-builder-runner
2933
permissions: {}
34+
outputs:
35+
ofed_tag: ${{ steps.ofed_tag.outputs.ofed_tag }}
3036
steps:
3137
- name: Generate OFED tag
3238
id: ofed_tag
3339
run: |
3440
echo "ofed_tag=$(date +%Y%m%dT%H%M%S)" >> $GITHUB_OUTPUT
3541
42+
overcloud-ofed-packages:
43+
name: Build OFED kernel modules
44+
if: github.repository == 'stackhpc/stackhpc-kayobe-config' && inputs.rocky9
45+
runs-on: arc-skc-host-image-builder-runner
46+
needs:
47+
- create-tag
48+
permissions: {}
49+
steps:
3650
- name: Install Package dependencies
3751
run: |
3852
sudo apt update &&
@@ -236,7 +250,235 @@ jobs:
236250
source venvs/kayobe/bin/activate &&
237251
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
238252
kayobe playbook run src/kayobe-config/etc/kayobe/ansible/tools/push-ofed.yml \
239-
-e "ofed_tag=${{ steps.ofed_tag.outputs.ofed_tag }}"
253+
-e "ofed_tag=${{ needs.create-tag.outputs.ofed_tag }}"
254+
env:
255+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD_CI_BUILDER }}
256+
257+
- name: Destroy
258+
run: terraform destroy -auto-approve
259+
working-directory: ${{ github.workspace }}/src/kayobe-config/terraform/aio
260+
env:
261+
OS_CLOUD: openstack
262+
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
263+
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
264+
if: always()
265+
266+
overcloud-ofed-packages-aarch64:
267+
name: Build aarch64 OFED kernel modules
268+
if: github.repository == 'stackhpc/stackhpc-kayobe-config' && inputs.rocky9-aarch64
269+
runs-on: arc-skc-host-image-builder-runner
270+
needs:
271+
- create-tag
272+
permissions: {}
273+
steps:
274+
- name: Install Package dependencies
275+
run: |
276+
sudo apt update &&
277+
sudo apt install -y git unzip nodejs python3-pip python3-venv openssh-server openssh-client jq
278+
279+
- name: Start the SSH service
280+
run: |
281+
sudo /etc/init.d/ssh start
282+
283+
- name: Checkout
284+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
285+
with:
286+
path: src/kayobe-config
287+
288+
- name: Install Kayobe
289+
run: |
290+
mkdir -p venvs &&
291+
pushd venvs &&
292+
python3 -m venv kayobe &&
293+
source kayobe/bin/activate &&
294+
pip install -U pip &&
295+
pip install -r ../src/kayobe-config/requirements.txt
296+
297+
- name: Install terraform
298+
uses: hashicorp/setup-terraform@5e8dbf3c6d9deaf4193ca7a8fb23f2ac83bb6c85 # v4.0.0
299+
300+
- name: Initialise terraform
301+
run: terraform init
302+
working-directory: ${{ github.workspace }}/src/kayobe-config/terraform/aio
303+
304+
- name: Generate SSH keypair
305+
run: ssh-keygen -f id_rsa -N ''
306+
working-directory: ${{ github.workspace }}/src/kayobe-config/terraform/aio
307+
308+
- name: Generate clouds.yaml
309+
run: |
310+
cat << EOF > clouds.yaml
311+
${{ secrets.CLOUDS_YAML }}
312+
EOF
313+
working-directory: ${{ github.workspace }}/src/kayobe-config/terraform/aio
314+
315+
- name: Output image tag
316+
id: image_tag
317+
run: |
318+
echo image_tag=$(grep stackhpc_rocky_9_overcloud_host_image_version_aarch64: etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
319+
working-directory: ${{ github.workspace }}/src/kayobe-config
320+
321+
# Use the image override if set, otherwise use overcloud-os_distribution-os_release-tag
322+
- name: Output image name
323+
id: image_name
324+
run: |
325+
echo image_name=overcloud-rocky-9-aarch64-${{ steps.image_tag.outputs.image_tag }} >> $GITHUB_OUTPUT
326+
327+
- name: Generate terraform.tfvars
328+
run: |
329+
cat << EOF > terraform.tfvars
330+
ssh_public_key = "id_rsa.pub"
331+
ssh_username = "cloud-user"
332+
aio_vm_name = "skc-ofed-builder-arm64"
333+
aio_vm_image = "${{ env.VM_IMAGE }}"
334+
aio_vm_flavor = "${{ vars.HOST_IMAGE_BUILD_FLAVOR }}"
335+
aio_vm_network = "stackhpc-ci"
336+
aio_vm_subnet = "stackhpc-ci"
337+
aio_vm_interface = "ens3"
338+
aio_vm_tags = ${{ env.VM_TAGS }}
339+
EOF
340+
working-directory: ${{ github.workspace }}/src/kayobe-config/terraform/aio
341+
env:
342+
VM_IMAGE: ${{ steps.image_name.outputs.image_name }}
343+
VM_TAGS: '["skc-ci-doca-builder", "PR=${{ github.event.number }}"]'
344+
345+
- name: Terraform Plan
346+
run: terraform plan
347+
working-directory: ${{ github.workspace }}/src/kayobe-config/terraform/aio
348+
env:
349+
OS_CLOUD: "openstack"
350+
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
351+
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
352+
353+
- name: Terraform Apply
354+
run: |
355+
for attempt in $(seq 5); do
356+
if terraform apply -auto-approve; then
357+
echo "Created infrastructure on attempt $attempt"
358+
exit 0
359+
fi
360+
echo "Failed to create infrastructure on attempt $attempt"
361+
sleep 10
362+
terraform destroy -auto-approve
363+
sleep 60
364+
done
365+
echo "Failed to create infrastructure after $attempt attempts"
366+
exit 1
367+
working-directory: ${{ github.workspace }}/src/kayobe-config/terraform/aio
368+
env:
369+
OS_CLOUD: "openstack"
370+
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
371+
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
372+
373+
- name: Get Terraform outputs
374+
id: tf_outputs
375+
run: |
376+
terraform output -json
377+
working-directory: ${{ github.workspace }}/src/kayobe-config/terraform/aio
378+
379+
- name: Write Terraform outputs
380+
run: |
381+
cat << EOF > src/kayobe-config/etc/kayobe/environments/ci-doca-builder/tf-outputs.yml
382+
${{ steps.tf_outputs.outputs.stdout }}
383+
EOF
384+
385+
- name: Write Terraform network config
386+
run: |
387+
cat << EOF > src/kayobe-config/etc/kayobe/environments/ci-doca-builder/tf-network-allocation.yml
388+
---
389+
aio_ips:
390+
builder: "{{ access_ip_v4.value }}"
391+
EOF
392+
393+
- name: Write Terraform network interface config
394+
run: |
395+
mkdir -p src/kayobe-config/etc/kayobe/environments/$KAYOBE_ENVIRONMENT/inventory/group_vars/seed
396+
rm -f src/kayobe-config/etc/kayobe/environments/$KAYOBE_ENVIRONMENT/inventory/group_vars/seed/network-interfaces
397+
cat << EOF > src/kayobe-config/etc/kayobe/environments/$KAYOBE_ENVIRONMENT/inventory/group_vars/seed/network-interfaces
398+
admin_interface: "{{ access_interface.value }}"
399+
aio_interface: "{{ access_interface.value }}"
400+
EOF
401+
402+
- name: Manage SSH keys
403+
run: |
404+
mkdir -p ~/.ssh
405+
touch ~/.ssh/authorized_keys
406+
cat src/kayobe-config/terraform/aio/id_rsa.pub >> ~/.ssh/authorized_keys
407+
cp src/kayobe-config/terraform/aio/id_rsa* ~/.ssh/
408+
409+
- name: Bootstrap the control host
410+
run: |
411+
source venvs/kayobe/bin/activate &&
412+
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
413+
kayobe control host bootstrap
414+
415+
- name: Run growroot playbook
416+
run: |
417+
source venvs/kayobe/bin/activate &&
418+
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
419+
kayobe playbook run src/kayobe-config/etc/kayobe/ansible/tools/growroot.yml
420+
env:
421+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD_CI_BUILDER }}
422+
423+
- name: Configure the seed host (Builder VM)
424+
run: |
425+
source venvs/kayobe/bin/activate &&
426+
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
427+
kayobe seed host configure --skip-tags network,docker,docker-registry \
428+
-e kolla_base_arch="aarch64"
429+
env:
430+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD_CI_BUILDER }}
431+
432+
- name: Run a distro-sync
433+
run: |
434+
source venvs/kayobe/bin/activate &&
435+
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
436+
kayobe seed host command run --become --command "dnf distro-sync --refresh --assumeyes" \
437+
-e kolla_base_arch="aarch64"
438+
env:
439+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD_CI_BUILDER }}
440+
441+
- name: Reset BLS entries on the seed host
442+
run: |
443+
source venvs/kayobe/bin/activate &&
444+
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
445+
kayobe playbook run src/kayobe-config/etc/kayobe/ansible/maintenance/reset-bls-entries.yml \
446+
-e "reset_bls_host=ofed-builder"
447+
env:
448+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD_CI_BUILDER }}
449+
450+
- name: Disable noexec in /var/tmp
451+
run: |
452+
source venvs/kayobe/bin/activate &&
453+
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
454+
kayobe seed host command run --become --command "sed -i 's/noexec,//g' /etc/fstab"
455+
env:
456+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD_CI_BUILDER }}
457+
458+
- name: Reboot to apply the kernel update
459+
run: |
460+
source venvs/kayobe/bin/activate &&
461+
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
462+
kayobe playbook run src/kayobe-config/etc/kayobe/ansible/maintenance/reboot.yml
463+
env:
464+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD_CI_BUILDER }}
465+
466+
- name: Run OFED builder playbook
467+
run: |
468+
source venvs/kayobe/bin/activate &&
469+
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
470+
kayobe playbook run src/kayobe-config/etc/kayobe/ansible/tools/build-ofed-rocky.yml \
471+
-e kolla_base_arch="aarch64"
472+
env:
473+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD_CI_BUILDER }}
474+
475+
- name: Run OFED upload playbook
476+
run: |
477+
source venvs/kayobe/bin/activate &&
478+
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
479+
kayobe playbook run src/kayobe-config/etc/kayobe/ansible/tools/push-ofed.yml \
480+
-e "ofed_tag=${{ needs.create-tag.outputs.ofed_tag }}" \
481+
-e kolla_base_arch="aarch64"
240482
env:
241483
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD_CI_BUILDER }}
242484

doc/source/contributor/ofed.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ build-ofed
3131
----------
3232

3333
Currently we only support building Rocky Linux 9 OFED kernel module packages.
34+
The workflow can build packages for ``x86_64`` and ``aarch64``.
3435

3536
The Build OFED module workflow will check that the filesystem is configured (noexec disabled)
3637
to allow the DOCA build script to run. The workflow will also install any necessary dependencies

etc/kayobe/ansible/maintenance/rocky-97-ofed-upgrade.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
vars:
1818
# we don't build kernel modules for each version, eg 5.14.0-611.13.1 has been built,
1919
# but not 5.14.0-611.20.1.
20-
doca_kernel_version: "{{ stackhpc_doca_kernel_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version | string] }}"
20+
doca_kernel_version: "{{ stackhpc_doca_kernel_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version | string][ansible_facts.architecture] }}"
2121
tasks:
2222
- name: Assert that hosts are running Rocky Linux 9.6
2323
ansible.builtin.assert:

etc/kayobe/ansible/tools/install-doca.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
vars:
77
# we don't build kernel modules for each version, eg 5.14.0-611.13.1 has been built,
88
# but not 5.14.0-611.20.1
9-
doca_kernel_version: "{{ stackhpc_doca_kernel_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version | string] }}"
9+
doca_kernel_version: "{{ stackhpc_doca_kernel_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version | string][ansible_facts.architecture] }}"
1010
tasks:
1111
- name: Install kernel repo
1212
ansible.builtin.dnf:

etc/kayobe/ansible/tools/push-ofed.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
tasks:
88
- name: Get OFED module repo variables
99
ansible.builtin.set_fact:
10-
doca_modules_repo_name: "{{ stackhpc_pulp_rpm_repos | selectattr('name', 'search', 'OFED') | map(attribute='name') | join('') }}"
11-
doca_modules_repo_base_path: "{{ stackhpc_pulp_rpm_repos | selectattr('name', 'search', 'OFED') | map(attribute='base_path') | join('') }}"
12-
doca_modules_repo_distribution_name: "{{ stackhpc_pulp_rpm_repos | selectattr('name', 'search', 'OFED') | map(attribute='distribution_name') | join('') }}"
10+
doca_modules_repo_name: "{{ stackhpc_pulp_rpm_repos | selectattr('name', 'search', 'OFED') | selectattr('base_path', 'search', '/' ~ kolla_base_arch ~ '/') | map(attribute='name') | join('') }}"
11+
doca_modules_repo_base_path: "{{ stackhpc_pulp_rpm_repos | selectattr('name', 'search', 'OFED') | selectattr('base_path', 'search', '/' ~ kolla_base_arch ~ '/') | map(attribute='base_path') | join('') }}"
12+
doca_modules_repo_distribution_name: "{{ stackhpc_pulp_rpm_repos | selectattr('name', 'search', 'OFED') | selectattr('base_path', 'search', '/' ~ kolla_base_arch ~ '/') | map(attribute='distribution_name') | join('') }}"
1313

1414
- name: Install python dependencies
1515
ansible.builtin.pip:

etc/kayobe/ofed.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,11 @@ stackhpc_pulp_doca_version: "{{ stackhpc_pulp_doca_version_matrix[stackhpc_pulp_
1010

1111
# Available and tested versions of the pre-compiled doca-ofed kernel modules
1212
stackhpc_doca_kernel_version_matrix:
13-
"6": 5.14.0.570.21.1.el9.6.x86.64
14-
"7": 5.14.0.611.41.1.el9.7.x86.64
13+
"6":
14+
x86_64: 5.14.0.570.21.1.el9.6.x86.64
15+
"7":
16+
x86_64: 5.14.0.611.41.1.el9.7.x86.64
17+
aarch64: 5.14.0.611.41.1.el9.7.aarch64
1518

1619
###############################################################################
1720
# Pulp configuration for DOCA OFED
@@ -24,11 +27,13 @@ doca_rocky_9_minor_dot: "{% if stackhpc_pulp_doca_version is version('3.2.0', '>
2427
# eg stackhpc_pulp_repo_doca_2_9_3_rhel9_6_version or stackhpc_pulp_repo_doca_3_2_2_rhel9_version
2528
doca_version_lookup_var: "stackhpc_pulp_repo_doca_{{ stackhpc_pulp_doca_version | replace('.', '_') }}_rhel{{ doca_rocky_9_minor_dot | replace('.', '_') }}_version"
2629
doca_modules_version_lookup_var: "stackhpc_pulp_repo_doca_{{ stackhpc_pulp_doca_version | replace('.', '_') }}_rhel9_{{ stackhpc_pulp_repo_rocky_9_minor_version }}_modules_version"
30+
doca_modules_aarch64_version_lookup_var: "stackhpc_pulp_repo_doca_{{ stackhpc_pulp_doca_version | replace('.', '_') }}_rhel9_{{ stackhpc_pulp_repo_rocky_9_minor_version }}_modules_aarch64_version"
2731

2832
# DOCA Snapshot versions. The defaults use the appropriate version from
2933
# pulp-repo-versions.yml
3034
stackhpc_pulp_repo_rhel9_doca_version: "{{ lookup('vars', doca_version_lookup_var) }}"
3135
stackhpc_pulp_repo_rhel9_doca_modules_version: "{{ lookup('vars', doca_modules_version_lookup_var) }}"
36+
stackhpc_pulp_repo_rhel9_doca_modules_aarch64_version: "{{ lookup('vars', doca_modules_aarch64_version_lookup_var) }}"
3237

3338
###############################################################################
3439
# Dummy variable to allow Ansible to accept this file.

etc/kayobe/pulp-repo-versions.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ stackhpc_pulp_repo_doca_2_9_3_rhel9_6_modules_version: 20250714T141841
2828
stackhpc_pulp_repo_doca_2_9_3_rhel9_6_version: 20250703T135021
2929
stackhpc_pulp_repo_doca_3_2_2_rhel10_aarch64_version: 20260326T091359
3030
stackhpc_pulp_repo_doca_3_2_2_rhel10_x86_64_version: 20260326T091359
31+
stackhpc_pulp_repo_doca_3_2_2_rhel9_7_modules_aarch64_version: 20260403T153134
3132
stackhpc_pulp_repo_doca_3_2_2_rhel9_7_modules_version: 20260403T153134
3233
stackhpc_pulp_repo_doca_3_2_2_rhel9_version: 20260326T091359
3334
stackhpc_pulp_repo_docker_ce_ubuntu_noble_version: 20260402T202840

etc/kayobe/pulp.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,12 +419,24 @@ stackhpc_pulp_rpm_repos:
419419
base_path: "doca/{{ stackhpc_pulp_doca_version }}/rhel{{ doca_rocky_9_minor_dot }}/x86_64/"
420420
required: "{{ stackhpc_pulp_sync_ofed | bool and stackhpc_pulp_sync_el_9 | bool }}"
421421

422+
- name: DOCA Online Repo {{ stackhpc_pulp_doca_version }} - RHEL {{ doca_rocky_9_minor_dot }} aarch64
423+
url: "{{ stackhpc_release_pulp_content_url }}/doca/{{ stackhpc_pulp_doca_version }}/rhel{{ doca_rocky_9_minor_dot }}/aarch64/{{ stackhpc_pulp_repo_rhel9_doca_version }}"
424+
distribution_name: "doca-{{ stackhpc_pulp_doca_version }}-rhel{{ doca_rocky_9_minor_dot }}-aarch64-"
425+
base_path: "doca/{{ stackhpc_pulp_doca_version }}/rhel{{ doca_rocky_9_minor_dot }}/aarch64/"
426+
required: "{{ stackhpc_pulp_sync_ofed | bool and stackhpc_pulp_sync_el_9 | bool }}"
427+
422428
- name: OFED Kernel modules for DOCA {{ stackhpc_pulp_doca_version }} - RHEL 9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}
423429
url: "{{ stackhpc_release_pulp_content_url }}/doca-modules/{{ stackhpc_pulp_doca_version }}/rhel9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/x86_64/{{ stackhpc_pulp_repo_rhel9_doca_modules_version }}"
424430
distribution_name: "doca-modules-{{ stackhpc_pulp_doca_version }}-rhel9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}-"
425431
base_path: "doca-modules/{{ stackhpc_pulp_doca_version }}/rhel9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/x86_64/"
426432
required: "{{ stackhpc_pulp_sync_ofed | bool and stackhpc_pulp_sync_el_9 | bool }}"
427433

434+
- name: OFED Kernel modules for DOCA {{ stackhpc_pulp_doca_version }} - RHEL 9.{{ stackhpc_pulp_repo_rocky_9_minor_version }} aarch64
435+
url: "{{ stackhpc_release_pulp_content_url }}/doca-modules/{{ stackhpc_pulp_doca_version }}/rhel9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/aarch64/{{ stackhpc_pulp_repo_rhel9_doca_modules_aarch64_version }}"
436+
distribution_name: "doca-modules-{{ stackhpc_pulp_doca_version }}-rhel9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}-aarch64-"
437+
base_path: "doca-modules/{{ stackhpc_pulp_doca_version }}/rhel9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/aarch64/"
438+
required: "{{ stackhpc_pulp_sync_ofed | bool and stackhpc_pulp_sync_el_9 | bool }}"
439+
428440
# Base Rocky 10 repositories
429441
- name: Rocky Linux 10 - AppStream
430442
url: "{{ stackhpc_release_pulp_content_url }}/rocky/10.{{ stackhpc_pulp_repo_rocky_10_minor_version }}/AppStream/x86_64/os/{{ stackhpc_pulp_repo_rocky_10_appstream_version }}"
@@ -511,6 +523,12 @@ stackhpc_pulp_rpm_repos:
511523
base_path: "doca/3.2.2/rhel10/x86_64/"
512524
required: "{{ stackhpc_pulp_sync_ofed | bool and stackhpc_pulp_sync_el_10 | bool }}"
513525

526+
- name: DOCA Online Repo 3.2.2 - RHEL 10 aarch64
527+
url: "{{ stackhpc_release_pulp_content_url }}/doca/3.2.2/rhel10/aarch64/{{ stackhpc_pulp_repo_doca_3_2_2_rhel10_aarch64_version }}"
528+
distribution_name: "doca-3.2.2-rhel10-aarch64-"
529+
base_path: "doca/3.2.2/rhel10/aarch64/"
530+
required: "{{ stackhpc_pulp_sync_ofed | bool and stackhpc_pulp_sync_el_10 | bool }}"
531+
514532
# RPM repositories
515533
stackhpc_pulp_repository_rpm_repos: >-
516534
{%- set rpm_repos = [] -%}

0 commit comments

Comments
 (0)