From 64ab6a95515713d49002df87ad411f4c6025018e Mon Sep 17 00:00:00 2001 From: Eric Le Lay Date: Thu, 4 Dec 2025 09:52:53 +0100 Subject: [PATCH 1/7] latest_timestamps.py: show url and status on failure eg to identify which pulp_path is incorrect --- ansible/library/latest_timestamps.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ansible/library/latest_timestamps.py b/ansible/library/latest_timestamps.py index 6ac454908..e750a95ad 100644 --- a/ansible/library/latest_timestamps.py +++ b/ansible/library/latest_timestamps.py @@ -61,14 +61,21 @@ def run_module(): # pylint: disable=missing-function-docstring timestamps = dict(module.params["repos_dict"]) for repo in timestamps: for version in timestamps[repo]: - - html_txt = requests.get( - url=module.params["content_url"] + url = ( + module.params["content_url"] + "/" + timestamps[repo][version]["pulp_path"] - ).text + ) + html = requests.get(url=url) + if not html.ok: + module.fail_json( + msg=( + f"Couldn't retrieve timestamps for {repo}[{version}]" + f"url {url}: {html.status_code} {html.text}" + ) + ) timestamp_link_list = ( - BeautifulSoup(html_txt, features="html.parser") + BeautifulSoup(html.text, features="html.parser") .body.find("pre") .find_all() ) # getting raw list of timestamps from html From 959276869039c8a13f3f88082ff396bf6dfbfab8 Mon Sep 17 00:00:00 2001 From: Eric Le Lay Date: Thu, 4 Dec 2025 09:57:50 +0100 Subject: [PATCH 2/7] dnf_repo_timestamps.yml: sort --- .../group_vars/all/dnf_repo_timestamps.yml | 82 +++++++++---------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/environments/common/inventory/group_vars/all/dnf_repo_timestamps.yml b/environments/common/inventory/group_vars/all/dnf_repo_timestamps.yml index 3e7788c49..c8eec1517 100644 --- a/environments/common/inventory/group_vars/all/dnf_repo_timestamps.yml +++ b/environments/common/inventory/group_vars/all/dnf_repo_timestamps.yml @@ -26,6 +26,24 @@ dnf_repos_default: pulp_path: OpenHPC/3/updates/EL_9 pulp_timestamp: 20250510T003301 repo_file: OpenHPC + TurboVNC: + '8': + pulp_path: turbovnc/x86_64 + pulp_timestamp: 20251009T091906 + repo_file: TurboVNC + '9': + pulp_path: turbovnc/x86_64 + pulp_timestamp: 20251009T091906 + repo_file: TurboVNC + TurboVNC-source: + '8': + pulp_path: turbovnc/srpms + pulp_timestamp: 20251009T091906 + repo_file: TurboVNC + '9': + pulp_path: turbovnc/srpms + pulp_timestamp: 20251009T091906 + repo_file: TurboVNC appstream: '8.10': pulp_path: rocky/8.10/AppStream/x86_64/os @@ -78,6 +96,24 @@ dnf_repos_default: pulp_path: rocky/9.6/BaseOS/source/os pulp_timestamp: 20250923T043546 repo_file: rocky + cernvmfs_cfg: + '8': + pulp_path: cvmfs-config/EL/8/x86_64 + pulp_timestamp: 20250805T130249 + repo_file: cvmfs + '9': + pulp_path: cvmfs-config/EL/9/x86_64 + pulp_timestamp: 20250805T130249 + repo_file: cvmfs + cernvmfs_pkgs: + '8': + pulp_path: cvmfs/EL/8/x86_64 + pulp_timestamp: 20250816T005446 + repo_file: cvmfs + '9': + pulp_path: cvmfs/EL/9/x86_64 + pulp_timestamp: 20250816T005446 + repo_file: cvmfs crb: '8.10': pulp_path: rocky/8.10/PowerTools/x86_64/os @@ -115,6 +151,11 @@ dnf_repos_default: pulp_path: epel/9/Everything/x86_64 pulp_timestamp: 20250923T001717 repo_file: epel + epel-cisco-openh264: + '9': + pulp_path: openh264/epel/9/x86_64/os + pulp_timestamp: 20250925T130153 + repo_file: epel-cisco-openh264 epel-source: '8': pulp_path: epel/8/Everything/source @@ -124,11 +165,6 @@ dnf_repos_default: pulp_path: epel/9/Everything/source pulp_timestamp: 20250923T001717 repo_file: epel - epel-cisco-openh264: - '9': - pulp_path: openh264/epel/9/x86_64/os - pulp_timestamp: 20250925T130153 - repo_file: epel-cisco-openh264 extras: '8.10': pulp_path: rocky/8.10/extras/x86_64/os @@ -174,39 +210,3 @@ dnf_repos_default: pulp_path: ondemand/4.0/web/el9/x86_64 pulp_timestamp: 20250925T130153 repo_file: ondemand-web - TurboVNC: - '8': - pulp_path: turbovnc/x86_64 - pulp_timestamp: 20251009T091906 - repo_file: TurboVNC - '9': - pulp_path: turbovnc/x86_64 - pulp_timestamp: 20251009T091906 - repo_file: TurboVNC - TurboVNC-source: - '8': - pulp_path: turbovnc/srpms - pulp_timestamp: 20251009T091906 - repo_file: TurboVNC - '9': - pulp_path: turbovnc/srpms - pulp_timestamp: 20251009T091906 - repo_file: TurboVNC - cernvmfs_pkgs: - '8': - pulp_path: cvmfs/EL/8/x86_64 - pulp_timestamp: 20250816T005446 - repo_file: cvmfs - '9': - pulp_path: cvmfs/EL/9/x86_64 - pulp_timestamp: 20250816T005446 - repo_file: cvmfs - cernvmfs_cfg: - '8': - pulp_path: cvmfs-config/EL/8/x86_64 - pulp_timestamp: 20250805T130249 - repo_file: cvmfs - '9': - pulp_path: cvmfs-config/EL/9/x86_64 - pulp_timestamp: 20250805T130249 - repo_file: cvmfs From 4d3b668cbedb5abc9935fc370610c53a74479348 Mon Sep 17 00:00:00 2001 From: Eric Le Lay Date: Thu, 4 Dec 2025 10:00:28 +0100 Subject: [PATCH 3/7] dnf_repo_timestamps.yml: update existing timestamps --- .../group_vars/all/dnf_repo_timestamps.yml | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/environments/common/inventory/group_vars/all/dnf_repo_timestamps.yml b/environments/common/inventory/group_vars/all/dnf_repo_timestamps.yml index c8eec1517..22b5b959e 100644 --- a/environments/common/inventory/group_vars/all/dnf_repo_timestamps.yml +++ b/environments/common/inventory/group_vars/all/dnf_repo_timestamps.yml @@ -24,7 +24,7 @@ dnf_repos_default: repo_file: OpenHPC '9': pulp_path: OpenHPC/3/updates/EL_9 - pulp_timestamp: 20250510T003301 + pulp_timestamp: 20251104T202642 repo_file: OpenHPC TurboVNC: '8': @@ -47,7 +47,7 @@ dnf_repos_default: appstream: '8.10': pulp_path: rocky/8.10/AppStream/x86_64/os - pulp_timestamp: 20250923T022841 + pulp_timestamp: 20251202T210744 repo_file: Rocky-AppStream '9.4': pulp_path: rocky/9.4/AppStream/x86_64/os @@ -59,21 +59,21 @@ dnf_repos_default: repo_file: rocky '9.6': pulp_path: rocky/9.6/AppStream/x86_64/os - pulp_timestamp: 20250923T031638 + pulp_timestamp: 20251106T205505 repo_file: rocky appstream-source: '8.10': pulp_path: rocky/8.10/AppStream/source/os - pulp_timestamp: 20250923T024945 + pulp_timestamp: 20251009T082406 repo_file: Rocky-Sources '9.6': pulp_path: rocky/9.6/AppStream/source/os - pulp_timestamp: 20250923T043546 + pulp_timestamp: 20251009T121903 repo_file: rocky baseos: '8.10': pulp_path: rocky/8.10/BaseOS/x86_64/os - pulp_timestamp: 20250918T034501 + pulp_timestamp: 20251202T210744 repo_file: Rocky-BaseOS '9.4': pulp_path: rocky/9.4/BaseOS/x86_64/os @@ -85,16 +85,16 @@ dnf_repos_default: repo_file: rocky '9.6': pulp_path: rocky/9.6/BaseOS/x86_64/os - pulp_timestamp: 20250923T045903 + pulp_timestamp: 20251106T211545 repo_file: rocky baseos-source: '8.10': pulp_path: rocky/8.10/BaseOS/source/os - pulp_timestamp: 20250918T040529 + pulp_timestamp: 20251009T082406 repo_file: Rocky-Sources '9.6': pulp_path: rocky/9.6/BaseOS/source/os - pulp_timestamp: 20250923T043546 + pulp_timestamp: 20251009T121903 repo_file: rocky cernvmfs_cfg: '8': @@ -108,16 +108,16 @@ dnf_repos_default: cernvmfs_pkgs: '8': pulp_path: cvmfs/EL/8/x86_64 - pulp_timestamp: 20250816T005446 + pulp_timestamp: 20251113T202054 repo_file: cvmfs '9': pulp_path: cvmfs/EL/9/x86_64 - pulp_timestamp: 20250816T005446 + pulp_timestamp: 20251113T202054 repo_file: cvmfs crb: '8.10': pulp_path: rocky/8.10/PowerTools/x86_64/os - pulp_timestamp: 20250918T034501 + pulp_timestamp: 20251202T210744 repo_file: Rocky-PowerTools repo_name: powertools '9.4': @@ -130,26 +130,26 @@ dnf_repos_default: repo_file: rocky '9.6': pulp_path: rocky/9.6/CRB/x86_64/os - pulp_timestamp: 20250923T031638 + pulp_timestamp: 20251107T205232 repo_file: rocky crb-source: '8.10': pulp_path: rocky/8.10/PowerTools/source/tree - pulp_timestamp: 20250923T125600 + pulp_timestamp: 20251126T230532 repo_file: Rocky-Sources repo_name: powertools-source '9.6': pulp_path: rocky/9.6/CRB/source/os - pulp_timestamp: 20250923T043546 + pulp_timestamp: 20251006T044455 repo_file: rocky epel: '8': pulp_path: epel/8/Everything/x86_64 - pulp_timestamp: 20250923T001717 + pulp_timestamp: 20251203T203608 repo_file: epel '9': pulp_path: epel/9/Everything/x86_64 - pulp_timestamp: 20250923T001717 + pulp_timestamp: 20251202T204323 repo_file: epel epel-cisco-openh264: '9': @@ -159,16 +159,16 @@ dnf_repos_default: epel-source: '8': pulp_path: epel/8/Everything/source - pulp_timestamp: 20250923T001717 + pulp_timestamp: tree repo_file: epel '9': pulp_path: epel/9/Everything/source - pulp_timestamp: 20250923T001717 + pulp_timestamp: tree repo_file: epel extras: '8.10': pulp_path: rocky/8.10/extras/x86_64/os - pulp_timestamp: 20250510T032327 + pulp_timestamp: 20251129T221326 repo_file: Rocky-Extras '9.4': pulp_path: rocky/9.4/extras/x86_64/os @@ -194,19 +194,19 @@ dnf_repos_default: grafana: '8': pulp_path: grafana/oss/rpm - pulp_timestamp: 20250917T024714 + pulp_timestamp: 20251202T201944 repo_file: grafana timestamp: 20250615T005738 '9': pulp_path: grafana/oss/rpm - pulp_timestamp: 20250917T024714 + pulp_timestamp: 20251202T201944 repo_file: grafana ondemand-web: '8': pulp_path: ondemand/4.0/web/el8/x86_64 - pulp_timestamp: 20250925T130153 + pulp_timestamp: 20251120T213358 repo_file: ondemand-web '9': pulp_path: ondemand/4.0/web/el9/x86_64 - pulp_timestamp: 20250925T130153 + pulp_timestamp: 20251120T213358 repo_file: ondemand-web From 40c418f8a20e0038a60633df5d1d9deadb5f5617 Mon Sep 17 00:00:00 2001 From: Eric Le Lay Date: Thu, 4 Dec 2025 10:00:50 +0100 Subject: [PATCH 4/7] dnf_repo_timestamps.yml: rocky 9.7 --- .../group_vars/all/dnf_repo_timestamps.yml | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/environments/common/inventory/group_vars/all/dnf_repo_timestamps.yml b/environments/common/inventory/group_vars/all/dnf_repo_timestamps.yml index 22b5b959e..1435a3150 100644 --- a/environments/common/inventory/group_vars/all/dnf_repo_timestamps.yml +++ b/environments/common/inventory/group_vars/all/dnf_repo_timestamps.yml @@ -61,6 +61,10 @@ dnf_repos_default: pulp_path: rocky/9.6/AppStream/x86_64/os pulp_timestamp: 20251106T205505 repo_file: rocky + '9.7': + pulp_path: rocky/9.7/AppStream/x86_64/os + pulp_timestamp: 20251203T103807 + repo_file: rocky appstream-source: '8.10': pulp_path: rocky/8.10/AppStream/source/os @@ -70,6 +74,10 @@ dnf_repos_default: pulp_path: rocky/9.6/AppStream/source/os pulp_timestamp: 20251009T121903 repo_file: rocky + '9.7': + pulp_path: rocky/9.7/AppStream/source/tree + pulp_timestamp: 20251203T103807 + repo_file: rocky baseos: '8.10': pulp_path: rocky/8.10/BaseOS/x86_64/os @@ -87,6 +95,10 @@ dnf_repos_default: pulp_path: rocky/9.6/BaseOS/x86_64/os pulp_timestamp: 20251106T211545 repo_file: rocky + '9.7': + pulp_path: rocky/9.7/BaseOS/x86_64/os + pulp_timestamp: 20251203T103807 + repo_file: rocky baseos-source: '8.10': pulp_path: rocky/8.10/BaseOS/source/os @@ -96,6 +108,10 @@ dnf_repos_default: pulp_path: rocky/9.6/BaseOS/source/os pulp_timestamp: 20251009T121903 repo_file: rocky + '9.7': + pulp_path: rocky/9.7/BaseOS/source/tree + pulp_timestamp: 20251203T103807 + repo_file: rocky cernvmfs_cfg: '8': pulp_path: cvmfs-config/EL/8/x86_64 @@ -132,6 +148,10 @@ dnf_repos_default: pulp_path: rocky/9.6/CRB/x86_64/os pulp_timestamp: 20251107T205232 repo_file: rocky + '9.7': + pulp_path: rocky/9.7/CRB/x86_64/os + pulp_timestamp: 20251203T103807 + repo_file: rocky crb-source: '8.10': pulp_path: rocky/8.10/PowerTools/source/tree @@ -142,6 +162,10 @@ dnf_repos_default: pulp_path: rocky/9.6/CRB/source/os pulp_timestamp: 20251006T044455 repo_file: rocky + '9.7': + pulp_path: rocky/9.7/CRB/source/tree + pulp_timestamp: 20251203T103807 + repo_file: rocky epel: '8': pulp_path: epel/8/Everything/x86_64 @@ -182,6 +206,10 @@ dnf_repos_default: pulp_path: rocky/9.6/extras/x86_64/os pulp_timestamp: 20250726T040613 repo_file: rocky-extras + '9.7': + pulp_path: rocky/9.7/extras/x86_64/os + pulp_timestamp: 20251203T103807 + repo_file: rocky-extras extras-source: '8.10': pulp_path: rocky/8.10/extras/source/os @@ -191,6 +219,10 @@ dnf_repos_default: pulp_path: rocky/9.6/extras/source/os pulp_timestamp: 20250828T161842 repo_file: rocky-extras + '9.7': + pulp_path: rocky/9.7/extras/source/tree + pulp_timestamp: 20251203T103807 + repo_file: rocky-extras grafana: '8': pulp_path: grafana/oss/rpm From 7ef1045c4323c1785557cc3a7ad005aec9b49487 Mon Sep 17 00:00:00 2001 From: Eric Le Lay Date: Thu, 4 Dec 2025 15:04:48 +0100 Subject: [PATCH 5/7] doca: links to relnotes --- ansible/roles/doca/defaults/main.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ansible/roles/doca/defaults/main.yml b/ansible/roles/doca/defaults/main.yml index 7f28ef8b4..8b431642a 100644 --- a/ansible/roles/doca/defaults/main.yml +++ b/ansible/roles/doca/defaults/main.yml @@ -1,5 +1,9 @@ --- -doca_version: "2.9.3" # 2.9 is LTS, last to support ConnectX-4, 3 years for bug fixes and CVE updates +# 2.9 is LTS, last to support ConnectX-4, 3 years for bug fixes and CVE updates +# See https://docs.nvidia.com/doca/archive/2-9-3/changes+and+new+features/index.html +# Also note that DOCA 3.2.0 lists Connectx-4lx as supported so it might also work: +# https://docs.nvidia.com/doca/sdk/general-support/index.html#src-4413883949_id-.GeneralSupportv3.2.0LC-SupportedPlatformsandNICFirmwareVersions +doca_version: "2.9.3" doca_profile: doca-ofed doca_repo_url: "https://linux.mellanox.com/public/repo/doca/{{ doca_version }}/rhel{{ ansible_distribution_version }}/{{ ansible_architecture }}/" From 50165e90c6653b310150d00d26ef9d6ac3786fc1 Mon Sep 17 00:00:00 2001 From: Eric Le Lay Date: Thu, 4 Dec 2025 15:06:43 +0100 Subject: [PATCH 6/7] doca: fix repo url starting with 3.2.0 it only includes the major version: ie rhel9 not rhel9.7 --- ansible/roles/doca/defaults/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ansible/roles/doca/defaults/main.yml b/ansible/roles/doca/defaults/main.yml index 8b431642a..ae6c4e71a 100644 --- a/ansible/roles/doca/defaults/main.yml +++ b/ansible/roles/doca/defaults/main.yml @@ -6,4 +6,5 @@ # https://docs.nvidia.com/doca/sdk/general-support/index.html#src-4413883949_id-.GeneralSupportv3.2.0LC-SupportedPlatformsandNICFirmwareVersions doca_version: "2.9.3" doca_profile: doca-ofed -doca_repo_url: "https://linux.mellanox.com/public/repo/doca/{{ doca_version }}/rhel{{ ansible_distribution_version }}/{{ ansible_architecture }}/" +doca_distribution: "{{ doca_version is version('3.2.0', '>=') | ternary(ansible_distribution_major_version, ansible_distribution_version) }}" +doca_repo_url: "https://linux.mellanox.com/pulp/content/doca/{{ doca_version }}/rhel{{ doca_distribution }}/{{ ansible_architecture }}/" From 26876aaac0577fc7c97863837a23d33431070d79 Mon Sep 17 00:00:00 2001 From: Eric Le Lay Date: Thu, 4 Dec 2025 15:07:50 +0100 Subject: [PATCH 7/7] doca: use ark by default --- ansible/roles/doca/defaults/main.yml | 2 +- ansible/roles/doca/tasks/install.yml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ansible/roles/doca/defaults/main.yml b/ansible/roles/doca/defaults/main.yml index ae6c4e71a..893ed16a1 100644 --- a/ansible/roles/doca/defaults/main.yml +++ b/ansible/roles/doca/defaults/main.yml @@ -7,4 +7,4 @@ doca_version: "2.9.3" doca_profile: doca-ofed doca_distribution: "{{ doca_version is version('3.2.0', '>=') | ternary(ansible_distribution_major_version, ansible_distribution_version) }}" -doca_repo_url: "https://linux.mellanox.com/pulp/content/doca/{{ doca_version }}/rhel{{ doca_distribution }}/{{ ansible_architecture }}/" +doca_repo_url: "https://ark.stackhpc.com/pulp/content/doca/{{ doca_version }}/rhel{{ doca_distribution }}/{{ ansible_architecture }}/" diff --git a/ansible/roles/doca/tasks/install.yml b/ansible/roles/doca/tasks/install.yml index e21218ecb..07343d7ce 100644 --- a/ansible/roles/doca/tasks/install.yml +++ b/ansible/roles/doca/tasks/install.yml @@ -8,6 +8,8 @@ baseurl: "{{ doca_repo_url }}" enabled: true gpgcheck: false + username: "{{ dnf_repos_username }}" + password: "{{ dnf_repos_password }}" - name: Install doca-extra package ansible.builtin.dnf: