Skip to content

Commit 197c19a

Browse files
authored
Merge pull request #2025 from stackhpc/rl-9.7
Rocky Linux 9.7 packages
2 parents 8b2029a + a0b7f10 commit 197c19a

File tree

8 files changed

+209
-44
lines changed

8 files changed

+209
-44
lines changed
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
# This playbook performs the system upgrade from RockyLinux 9.6 to 9.7 on hosts
3+
# using doca ofed kernel modules and utilities.
4+
# It prevents the install of the dkms toolchain and dkms modules that would be
5+
# used instead or our precompiled modules if a direct `dnf upgrade` was run.
6+
#
7+
# It must be run after new package snapshots have been merged and
8+
# `pulp-repo-sync.yml` and `pulp-repo-publish.yml` have been run.
9+
# Also `kayobe overcloud host configure -t dnf` must have been run for the new
10+
# `doca.repo` to be present (the doca version is in the url) on the mlnx hosts.
11+
12+
- name: Prepare upgrade from Rocky Linux 9.6 to 9.7
13+
hosts: mlnx
14+
serial: "{{ lookup('env', 'ANSIBLE_SERIAL') | default(1, true) }}"
15+
gather_facts: true
16+
tags: pre
17+
vars:
18+
# we don't build kernel modules for each version, eg 5.14.0-611.13.1 has been built,
19+
# but not 5.14.0-611.20.1.
20+
doca_kernel_version: "{{ stackhpc_doca_kernel_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version] }}"
21+
tasks:
22+
- name: Assert that hosts are running Rocky Linux 9.6
23+
ansible.builtin.assert:
24+
that:
25+
- ansible_facts.distribution == 'Rocky'
26+
- ansible_facts.distribution_version == '9.6'
27+
- os_distribution == 'rocky'
28+
fail_msg: >-
29+
This playbook is only designed for Rocky Linux 9.6 hosts. Ensure
30+
that you are limiting it to only run on Rocky Linux 9.6 hosts and
31+
os_distribution is set to rocky.
32+
33+
- name: Ensure doca kernel repo is up to date
34+
ansible.builtin.dnf:
35+
name: doca-kernel-repo
36+
state: latest
37+
update_cache: true
38+
become: true
39+
40+
# This is required by mlnx-ofa_kernel, and comes from the doca repository.
41+
# It is already present when doca-ofed is installed, but will be upgraded.
42+
- name: Ensure mlnx-tools is installed
43+
ansible.builtin.dnf:
44+
name: mlnx-tools
45+
state: latest
46+
update_cache: true
47+
become: true
48+
49+
- name: Ensure appropriate doca-kernel is installed
50+
ansible.builtin.dnf:
51+
name: "doca-kernel-{{ doca_kernel_version }}"
52+
state: latest
53+
disablerepo: doca
54+
become: true
55+
56+
# doca-ofed 3.2 starts to depend on the dkms modules. It was not the case
57+
# in doca-ofed 2.9.3.
58+
- name: Ensure doca-ofed is not present (upgrading it brings dkms)
59+
ansible.builtin.dnf:
60+
name: doca-ofed
61+
state: absent
62+
autoremove: false
63+
become: true
64+
65+
- name: Ensure latest doca-ofed-userspace instead of doca-ofed
66+
ansible.builtin.dnf:
67+
name: doca-ofed-userspace
68+
state: latest
69+
become: true
70+
71+
- name: Upgrade all
72+
ansible.builtin.dnf:
73+
name: "*"
74+
state: latest
75+
become: true
76+
77+
- name: Fix potential grub config preventing new kernel from being used
78+
ansible.builtin.import_playbook: reset-bls-entries.yml
79+
vars:
80+
reset_bls_hosts: mlnx
81+
82+
- name: Reboot to apply updates
83+
ansible.builtin.import_playbook: reboot.yml
84+
vars:
85+
reboot_hosts: mlnx
86+
87+
- name: Confirm the host is upgraded to Rocky Linux 9.7
88+
hosts: mlnx
89+
tags: post
90+
tasks:
91+
- name: Update distribution facts
92+
ansible.builtin.setup:
93+
filter: "{{ kayobe_ansible_setup_filter }}"
94+
gather_subset: "{{ kayobe_ansible_setup_gather_subset }}"
95+
96+
# Can fail (eg in multinode) when there are bad entries in grub config
97+
# Fixed by `kayobe playbook run ansible/maintenance/reset-bls-entries.yml`
98+
# and manual reboot
99+
- name: Assert that hosts are now using Rocky Linux 9.7
100+
ansible.builtin.assert:
101+
that:
102+
- ansible_facts.distribution == 'Rocky'
103+
- ansible_facts.distribution_version == '9.7'
104+
- os_distribution == 'rocky'

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

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,50 @@
33
become: true
44
hosts: mlnx
55
gather_facts: true
6+
vars:
7+
# we don't build kernel modules for each version, eg 5.14.0-611.13.1 has been built,
8+
# but not 5.14.0-611.20.1
9+
doca_kernel_version: "{{ stackhpc_doca_kernel_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version] }}"
610
tasks:
7-
- name: Get running kernel
8-
ansible.builtin.command:
9-
cmd: "uname -r"
10-
register: kernel
11-
check_mode: false
12-
1311
- name: Install kernel repo
1412
ansible.builtin.dnf:
1513
name: doca-kernel-repo
1614
state: latest
1715
update_cache: true
1816

