Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 104 additions & 0 deletions etc/kayobe/ansible/maintenance/rocky-97-ofed-upgrade.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
---
# This playbook performs the system upgrade from RockyLinux 9.6 to 9.7 on hosts
# using doca ofed kernel modules and utilities.
# It prevents the install of the dkms toolchain and dkms modules that would be
# used instead or our precompiled modules if a direct `dnf upgrade` was run.
#
# It must be run after new package snapshots have been merged and
# `pulp-repo-sync.yml` and `pulp-repo-publish.yml` have been run.
# Also `kayobe overcloud host configure -t dnf` must have been run for the new
# `doca.repo` to be present (the doca version is in the url) on the mlnx hosts.

- name: Prepare upgrade from Rocky Linux 9.6 to 9.7
hosts: mlnx
serial: "{{ lookup('env', 'ANSIBLE_SERIAL') | default(1, true) }}"
gather_facts: true
tags: pre
vars:
# we don't build kernel modules for each version, eg 5.14.0-611.13.1 has been built,
# but not 5.14.0-611.20.1.
doca_kernel_version: "{{ stackhpc_doca_kernel_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version] }}"
tasks:
- name: Assert that hosts are running Rocky Linux 9.6
ansible.builtin.assert:
that:
- ansible_facts.distribution == 'Rocky'
- ansible_facts.distribution_version == '9.6'
- os_distribution == 'rocky'
fail_msg: >-
This playbook is only designed for Rocky Linux 9.6 hosts. Ensure
that you are limiting it to only run on Rocky Linux 9.6 hosts and
os_distribution is set to rocky.

- name: Ensure doca kernel repo is up to date
ansible.builtin.dnf:
name: doca-kernel-repo
state: latest
update_cache: true
become: true

# This is required by mlnx-ofa_kernel, and comes from the doca repository.
# It is already present when doca-ofed is installed, but will be upgraded.
- name: Ensure mlnx-tools is installed
ansible.builtin.dnf:
name: mlnx-tools
state: latest
update_cache: true
become: true

- name: Ensure appropriate doca-kernel is installed
ansible.builtin.dnf:
name: "doca-kernel-{{ doca_kernel_version }}"
state: latest
disablerepo: doca
become: true

# doca-ofed 3.2 starts to depend on the dkms modules. It was not the case
# in doca-ofed 2.9.3.
- name: Ensure doca-ofed is not present (upgrading it brings dkms)
ansible.builtin.dnf:
name: doca-ofed
state: absent
autoremove: false
become: true

- name: Ensure latest doca-ofed-userspace instead of doca-ofed
ansible.builtin.dnf:
name: doca-ofed-userspace
state: latest
become: true

- name: Upgrade all
ansible.builtin.dnf:
name: "*"
state: latest
become: true

- name: Fix potential grub config preventing new kernel from being used
ansible.builtin.import_playbook: reset-bls-entries.yml
vars:
reset_bls_hosts: mlnx

- name: Reboot to apply updates
ansible.builtin.import_playbook: reboot.yml
vars:
reboot_hosts: mlnx

- name: Confirm the host is upgraded to Rocky Linux 9.7
hosts: mlnx
tags: post
tasks:
- name: Update distribution facts
ansible.builtin.setup:
filter: "{{ kayobe_ansible_setup_filter }}"
gather_subset: "{{ kayobe_ansible_setup_gather_subset }}"

# Can fail (eg in multinode) when there are bad entries in grub config
# Fixed by `kayobe playbook run ansible/maintenance/reset-bls-entries.yml`
# and manual reboot
- name: Assert that hosts are now using Rocky Linux 9.7
ansible.builtin.assert:
that:
- ansible_facts.distribution == 'Rocky'
- ansible_facts.distribution_version == '9.7'
- os_distribution == 'rocky'
41 changes: 32 additions & 9 deletions etc/kayobe/ansible/tools/install-doca.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,50 @@
become: true
hosts: mlnx
gather_facts: true
vars:
# we don't build kernel modules for each version, eg 5.14.0-611.13.1 has been built,
# but not 5.14.0-611.20.1
doca_kernel_version: "{{ stackhpc_doca_kernel_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version] }}"
tasks:
- name: Get running kernel
ansible.builtin.command:
cmd: "uname -r"
register: kernel
check_mode: false

