Skip to content

Commit 972c7a8

Browse files
committed
Clarify legacy OS support matrix
1 parent ab5f1e9 commit 972c7a8

7 files changed

Lines changed: 32 additions & 44 deletions

File tree

README.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,20 +36,22 @@ It is recommended to use the latest release branch for stable code (linked above
3636

3737
### Provisioning System
3838

39-
The provisioning system is used to orchestrate the running of all playbooks and one will be needed when instantiating Kubernetes or Slurm clusters. Supported operating systems which are tested and supported include:
39+
The provisioning system is used to orchestrate the running of all playbooks and one will be needed when instantiating Kubernetes or Slurm clusters. Current release validation focuses on:
4040

41-
- NVIDIA DGX OS 4, 5, 6, 7
42-
- Ubuntu 18.04 LTS, 20.04, 22.04 LTS, 24.04 LTS
43-
- CentOS 7, 8
41+
- Ubuntu 22.04 LTS and 24.04 LTS
42+
- NVIDIA DGX OS 6 and 7
43+
44+
DeepOps still retains legacy/community-maintained paths for older environments such as DGX OS 4/5, Ubuntu 18.04/20.04, and CentOS 7/8. Treat those paths as compatibility references unless your site validates them for the release you deploy.
4445

4546
### Cluster System
4647

47-
The cluster nodes will follow the requirements described by Slurm or Kubernetes. You may also use a cluster node as a provisioning system but it is not required.
48+
The cluster nodes will follow the requirements described by Slurm or Kubernetes. You may also use a cluster node as a provisioning system but it is not required. Current release validation focuses on:
49+
50+
- Ubuntu 22.04 LTS and 24.04 LTS for generic Kubernetes and Slurm deployments
51+
- NVIDIA DGX OS 6 and 7 for DGX systems
52+
- Red Hat Enterprise Linux / Rocky Linux 8 and 9 for DGX platform software installation through the `nvidia-dgx` role
4853

49-
- NVIDIA DGX OS 4, 5, 6, 7
50-
- Ubuntu 18.04 LTS, 20.04, 22.04 LTS, 24.04 LTS
51-
- CentOS 7, 8
52-
- Red Hat Enterprise Linux / Rocky Linux 8 and 9 for the DGX software stack through the `nvidia-dgx` role
54+
DeepOps still retains legacy/community-maintained paths for older environments such as DGX OS 4/5, Ubuntu 18.04/20.04, CentOS 7/8, and the historical DGX EL7 stack. Treat those paths as compatibility references unless your site validates them for the release you deploy.
5355

5456
You may also install a supported operating system on all servers via a 3rd-party solution such as [MAAS](https://maas.io/) or [Foreman](https://www.theforeman.org/), or via an existing site-standard automated installer.
5557
For new Ubuntu 24.04 or DGX OS 7 deployments, prefer Ubuntu autoinstall/cloud-init or MAAS and then apply DeepOps roles after the OS is present.

docs/deepops/testing.md

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -48,16 +48,16 @@ If a change requires GPU-backed validation, document the validation environment
4848

4949
A short description of the historical Jenkins test matrix is outlined below. The full suite of legacy jobs can be reviewed in the [jenkins](../../workloads/jenkins) directory. These rows are not a promise of current public CI coverage; check the pull request's GitHub Actions and validation notes for current status.
5050

51-
**Legacy Jenkins Testing Matrix**
51+
**Validation Matrix**
5252

5353
| Test | [PR](../../workloads/jenkins/Jenkinsfile) | [Nightly](../../workloads/jenkins/Jenkinsfile-nightly) | [Nightly Multi-node](../../workloads/jenkins/Jenkinsfile-multi-nightly) | Comments |
5454
| --------------------------------------------------- | ----------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------- | ------------------------------------ |
55-
| Ubuntu 18.04 | x | x | x | |
56-
| Ubuntu 20.04 | | x | x | |
55+
| Ubuntu 18.04 | x | x | x | Legacy Jenkins/Vagrant reference only |
56+
| Ubuntu 20.04 | | x | x | Legacy Jenkins/Vagrant reference only |
5757
| Ubuntu 22.04 | | | | setup.sh and Molecule GitHub Actions |
5858
| Ubuntu 24.04 | | | | setup.sh and Molecule GitHub Actions |
59-
| CentOS 7 | | x | x | |
60-
| CentOS | | | x | |
59+
| CentOS 7 | | x | x | Legacy Jenkins/Vagrant reference only |
60+
| CentOS 8 | | | x | Legacy Jenkins/Vagrant reference only |
6161
| DGX OS | | | | Syntax-checked only; full validation requires DGX hardware |
6262
| RHEL | | | | DGX software-stack role syntax-checked only; full validation requires DGX hardware and subscriptions |
6363
| 1 mgmt node | x | x | | |
@@ -123,30 +123,19 @@ molecule init scenario -r <your-role> --driver-name docker
123123
```
124124

125125
4. In the file `molecule/default/molecule.yml`, define the list of platforms to be tested.
126-
DeepOps currently supports operating systems based on Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04, EL7, and EL8.
127-
The DGX software stack role also supports Red Hat Enterprise Linux / Rocky Linux 8 and 9 for DGX platform software installation.
128-
To test these stacks, the following `platforms` stanza can be used.
126+
DeepOps currently uses Ubuntu 22.04 and Ubuntu 24.04 for setup and Molecule GitHub Actions.
127+
Add Red Hat family images only for roles that explicitly support them, and validate the image choice for that role.
128+
Keep Ubuntu 18.04, Ubuntu 20.04, CentOS 7, and CentOS 8 scenarios in separately named legacy test scenarios when maintaining older compatibility paths.
129+
To test the current Ubuntu stacks, the following `platforms` stanza can be used.
129130

130131
```yaml
131132
platforms:
132-
- name: ubuntu-1804
133-
image: geerlingguy/docker-ubuntu1804-ansible
134-
pre_build_image: true
135-
- name: ubuntu-2004
136-
image: geerlingguy/docker-ubuntu2004-ansible
137-
pre_build_image: true
138133
- name: ubuntu-2204
139134
image: geerlingguy/docker-ubuntu2204-ansible
140135
pre_build_image: true
141136
- name: ubuntu-2404
142137
image: geerlingguy/docker-ubuntu2404-ansible
143138
pre_build_image: true
144-
- name: centos-7
145-
image: geerlingguy/docker-centos7-ansible
146-
pre_build_image: true
147-
- name: centos-8
148-
image: geerlingguy/docker-centos8-ansible
149-
pre_build_image: true
150139
```
151140
152141
5. If you haven't already, define your role's metadata in the file `meta/main.yml`.

docs/ngc-ready/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ These instructions assume the following:
1414

1515
- You have a NGC-Ready server. To determine if your server is NGC-Ready, please review the list of validated servers at the NGC-Ready Server documentation page - https://docs.nvidia.com/certification-programs/ngc-ready-systems/index.html
1616
- Your NGC-Ready Server has a compatible Linux distribution installed:
17-
- Ubuntu Server 20.04 LTS
1817
- Ubuntu Server 22.04 LTS
1918
- Ubuntu Server 24.04 LTS
20-
- CentOS 7
19+
- Red Hat Enterprise Linux / Rocky Linux 8 or 9 when the referenced roles are validated for your server
20+
21+
Legacy Ubuntu 20.04 and CentOS 7 environments may still work for existing deployments, but they are not current release validation targets.
2122

2223
## Setup
2324

@@ -41,7 +42,7 @@ This process will install the latest NVIDIA GPU Drivers, and Docker with the NVI
4142
# <ip-of-host>: IP of NGC-Ready server, or localhost. The trailing comma is required
4243
# If SSH requires a password, add: -k
4344
# If sudo requires a password, add: -K
44-
ansible-playbook -u <ssh-user> -i <ip-of-host>, playbooks/ngc-ready.yml
45+
ansible-playbook -u <ssh-user> -i <ip-of-host>, playbooks/ngc-ready-server.yml
4546
```
4647

4748
## Testing
@@ -55,5 +56,5 @@ This process will test the functionality of the NGC-Ready server by running a fu
5556
# <ip-of-host>: IP of NGC-Ready server, or localhost. The trailing comma is required
5657
# If SSH requires a password, add: -k
5758
# If sudo requires a password, add: -K
58-
ansible-playbook -u <ssh-user> -i <ip-of-host>, playbooks/ngc-ready.yml --tags test
59+
ansible-playbook -u <ssh-user> -i <ip-of-host>, playbooks/ngc-ready-server.yml --tags test
5960
```

docs/slurm-cluster/slurm-single-node.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Single Node Slurm Deployment Guide
1515

1616
## Introduction
1717

18-
The general requirements and procedure for Slurm setup via deepops is documented in the [README.md](README.md) for the slurm-cluster. The instructions below outline the steps to deviate from the general setup to enable single node DeepOps Slurm setup. The machine on which Slurm is being deployed should be up to date in a stable state with GPU drivers already installed and functional. The supported operating systems are Ubuntu 18.04, 20.04, 22.04, and 24.04; CentOS 7 and 8; and RHEL 7 and 8, with RHEL 8 preferred among the RHEL paths.
18+
The general requirements and procedure for Slurm setup via deepops is documented in the [README.md](README.md) for the slurm-cluster. The instructions below outline the steps to deviate from the general setup to enable single node DeepOps Slurm setup. The machine on which Slurm is being deployed should be up to date in a stable state with GPU drivers already installed and functional. Current release validation should target Ubuntu 22.04 or Ubuntu 24.04. Older Ubuntu, CentOS, and RHEL paths are historical compatibility references and should be validated locally before use.
1919

2020
## Deployment Procedure
2121

playbooks/bootstrap/bootstrap-python.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@
3535
state: present
3636
when: ansible_python.version.major == 3
3737

38-
- name: install epel on EL7
38+
- name: legacy EL7 - install epel
3939
package:
4040
name: epel-release
4141
state: present
4242
when: (ansible_python.version.major == 2) and (ansible_os_family == "RedHat") and (ansible_distribution_major_version == "7")
4343

44-
- name: install python 2 libraries on EL7
44+
- name: legacy EL7 - install python 2 libraries
4545
package:
4646
name:
4747
- python-setuptools

roles/singularity_wrapper/tasks/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
- name: centos 8 - ensure powertools installed
2+
- name: legacy CentOS 8 - ensure powertools installed
33
block:
44
- name: ensure prereq packages installed
55
yum:

virtual/README.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,9 @@ If deploying kubeflow or another resource-intensive application in this environm
2323

2424
### Operating System Requirements
2525

26-
* Ubuntu 18.04 (or greater)
27-
* CentOS 7.6 (or greater)
26+
Running DeepOps virtually assumes that the host machine's OS is suitable for Vagrant, libvirt, and any optional GPU passthrough configuration. Ubuntu 22.04 LTS is the preferred host path for this legacy lab workflow.
2827

29-
Running DeepOps virtually assumes that the host machine's OS is an approved OS. If this is not the case, the scripts used in the steps below may be modified to work with a different OS.
30-
31-
The Vagrantfiles currently cover Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, CentOS 7, and CentOS 8. The startup script defaults to Ubuntu 20.04. Newer operating systems should be validated on real target systems unless the Vagrantfiles have been refreshed and tested for that release.
28+
The Vagrantfiles currently cover Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, CentOS 7, and CentOS 8. The startup script defaults to Ubuntu 20.04. Treat these Vagrantfiles as legacy/community-supported lab references; validate current release work on real target systems unless the Vagrantfiles have been refreshed and tested for that release.
3229

3330
Also, using VMs and optionally GPU passthrough assumes that the host machine has been configured to enable virtualization in the BIOS. For instructions on how to accomplish this, refer to the sections at the bottom of this README: [Enabling virtualization and GPU passthrough](#enabling-virtualization-and-gpu-passthrough).
3431

@@ -163,7 +160,7 @@ The default Vagrantfiles create VMs that are very minimal in terms of resources
163160

164161
### Specify the cluster Operating System
165162

166-
By default, all virtual nodes deploy with Ubuntu 20.04. This can be changed by overriding the environment variables `DEEPOPS_VAGRANT_OS` and `DEEPOPS_OS_VERSION`. Available Vagrantfiles include Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, CentOS 7, and CentOS 8.
163+
By default, all virtual nodes deploy with Ubuntu 20.04. This can be changed by overriding the environment variables `DEEPOPS_VAGRANT_OS` and `DEEPOPS_OS_VERSION`. Available Vagrantfiles include Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, CentOS 7, and CentOS 8. These operating system choices are maintained as legacy lab fixtures, not as release validation targets.
167164

168165
```sh
169166
export DEEPOPS_VAGRANT_OS=centos
@@ -358,4 +355,3 @@ $ lspci -nnk -d 10de:1db1
358355
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia_vgpu_vfio, nvidia
359356
```
360357

361-

0 commit comments

Comments
 (0)