Skip to content

Commit 81b0e33

Browse files
committed
Build DOCA-OFED kernel modules for Rocky 10
1 parent 268abb1 commit 81b0e33

10 files changed

Lines changed: 136 additions & 287 deletions

File tree

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

Lines changed: 70 additions & 254 deletions
Large diffs are not rendered by default.

etc/kayobe/ansible/tools/build-ofed-rocky.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
changed_when: false
1313
check_mode: true
1414
register: result
15-
failed_when: result.found
15+
failed_when: result.found > 0
1616

1717
- name: Install package dependencies
1818
ansible.builtin.dnf:

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
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_release: "{{ os_release }}.{{ lookup('vars', 'stackhpc_pulp_repo_rocky_' ~ os_release ~ '_minor_version') }}"
910
doca_kernel_arch: "{{ 'x86.64' if ansible_facts.architecture == 'x86_64' else ansible_facts.architecture }}"
10-
doca_kernel_version: "{{ stackhpc_doca_kernel_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version | string] }}.{{ doca_kernel_arch }}"
11+
doca_kernel_version: "{{ stackhpc_doca_kernel_version_matrix[doca_release | string] }}.{{ doca_kernel_arch }}"
1112
tasks:
1213
- name: Install kernel repo
1314
ansible.builtin.dnf:

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

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
tasks:
88
- name: Get OFED module repo
99
ansible.builtin.set_fact:
10-
doca_modules_repos: "{{ stackhpc_pulp_rpm_repos | selectattr('name', 'search', 'OFED') | selectattr('base_path', 'search', '/' ~ kolla_base_arch ~ '/') | list }}"
10+
doca_modules_repos: "{{ stackhpc_pulp_rpm_repos | selectattr('name', 'search', 'OFED') | selectattr('base_path', 'search', '/rhel' ~ os_release) | selectattr('base_path', 'search', '/' ~ os_arch ~ '/') | list }}"
1111

1212
- name: Assert OFED module repo is unique
1313
ansible.builtin.assert:
1414
that:
1515
- doca_modules_repos | length == 1
16-
fail_msg: "Expected exactly one OFED module repo for {{ kolla_base_arch }}"
16+
fail_msg: "Expected exactly one OFED module repo for {{ os_arch }}"
1717

1818
- name: Get OFED module repo variables
1919
ansible.builtin.set_fact:
@@ -60,15 +60,20 @@
6060
retries: "{{ pulp_timeout_retries | default(3) }}"
6161

6262
- name: Upload OFED RPMs to Pulp
63-
ansible.builtin.shell:
64-
cmd: |
65-
{{ venv }}/bin/pulp \
66-
rpm content \
67-
--type package upload \
68-
--repository '{{ doca_modules_repo_name }}' \
69-
--file {{ item }} \
70-
--no-publish \
63+
pulp.squeezer.rpm_package:
64+
pulp_url: "{{ stackhpc_release_pulp_url }}"
65+
username: "{{ stackhpc_release_pulp_username }}"
66+
password: "{{ stackhpc_release_pulp_password }}"
67+
file: "{{ item }}"
68+
chunk_size: 4194304
69+
repository: "{{ doca_modules_repo_name }}"
70+
state: present
7171
with_items: "{{ doca_kernel_repo.stdout_lines }}"
72+
register: package
73+
74+
- name: Display information about the uploaded rpm
75+
debug:
76+
var: package
7277

7378
- name: Create Pulp publication for OFED
7479
pulp.squeezer.rpm_publication:

etc/kayobe/dnf.yml

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -75,23 +75,22 @@ dnf_custom_repos_doca_rocky_9:
7575
dnf_custom_repos_doca_rocky_10:
7676
doca:
7777
baseurl: "{{ stackhpc_repo_rhel10_doca_url }}"
78-
description: "DOCA Online Repo {{ stackhpc_pulp_doca_version }} - RHEL $releasever"
78+
description: "DOCA Online Repo 3.2.2 - RHEL $releasever"
7979
enabled: "{{ dnf_enable_doca | bool | default(false) }}"
8080
priority: -1
8181
file: doca
8282
gpgcheck: no
8383
username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}"
8484
password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}"
85-
# TODO(owenjones): update this once repo for Rocky 10 has been created in Pulp
86-
# doca-modules:
87-
# baseurl: "{{ stackhpc_repo_rhel9_doca_modules_url }}"
88-
# description: "OFED Kernel module repository for DOCA {{ stackhpc_pulp_doca_version }} - RHEL $releasever"
89-
# enabled: "{{ dnf_enable_doca_modules | bool | default(false) }}"
90-
# priority: -1
91-
# file: doca
92-
# gpgcheck: no
93-
# username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}"
94-
# password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}"
85+
doca-modules:
86+
baseurl: "{{ stackhpc_repo_rhel10_doca_modules_url }}"
87+
description: "OFED Kernel module repository for DOCA 3.2.2 - RHEL $releasever"
88+
enabled: "{{ dnf_enable_doca_modules | bool | default(false) }}"
89+
priority: -1
90+
file: doca
91+
gpgcheck: no
92+
username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}"
93+
password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}"
9594

9695
# Custom repositories shared between all RHEL 9/10 derivatives.
9796
dnf_custom_repos_el9:

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ stackhpc_repo_rhel_10_mariadb_10_11_version: "{{ stackhpc_pulp_repo_multiarch_rh
4545
stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_influxdb_version }}"
4646
stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_mariadb_10_11_version }}"
4747
stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_treasuredata_5_version }}"
48+
stackhpc_repo_rhel10_doca_modules_version: "{{ stackhpc_pulp_repo_rhel10_doca_modules_version }}"
4849
stackhpc_repo_rhel10_doca_version: "{{ stackhpc_pulp_repo_rhel10_doca_version }}"
4950
stackhpc_repo_rhel9_doca_modules_version: "{{ stackhpc_pulp_repo_rhel9_doca_modules_version }}"
5051
stackhpc_repo_rhel9_doca_version: "{{ stackhpc_pulp_repo_rhel9_doca_version }}"

etc/kayobe/ofed.yml

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66
stackhpc_pulp_doca_version_matrix:
77
"6": 2.9.3
88
"7": 3.2.2
9-
stackhpc_pulp_doca_version: "{{ stackhpc_pulp_doca_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version | string] | default('2.9.1') }}"
9+
stackhpc_pulp_doca_version: "{{ stackhpc_pulp_doca_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version | string] | default('2.9.3') }}"
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
14-
"7": 5.14.0.611.41.1.el9.7
13+
"9.6": 5.14.0.570.21.1.el9.6
14+
"9.7": 5.14.0.611.41.1.el9.7
15+
"10.1": 6.12.0-124.45.1.el10_1
1516

1617
###############################################################################
1718
# Pulp configuration for DOCA OFED
@@ -22,15 +23,23 @@ stackhpc_pulp_sync_ofed: "{{ groups['mlnx'] | length > 0 }}"
2223
# DOCA Snapshot lookup vars
2324
doca_rocky_9_minor_dot: "{% if stackhpc_pulp_doca_version is version('3.2.0', '>=') %}9{% else %}9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}{% endif %}"
2425
# eg stackhpc_pulp_repo_doca_2_9_3_rhel9_6_version or stackhpc_pulp_repo_doca_3_2_2_rhel9_version
25-
doca_version_lookup_var: "stackhpc_pulp_repo_doca_{{ stackhpc_pulp_doca_version | replace('.', '_') }}_rhel{{ doca_rocky_9_minor_dot | replace('.', '_') }}_version"
26-
doca_modules_version_lookup_var: "stackhpc_pulp_repo_doca_{{ stackhpc_pulp_doca_version | replace('.', '_') }}_rhel9_{{ stackhpc_pulp_repo_rocky_9_minor_version }}_modules_version"
27-
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"
26+
doca_rocky_9_version_lookup_var: "stackhpc_pulp_repo_doca_{{ stackhpc_pulp_doca_version | replace('.', '_') }}_rhel{{ doca_rocky_9_minor_dot | replace('.', '_') }}_version"
27+
doca_rocky_9_modules_version_lookup_var: "stackhpc_pulp_repo_doca_{{ stackhpc_pulp_doca_version | replace('.', '_') }}_rhel9_{{ stackhpc_pulp_repo_rocky_9_minor_version }}_modules_version"
28+
doca_rocky_9_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"
29+
30+
doca_rocky_10_version_lookup_var: "stackhpc_pulp_repo_doca_3_2_2_rhel10_{{ kolla_base_arch }}_version"
31+
doca_rocky_10_modules_version_lookup_var: "stackhpc_pulp_repo_doca_3_2_2_rhel10_modules_version"
32+
doca_rocky_10_modules_aarch64_version_lookup_var: "stackhpc_pulp_repo_doca_3_2_2_rhel10_modules_aarch64_version"
2833

2934
# DOCA Snapshot versions. The defaults use the appropriate version from
3035
# pulp-repo-versions.yml
31-
stackhpc_pulp_repo_rhel9_doca_version: "{{ lookup('vars', doca_version_lookup_var) }}"
32-
stackhpc_pulp_repo_rhel9_doca_modules_version: "{{ lookup('vars', doca_modules_version_lookup_var) }}"
33-
stackhpc_pulp_repo_rhel9_doca_modules_aarch64_version: "{{ lookup('vars', doca_modules_aarch64_version_lookup_var) }}"
36+
stackhpc_pulp_repo_rhel9_doca_version: "{{ lookup('vars', doca_rocky_9_version_lookup_var) }}"
37+
stackhpc_pulp_repo_rhel9_doca_modules_version: "{{ lookup('vars', doca_rocky_9_modules_version_lookup_var) }}"
38+
stackhpc_pulp_repo_rhel9_doca_modules_aarch64_version: "{{ lookup('vars', doca_rocky_9_modules_aarch64_version_lookup_var) }}"
39+
40+
stackhpc_pulp_repo_rhel10_doca_version: "{{ lookup('vars', doca_rocky_10_version_lookup_var) }}"
41+
stackhpc_pulp_repo_rhel10_doca_modules_version: "{{ lookup('vars', doca_rocky_10_modules_version_lookup_var) }}"
42+
stackhpc_pulp_repo_rhel10_doca_modules_aarch64_version: "{{ lookup('vars', doca_rocky_10_modules_aarch64_version_lookup_var) }}"
3443