- name: Install kernel repo
ansible.builtin.dnf:
name: doca-kernel-repo
state: latest
update_cache: true

# not the same as doca_kernel_version: some dots changed to underscore or dash
- name: Discover kernel repo filename
ansible.builtin.shell: |
set -o pipefail
rpm -ql doca-kernel-repo | grep /etc/yum.repos.d/
register: kernel_repo_filename
changed_when: false

- name: Ensure correct priority for DOCA modules
ansible.builtin.lineinfile:
line: "priority=-2"
insertafter: EOF
path: "/etc/yum.repos.d/doca-kernel-{{ kernel.stdout }}.repo"
path: "{{ kernel_repo_filename.stdout }}"

# This is required by mlnx-ofa_kernel, and comes from the doca repository.
# It is already present when doca-ofed is installed, but will be upgraded.
- name: Ensure mlnx-tools is installed
ansible.builtin.dnf:
name: mlnx-tools
state: latest
update_cache: true
become: true

- name: Ensure appropriate doca-kernel is installed
ansible.builtin.dnf:
name: "doca-kernel-{{ doca_kernel_version }}"
state: latest
disablerepo: doca
become: true

- name: Install DOCA OFED
- name: Ensure DOCA OFED userspace is installed
ansible.builtin.dnf:
name: doca-ofed
name:
- doca-ofed-userspace
state: latest
update_cache: true
4 changes: 2 additions & 2 deletions etc/kayobe/ansible/tools/stackhpc-cloud-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,9 +140,9 @@
SELINUX_STATE: "{{ sct_selinux_state }}"
vars:
# Inclusive min
sct_docker_version_min: "24.0.0"
sct_docker_version_min: "27.0.0"
# Exclusive max
sct_docker_version_max: "29.0.0"
sct_docker_version_max: "30.0.0"
sct_selinux_state: "{{ selinux_state }}"
failed_when: host_results.rc not in [0, 1]
register: host_results
Expand Down
14 changes: 12 additions & 2 deletions etc/kayobe/ofed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,15 @@

###############################################################################
# DOCA host version
stackhpc_pulp_doca_version: "{{ '2.9.3' if stackhpc_pulp_repo_rocky_9_minor_version == '6' else '2.9.1' }}"
stackhpc_pulp_doca_version_matrix:
"6": 2.9.3
"7": 3.2.1
stackhpc_pulp_doca_version: "{{ stackhpc_pulp_doca_version_matrix[stackhpc_pulp_repo_rocky_9_minor_version] | default('2.9.1') }}"

# Available and tested versions of the pre-compiled doca-ofed kernel modules
stackhpc_doca_kernel_version_matrix:
"6": 5.14.0.570.21.1.el9.6.x86.64
"7": 5.14.0.611.13.1.el9.7.x86.64

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

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