17+
# not the same as doca_kernel_version: some dots changed to underscore or dash
18+
- name: Discover kernel repo filename
19+
ansible.builtin.shell: |
20+
set -o pipefail
21+
rpm -ql doca-kernel-repo | grep /etc/yum.repos.d/
22+
register: kernel_repo_filename
23+
changed_when: false
24+
1925
- name: Ensure correct priority for DOCA modules
2026
ansible.builtin.lineinfile:
2127
line: "priority=-2"
2228
insertafter: EOF
23-
path: "/etc/yum.repos.d/doca-kernel-{{ kernel.stdout }}.repo"
29+
path: "{{ kernel_repo_filename.stdout }}"
30+
31+
# This is required by mlnx-ofa_kernel, and comes from the doca repository.
32+
# It is already present when doca-ofed is installed, but will be upgraded.
33+
- name: Ensure mlnx-tools is installed
34+
ansible.builtin.dnf:
35+
name: mlnx-tools
36+
state: latest
37+
update_cache: true
38+
become: true
39+
40+
- name: Ensure appropriate doca-kernel is installed
41+
ansible.builtin.dnf:
42+
name: "doca-kernel-{{ doca_kernel_version }}"
43+
state: latest
44+
disablerepo: doca
45+
become: true
2446

25-
- name: Install DOCA OFED
47+
- name: Ensure DOCA OFED userspace is installed
2648
ansible.builtin.dnf:
27-
name: doca-ofed
49+
name:
50+
- doca-ofed-userspace
2851
state: latest
2952
update_cache: true

etc/kayobe/ansible/tools/stackhpc-cloud-tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,9 @@
140140
SELINUX_STATE: "{{ sct_selinux_state }}"
141141
vars:
142142
# Inclusive min
143-
sct_docker_version_min: "24.0.0"
143+
sct_docker_version_min: "27.0.0"
144144
# Exclusive max
145-
sct_docker_version_max: "29.0.0"
145+
sct_docker_version_max: "30.0.0"
146146
sct_selinux_state: "{{ selinux_state }}"
147147
failed_when: host_results.rc not in [0, 1]
148148
register: host_results

etc/kayobe/ofed.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,15 @@
33

44
###############################################################################
55
# DOCA host version
6-
stackhpc_pulp_doca_version: "{{ '2.9.3' if stackhpc_pulp_repo_rocky_9_minor_version == '6' else '2.9.1' }}"
6+
stackhpc_pulp_doca_version_matrix:
7+
"6": 2.9.3
8+
"7": 3.2.1
9+
stackhpc_pulp_doca_version: "{{ stackhpc_pulp_doca_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version] | default('2.9.1') }}"
10+
11+
# Available and tested versions of the pre-compiled doca-ofed kernel modules
12+
stackhpc_doca_kernel_version_matrix:
13+
"6": 5.14.0.570.21.1.el9.6.x86.64
14+
"7": 5.14.0.611.13.1.el9.7.x86.64
715

816
###############################################################################
917
# Pulp configuration for DOCA OFED
@@ -12,7 +20,9 @@ stackhpc_pulp_doca_version: "{{ '2.9.3' if stackhpc_pulp_repo_rocky_9_minor_vers
1220
stackhpc_pulp_sync_ofed: "{{ groups['mlnx'] | length > 0 }}"
1321

1422
# DOCA Snapshot lookup vars
15-
doca_version_lookup_var: "stackhpc_pulp_repo_doca_{{ stackhpc_pulp_doca_version | replace('.', '_') }}_rhel9_{{ stackhpc_pulp_repo_rocky_9_minor_version }}_version"
23+
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 %}"
24+
# eg stackhpc_pulp_repo_doca_2_9_3_rhel9_6_version or stackhpc_pulp_repo_doca_3_2_1_rhel9_version
25+
doca_version_lookup_var: "stackhpc_pulp_repo_doca_{{ stackhpc_pulp_doca_version | replace('.', '_') }}_rhel{{ doca_rocky_9_minor_dot | replace('.', '_') }}_version"
1626
doca_modules_version_lookup_var: "stackhpc_pulp_repo_doca_{{ stackhpc_pulp_doca_version | replace('.', '_') }}_rhel9_{{ stackhpc_pulp_repo_rocky_9_minor_version }}_modules_version"
1727

1828
# DOCA Snapshot versions. The defaults use the appropriate version from

etc/kayobe/pulp-repo-versions.yml

Lines changed: 42 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,42 @@
22
# This file is autogenerated by Ansible using the following workflow:
33
# https://github.com/stackhpc/stackhpc-release-train/actions/workflows/package-update-kayobe.yml
44
stackhpc_pulp_repo_almalinux_9_proxysql_2_7_version: 20250627T134211
5-
stackhpc_pulp_repo_centos_stream_9_docker_version: 20250531T002004
6-
stackhpc_pulp_repo_centos_stream_9_docker_aarch64_version: 20250531T022550
7-
stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version: 20250807T035741
8-
stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_aarch64_version: 20250807T031149
5+
stackhpc_pulp_repo_centos_stream_9_docker_version: 20260116T201448
6+
stackhpc_pulp_repo_centos_stream_9_docker_aarch64_version: 20260116T212156
7+
stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version: 20260105T210735
8+
stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_aarch64_version: 20260105T211710
99
stackhpc_pulp_repo_centos_stream_9_openstack_epoxy_version: 20250521T021940
1010
stackhpc_pulp_repo_centos_stream_9_openstack_epoxy_aarch64_version: 20250521T015033
1111
stackhpc_pulp_repo_centos_stream_9_opstools_version: 20231213T031318
1212
stackhpc_pulp_repo_centos_stream_9_opstools_aarch64_version: 20240927T073838
13-
stackhpc_pulp_repo_centos_stream_9_storage_ceph_squid_version: 20250412T024303
14-
stackhpc_pulp_repo_centos_stream_9_storage_ceph_squid_aarch64_version: 20250412T021837
13+
stackhpc_pulp_repo_centos_stream_9_storage_ceph_squid_version: 20250731T030732
14+
stackhpc_pulp_repo_centos_stream_9_storage_ceph_squid_aarch64_version: 20250731T023010
1515
stackhpc_pulp_repo_doca_2_9_1_rhel9_4_version: 20241211T153620
1616
stackhpc_pulp_repo_doca_2_9_1_rhel9_4_modules_version: 20241213T112245
1717
stackhpc_pulp_repo_doca_2_9_1_rhel9_5_version: 20241211T171301
1818
stackhpc_pulp_repo_doca_2_9_1_rhel9_5_modules_version: 20250115T150314
1919
stackhpc_pulp_repo_doca_2_9_3_rhel9_6_version: 20250703T135021
2020
stackhpc_pulp_repo_doca_2_9_3_rhel9_6_modules_version: 20250714T141841
21+
stackhpc_pulp_repo_doca_3_2_1_rhel9_version: 20251219T132023
22+
stackhpc_pulp_repo_doca_3_2_1_rhel9_7_modules_version: 20251222T160623
2123
stackhpc_pulp_repo_docker_ce_ubuntu_noble_version: 20250616T155742
22-
stackhpc_pulp_repo_elrepo_9_version: 20250610T235426
24+
stackhpc_pulp_repo_elrepo_9_version: 20260117T204853
2325
stackhpc_pulp_repo_elrepo_9_aarch64_version: 20250408T030629
24-
stackhpc_pulp_repo_epel_9_version: 20250615T000221
25-
stackhpc_pulp_repo_epel_9_aarch64_version: 20250615T015805
26-
stackhpc_pulp_repo_grafana_version: 20250615T005738
27-
stackhpc_pulp_repo_opensearch_2_x_version: 20250430T014638
28-
stackhpc_pulp_repo_opensearch_dashboards_2_x_version: 20250430T014638
29-
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_version: 20250718T004955
30-
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_26_aarch64_version: 20250905T114106
31-
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_27_aarch64_version: 20250905T114106
32-
stackhpc_pulp_repo_rhel9_rabbitmq_server_version: 20250708T003546
33-
stackhpc_pulp_repo_rhel_9_influxdb_version: 20250529T023704
34-
stackhpc_pulp_repo_rhel_9_influxdb_aarch64_version: 20250529T041909
35-
stackhpc_pulp_repo_rhel_9_mariadb_10_11_version: 20250523T014203
36-
stackhpc_pulp_repo_rhel_9_mariadb_10_11_aarch64_version: 20250523T035924
37-
stackhpc_pulp_repo_rhel_9_treasuredata_5_version: 20250516T002449
38-
stackhpc_pulp_repo_rhel_9_treasuredata_5_aarch64_version: 20250516T024051
26+
stackhpc_pulp_repo_epel_9_version: 20260118T205952
27+
stackhpc_pulp_repo_epel_9_aarch64_version: 20260118T212530
28+
stackhpc_pulp_repo_grafana_version: 20260117T201921
29+
stackhpc_pulp_repo_opensearch_2_x_version: 20251106T202313
30+
stackhpc_pulp_repo_opensearch_dashboards_2_x_version: 20251106T202313
31+
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_version: 20251130T213625
32+
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_26_aarch64_version: 20260112T224827
33+
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_27_aarch64_version: 20260112T224827
34+
stackhpc_pulp_repo_rhel9_rabbitmq_server_version: 20260102T201700
35+
stackhpc_pulp_repo_rhel_9_influxdb_version: 20260113T202459
36+
stackhpc_pulp_repo_rhel_9_influxdb_aarch64_version: 20260112T224827
37+
stackhpc_pulp_repo_rhel_9_mariadb_10_11_version: 20251105T202159
38+
stackhpc_pulp_repo_rhel_9_mariadb_10_11_aarch64_version: 20251105T211544
39+
stackhpc_pulp_repo_rhel_9_treasuredata_5_version: 20251219T202129
40+
stackhpc_pulp_repo_rhel_9_treasuredata_5_aarch64_version: 20251219T213344
3941
stackhpc_pulp_repo_rocky_9_1_appstream_version: 20231207T013715
4042
stackhpc_pulp_repo_rocky_9_1_baseos_version: 20231206T014015
4143
stackhpc_pulp_repo_rocky_9_1_crb_version: 20231211T120328
@@ -76,8 +78,24 @@ stackhpc_pulp_repo_rocky_9_6_extras_version: 20250726T040613
7678
stackhpc_pulp_repo_rocky_9_6_extras_aarch64_version: 20250726T045704
7779
stackhpc_pulp_repo_rocky_9_6_highavailability_version: 20250605T150141
7880
stackhpc_pulp_repo_rocky_9_6_highavailability_aarch64_version: 20250605T150141
79-
stackhpc_pulp_repo_rocky_9_sig_security_common_version: 20250222T040303
80-
stackhpc_pulp_repo_rocky_9_sig_security_common_aarch64_version: 20250222T044743
81+
stackhpc_pulp_repo_rocky_9_7_appstream_version: 20260117T210133
82+
stackhpc_pulp_repo_rocky_9_7_appstream_aarch64_version: 20260117T215926
83+
stackhpc_pulp_repo_rocky_9_7_appstream_source_version: 20260117T211328
84+
stackhpc_pulp_repo_rocky_9_7_baseos_version: 20260117T212017
85+
stackhpc_pulp_repo_rocky_9_7_baseos_aarch64_version: 20260117T215926
86+
stackhpc_pulp_repo_rocky_9_7_baseos_source_version: 20260117T211328
87+
stackhpc_pulp_repo_rocky_9_7_crb_version: 20260117T210133
88+
stackhpc_pulp_repo_rocky_9_7_crb_aarch64_version: 20260117T215926
89+
stackhpc_pulp_repo_rocky_9_7_crb_source_version: 20260117T211328
90+
stackhpc_pulp_repo_rocky_9_7_extras_version: 20251229T144024
91+
stackhpc_pulp_repo_rocky_9_7_extras_aarch64_version: 20251229T153210
92+
stackhpc_pulp_repo_rocky_9_7_extras_source_version: 20251229T150242
93+
stackhpc_pulp_repo_rocky_9_7_highavailability_version: 20260108T204618
94+
stackhpc_pulp_repo_rocky_9_7_highavailability_aarch64_version: 20260112T224827
95+
stackhpc_pulp_repo_rocky_9_7_highavailability_source_version: 20251220T210727
96+
stackhpc_pulp_repo_rocky_9_sig_security_common_version: 20251108T211425
97+
stackhpc_pulp_repo_rocky_9_sig_security_common_aarch64_version: 20251109T211404
98+
stackhpc_pulp_repo_rocky_9_sig_security_common_source_version: 20251203T103807
8199
stackhpc_pulp_repo_ubuntu_cloud_archive_version: 20250620T063939
82100
stackhpc_pulp_repo_ubuntu_noble_security_version: 20250620T113028
83101
stackhpc_pulp_repo_ubuntu_noble_version: 20250620T113028