3544
###############################################################################
3645
# Dummy variable to allow Ansible to accept this file.

etc/kayobe/pulp-repo-versions.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ stackhpc_pulp_repo_doca_2_9_1_rhel9_5_modules_version: 20250115T150314
2828
stackhpc_pulp_repo_doca_2_9_1_rhel9_5_version: 20241211T171301
2929
stackhpc_pulp_repo_doca_2_9_3_rhel9_6_modules_version: 20250714T141841
3030
stackhpc_pulp_repo_doca_2_9_3_rhel9_6_version: 20250703T135021
31+
stackhpc_pulp_repo_doca_3_2_2_rhel10_modules_aarch64_version:
32+
stackhpc_pulp_repo_doca_3_2_2_rhel10_modules_version:
3133
stackhpc_pulp_repo_doca_3_2_2_rhel10_aarch64_version: 20260326T091359
3234
stackhpc_pulp_repo_doca_3_2_2_rhel10_x86_64_version: 20260326T091359
3335
stackhpc_pulp_repo_doca_3_2_2_rhel9_7_modules_aarch64_version: 20260424T151043

etc/kayobe/pulp.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,7 @@ stackhpc_pulp_rpm_repos:
527527

528528
- name: DOCA Online Repo 3.2.2 - RHEL 10
529529
url: "{{ stackhpc_release_pulp_content_url }}/doca/3.2.2/rhel10/x86_64/{{ stackhpc_pulp_repo_doca_3_2_2_rhel10_x86_64_version }}"
530-
distribution_name: "doca-3.2.2-rhel10-"
530+
distribution_name: "doca-3.2.2-rhel10-x86_64-"
531531
base_path: "doca/3.2.2/rhel10/x86_64/"
532532
required: "{{ stackhpc_pulp_sync_ofed | bool and stackhpc_pulp_sync_el_10 | bool }}"
533533

@@ -537,6 +537,18 @@ stackhpc_pulp_rpm_repos:
537537
base_path: "doca/3.2.2/rhel10/aarch64/"
538538
required: "{{ stackhpc_pulp_sync_ofed | bool and stackhpc_pulp_sync_el_10 | bool }}"
539539

540+
- name: OFED Kernel modules for DOCA 3.2.2 - RHEL 10
541+
url: "{{ stackhpc_release_pulp_content_url }}/doca-modules/3.2.2/rhel10/x86_64/{{ stackhpc_pulp_repo_rhel10_doca_modules_version }}"
542+
distribution_name: "doca-modules-3.2.2-rhel10-"
543+
base_path: "doca-modules/3.2.2/rhel10/x86_64/"
544+
required: "{{ stackhpc_pulp_sync_ofed | bool and stackhpc_pulp_sync_el_10 | bool }}"
545+
546+
- name: OFED Kernel modules for DOCA 3.2.2 - RHEL 10 aarch64
547+
url: "{{ stackhpc_release_pulp_content_url }}/doca-modules/3.2.2/rhel10/aarch64/{{ stackhpc_pulp_repo_rhel10_doca_modules_aarch64_version }}"
548+
distribution_name: "doca-modules-3.2.2-rhel10-aarch64-"
549+
base_path: "doca-modules/3.2.2/rhel10/aarch64/"
550+
required: "{{ stackhpc_pulp_sync_ofed | bool and stackhpc_pulp_sync_el_10 | bool }}"
551+
540552
# RPM repositories
541553
stackhpc_pulp_repository_rpm_repos: >-
542554
{%- set rpm_repos = [] -%}

etc/kayobe/stackhpc.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,10 @@ stackhpc_repo_rhel_10_mariadb_10_11_version: "{{ stackhpc_repo_distribution }}"
209209
stackhpc_repo_rhel10_doca_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/doca/3.2.2/rhel10/{{ kolla_base_arch }}/{{ stackhpc_repo_rhel10_doca_version }}"
210210
stackhpc_repo_rhel10_doca_version: "{{ stackhpc_repo_distribution }}"
211211

212+
# DOCA Modules for RHEL 10
213+
stackhpc_repo_rhel10_doca_modules_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/doca-modules/3.2.2/rhel10/{{ kolla_base_arch }}/{{ stackhpc_repo_rhel10_doca_modules_version }}"
214+
stackhpc_repo_rhel10_doca_modules_version: "{{ stackhpc_repo_distribution }}"
215+
212216
###############################################################################
213217
# Sources
214218

0 commit comments

Comments
 (0)