# DOCA Snapshot versions. The defaults use the appropriate version from
Expand Down
66 changes: 42 additions & 24 deletions etc/kayobe/pulp-repo-versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,42 @@
# This file is autogenerated by Ansible using the following workflow:
# https://github.com/stackhpc/stackhpc-release-train/actions/workflows/package-update-kayobe.yml
stackhpc_pulp_repo_almalinux_9_proxysql_2_7_version: 20250627T134211
stackhpc_pulp_repo_centos_stream_9_docker_version: 20250531T002004
stackhpc_pulp_repo_centos_stream_9_docker_aarch64_version: 20250531T022550
stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version: 20250807T035741
stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_aarch64_version: 20250807T031149
stackhpc_pulp_repo_centos_stream_9_docker_version: 20260116T201448
stackhpc_pulp_repo_centos_stream_9_docker_aarch64_version: 20260116T212156
stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version: 20260105T210735
stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_aarch64_version: 20260105T211710
stackhpc_pulp_repo_centos_stream_9_openstack_epoxy_version: 20250521T021940
stackhpc_pulp_repo_centos_stream_9_openstack_epoxy_aarch64_version: 20250521T015033
stackhpc_pulp_repo_centos_stream_9_opstools_version: 20231213T031318
stackhpc_pulp_repo_centos_stream_9_opstools_aarch64_version: 20240927T073838
stackhpc_pulp_repo_centos_stream_9_storage_ceph_squid_version: 20250412T024303
stackhpc_pulp_repo_centos_stream_9_storage_ceph_squid_aarch64_version: 20250412T021837
stackhpc_pulp_repo_centos_stream_9_storage_ceph_squid_version: 20250731T030732
stackhpc_pulp_repo_centos_stream_9_storage_ceph_squid_aarch64_version: 20250731T023010
stackhpc_pulp_repo_doca_2_9_1_rhel9_4_version: 20241211T153620
stackhpc_pulp_repo_doca_2_9_1_rhel9_4_modules_version: 20241213T112245
stackhpc_pulp_repo_doca_2_9_1_rhel9_5_version: 20241211T171301
stackhpc_pulp_repo_doca_2_9_1_rhel9_5_modules_version: 20250115T150314
stackhpc_pulp_repo_doca_2_9_3_rhel9_6_version: 20250703T135021
stackhpc_pulp_repo_doca_2_9_3_rhel9_6_modules_version: 20250714T141841
stackhpc_pulp_repo_doca_3_2_1_rhel9_version: 20251219T132023
stackhpc_pulp_repo_doca_3_2_1_rhel9_7_modules_version: 20251222T160623
stackhpc_pulp_repo_docker_ce_ubuntu_noble_version: 20250616T155742
stackhpc_pulp_repo_elrepo_9_version: 20250610T235426
stackhpc_pulp_repo_elrepo_9_version: 20260117T204853
stackhpc_pulp_repo_elrepo_9_aarch64_version: 20250408T030629
stackhpc_pulp_repo_epel_9_version: 20250615T000221
stackhpc_pulp_repo_epel_9_aarch64_version: 20250615T015805
stackhpc_pulp_repo_grafana_version: 20250615T005738
stackhpc_pulp_repo_opensearch_2_x_version: 20250430T014638
stackhpc_pulp_repo_opensearch_dashboards_2_x_version: 20250430T014638
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_version: 20250718T004955
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_26_aarch64_version: 20250905T114106
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_27_aarch64_version: 20250905T114106
stackhpc_pulp_repo_rhel9_rabbitmq_server_version: 20250708T003546
stackhpc_pulp_repo_rhel_9_influxdb_version: 20250529T023704
stackhpc_pulp_repo_rhel_9_influxdb_aarch64_version: 20250529T041909
stackhpc_pulp_repo_rhel_9_mariadb_10_11_version: 20250523T014203
stackhpc_pulp_repo_rhel_9_mariadb_10_11_aarch64_version: 20250523T035924
stackhpc_pulp_repo_rhel_9_treasuredata_5_version: 20250516T002449
stackhpc_pulp_repo_rhel_9_treasuredata_5_aarch64_version: 20250516T024051
stackhpc_pulp_repo_epel_9_version: 20260118T205952
stackhpc_pulp_repo_epel_9_aarch64_version: 20260118T212530
stackhpc_pulp_repo_grafana_version: 20260117T201921
stackhpc_pulp_repo_opensearch_2_x_version: 20251106T202313
stackhpc_pulp_repo_opensearch_dashboards_2_x_version: 20251106T202313
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_version: 20251130T213625
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_26_aarch64_version: 20260112T224827
stackhpc_pulp_repo_rhel9_rabbitmq_erlang_27_aarch64_version: 20260112T224827
stackhpc_pulp_repo_rhel9_rabbitmq_server_version: 20260102T201700
stackhpc_pulp_repo_rhel_9_influxdb_version: 20260113T202459
stackhpc_pulp_repo_rhel_9_influxdb_aarch64_version: 20260112T224827
stackhpc_pulp_repo_rhel_9_mariadb_10_11_version: 20251105T202159
stackhpc_pulp_repo_rhel_9_mariadb_10_11_aarch64_version: 20251105T211544
stackhpc_pulp_repo_rhel_9_treasuredata_5_version: 20251219T202129
stackhpc_pulp_repo_rhel_9_treasuredata_5_aarch64_version: 20251219T213344
stackhpc_pulp_repo_rocky_9_1_appstream_version: 20231207T013715
stackhpc_pulp_repo_rocky_9_1_baseos_version: 20231206T014015
stackhpc_pulp_repo_rocky_9_1_crb_version: 20231211T120328
Expand Down Expand Up @@ -76,8 +78,24 @@ stackhpc_pulp_repo_rocky_9_6_extras_version: 20250726T040613
stackhpc_pulp_repo_rocky_9_6_extras_aarch64_version: 20250726T045704
stackhpc_pulp_repo_rocky_9_6_highavailability_version: 20250605T150141
stackhpc_pulp_repo_rocky_9_6_highavailability_aarch64_version: 20250605T150141
stackhpc_pulp_repo_rocky_9_sig_security_common_version: 20250222T040303
stackhpc_pulp_repo_rocky_9_sig_security_common_aarch64_version: 20250222T044743
stackhpc_pulp_repo_rocky_9_7_appstream_version: 20260117T210133
stackhpc_pulp_repo_rocky_9_7_appstream_aarch64_version: 20260117T215926
stackhpc_pulp_repo_rocky_9_7_appstream_source_version: 20260117T211328
stackhpc_pulp_repo_rocky_9_7_baseos_version: 20260117T212017
stackhpc_pulp_repo_rocky_9_7_baseos_aarch64_version: 20260117T215926
stackhpc_pulp_repo_rocky_9_7_baseos_source_version: 20260117T211328
stackhpc_pulp_repo_rocky_9_7_crb_version: 20260117T210133
stackhpc_pulp_repo_rocky_9_7_crb_aarch64_version: 20260117T215926
stackhpc_pulp_repo_rocky_9_7_crb_source_version: 20260117T211328
stackhpc_pulp_repo_rocky_9_7_extras_version: 20251229T144024
stackhpc_pulp_repo_rocky_9_7_extras_aarch64_version: 20251229T153210
stackhpc_pulp_repo_rocky_9_7_extras_source_version: 20251229T150242
stackhpc_pulp_repo_rocky_9_7_highavailability_version: 20260108T204618
stackhpc_pulp_repo_rocky_9_7_highavailability_aarch64_version: 20260112T224827
stackhpc_pulp_repo_rocky_9_7_highavailability_source_version: 20251220T210727
stackhpc_pulp_repo_rocky_9_sig_security_common_version: 20251108T211425
stackhpc_pulp_repo_rocky_9_sig_security_common_aarch64_version: 20251109T211404
stackhpc_pulp_repo_rocky_9_sig_security_common_source_version: 20251203T103807
stackhpc_pulp_repo_ubuntu_cloud_archive_version: 20250620T063939
stackhpc_pulp_repo_ubuntu_noble_security_version: 20250620T113028
stackhpc_pulp_repo_ubuntu_noble_version: 20250620T113028
12 changes: 6 additions & 6 deletions etc/kayobe/pulp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -200,8 +200,8 @@ stackhpc_pulp_distribution_deb_production: >-

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

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

- name: DOCA Online Repo {{ stackhpc_pulp_doca_version }} - RHEL 9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}
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 }}"
distribution_name: "doca-{{ stackhpc_pulp_doca_version }}-rhel9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}-"
base_path: "doca/{{ stackhpc_pulp_doca_version }}/rhel9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/x86_64/"
- name: DOCA Online Repo {{ stackhpc_pulp_doca_version }} - RHEL {{ doca_rocky_9_minor_dot }}
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 }}"
distribution_name: "doca-{{ stackhpc_pulp_doca_version }}-rhel{{ doca_rocky_9_minor_dot }}-"
base_path: "doca/{{ stackhpc_pulp_doca_version }}/rhel{{ doca_rocky_9_minor_dot }}/x86_64/"
required: "{{ stackhpc_pulp_sync_ofed | bool and stackhpc_pulp_sync_el_9 | bool }}"

- name: OFED Kernel modules for DOCA {{ stackhpc_pulp_doca_version }} - RHEL 9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}
Expand Down
2 changes: 1 addition & 1 deletion etc/kayobe/stackhpc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ stackhpc_repo_docker_ce_ubuntu_noble_version: "{{ stackhpc_repo_distribution }}"
# RPMs

# DOCA
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 }}"
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 }}"
stackhpc_repo_rhel9_doca_version: "{{ stackhpc_repo_distribution }}"

# DOCA Modules
Expand Down
10 changes: 10 additions & 0 deletions releasenotes/notes/rl9.7-c8d033f11097b76b.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
features:
- |
Added support for Rocky Linux 9.7.
- |
9.7 is now the default release for Rocky Linux.

upgrade:
- |
The upgrade to DOCA 3.2.1 is required for Rocky Linux 9.7.
Loading