etc/kayobe/pulp.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@ stackhpc_pulp_distribution_deb_production: >-
200200

201201
# Whether to sync Rocky Linux 9 packages.
202202
stackhpc_pulp_sync_rocky_9: "{{ os_distribution == 'rocky' }}"
203-
# Rocky 9 minor version number. Supported values: 6. Default is 6
204-
stackhpc_pulp_repo_rocky_9_minor_version: '6'
203+
# Rocky 9 minor version number. Supported values: 6, 7. Default is 7
204+
stackhpc_pulp_repo_rocky_9_minor_version: '7'
205205
# Rocky 9 Snapshot versions. The defaults use the appropriate version from
206206
# pulp-repo-versions.yml for the selected minor release.
207207

@@ -382,10 +382,10 @@ stackhpc_pulp_rpm_repos:
382382
base_path: "opensearch-dashboards/2.x/yum/"
383383
required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}"
384384

385-
- name: DOCA Online Repo {{ stackhpc_pulp_doca_version }} - RHEL 9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}
386-
url: "{{ stackhpc_release_pulp_content_url }}/doca/{{ stackhpc_pulp_doca_version }}/rhel9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/x86_64/{{ stackhpc_pulp_repo_rhel9_doca_version }}"
387-
distribution_name: "doca-{{ stackhpc_pulp_doca_version }}-rhel9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}-"
388-
base_path: "doca/{{ stackhpc_pulp_doca_version }}/rhel9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/x86_64/"
385+
- name: DOCA Online Repo {{ stackhpc_pulp_doca_version }} - RHEL {{ doca_rocky_9_minor_dot }}
386+
url: "{{ stackhpc_release_pulp_content_url }}/doca/{{ stackhpc_pulp_doca_version }}/rhel{{ doca_rocky_9_minor_dot }}/x86_64/{{ stackhpc_pulp_repo_rhel9_doca_version }}"
387+
distribution_name: "doca-{{ stackhpc_pulp_doca_version }}-rhel{{ doca_rocky_9_minor_dot }}-"
388+
base_path: "doca/{{ stackhpc_pulp_doca_version }}/rhel{{ doca_rocky_9_minor_dot }}/x86_64/"
389389
required: "{{ stackhpc_pulp_sync_ofed | bool and stackhpc_pulp_sync_el_9 | bool }}"
390390

391391
- name: OFED Kernel modules for DOCA {{ stackhpc_pulp_doca_version }} - RHEL 9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}

etc/kayobe/stackhpc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ stackhpc_repo_docker_ce_ubuntu_noble_version: "{{ stackhpc_repo_distribution }}"
4949
# RPMs
5050

5151
# DOCA
52-
stackhpc_repo_rhel9_doca_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/doca/{{ stackhpc_pulp_doca_version }}/rhel9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/x86_64/{{ stackhpc_repo_rhel9_doca_version }}"
52+
stackhpc_repo_rhel9_doca_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/doca/{{ stackhpc_pulp_doca_version }}/rhel{{ doca_rocky_9_minor_dot }}/x86_64/{{ stackhpc_repo_rhel9_doca_version }}"
5353
stackhpc_repo_rhel9_doca_version: "{{ stackhpc_repo_distribution }}"
5454

5555
# DOCA Modules
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
features:
3+
- |
4+
Added support for Rocky Linux 9.7.
5+
- |
6+
9.7 is now the default release for Rocky Linux.
7+
8+
upgrade:
9+
- |
10+
The upgrade to DOCA 3.2.1 is required for Rocky Linux 9.7.

0 commit comments

Comments
 (0)