Skip to content

Commit 975337f

Browse files
authored
Merge pull request #1347 from NVIDIA/dholt/ubuntu-24-doc-refresh
Add Ubuntu 24.04 NVIDIA Container Toolkit path
2 parents e6553c4 + 40d707f commit 975337f

9 files changed

Lines changed: 213 additions & 55 deletions

File tree

docs/airgap/mirror-apt-repos.md

Lines changed: 58 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Set up offline repositoriy mirrors for Aptitude
1515
- [NVIDIA CUDA repository](#nvidia-cuda-repository)
1616
- [APT Configuration](#apt-configuration-1)
1717
- [GPG Key Validation](#gpg-key-validation-1)
18-
- [nvidia-docker](#nvidia-docker)
18+
- [NVIDIA Container Toolkit](#nvidia-container-toolkit)
1919
- [APT Configuration](#apt-configuration-2)
2020
- [GPG Key Validation](#gpg-key-validation-2)
2121
- [Additional DEB packages](#additional-deb-packages)
@@ -57,7 +57,7 @@ deb http://archive.ubuntu.com/ubuntu/ <release-name>-updates main multiverse uni
5757
```
5858

5959
where `<release-name>` is the name of the Ubuntu release you want to mirror.
60-
This is `bionic` for Ubuntu 18.04, and `focal` for Ubuntu 20.04.
60+
This is `bionic` for Ubuntu 18.04, `focal` for Ubuntu 20.04, `jammy` for Ubuntu 22.04, and `noble` for Ubuntu 24.04.
6161

6262
### Docker repository
6363

@@ -74,7 +74,7 @@ https://download.docker.com/linux/ubuntu/gpg
7474
```
7575

7676
where `<release-name>` is the name of the Ubuntu release you want to mirror.
77-
This is `bionic` for Ubuntu 18.04, and `focal` for Ubuntu 20.04.
77+
This is `bionic` for Ubuntu 18.04, `focal` for Ubuntu 20.04, `jammy` for Ubuntu 22.04, and `noble` for Ubuntu 24.04.
7878

7979
### NVIDIA CUDA repository
8080

@@ -92,6 +92,18 @@ deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804
9292
deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004
9393
```
9494

95+
**Ubuntu 22.04**
96+
97+
```bash
98+
deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 /
99+
```
100+
101+
**Ubuntu 24.04**
102+
103+
```bash
104+
deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64 /
105+
```
106+
95107
#### GPG Key Validation
96108

97109
**Ubuntu 18.04**
@@ -106,30 +118,30 @@ https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2a
106118
https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
107119
```
108120

109-
### nvidia-docker
121+
**Ubuntu 22.04**
110122

111-
#### APT Configuration
123+
```bash
124+
https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub
125+
```
112126

113-
**Ubuntu 18.04**
127+
**Ubuntu 24.04**
114128

115129
```bash
116-
deb https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/$(ARCH) /
117-
deb https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/$(ARCH) /
118-
deb https://nvidia.github.io/nvidia-docker/ubuntu18.04/$(ARCH)
130+
https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/3bf863cc.pub
119131
```
120132

121-
**Ubuntu 20.04**
133+
### NVIDIA Container Toolkit
134+
135+
#### APT Configuration
122136

123137
```bash
124-
deb https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/$(ARCH) /
125-
deb https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/$(ARCH) /
126-
deb https://nvidia.github.io/nvidia-docker/ubuntu18.04/$(ARCH)
138+
deb https://nvidia.github.io/libnvidia-container/stable/deb/$(ARCH) /
127139
```
128140

129141
#### GPG Key Validation
130142

131143
```bash
132-
https://nvidia.github.io/nvidia-docker/gpgkey
144+
https://nvidia.github.io/libnvidia-container/gpgkey
133145
```
134146

135147
### Additional DEB packages
@@ -161,7 +173,7 @@ After installing `apt-mirror`, edit the `/etc/apt/mirror.list` file make the fol
161173
- Set the `base_path` to the desired download path for your mirror (here, `/var/repos`)
162174
- Add a list of APT configuration lines for each repo you wish to mirror
163175

164-
For example, if we just want to mirror the Docker and NVIDIA Docker repositories, this configuration would work:
176+
For example, if we just want to mirror the Docker and NVIDIA Container Toolkit repositories, this configuration would work:
165177

166178
```
167179
############# config ##################
@@ -172,11 +184,11 @@ set _tilde 0
172184
#
173185
############# end config ##############
174186
175-
deb https://download.docker.com/linux/ubuntu bionic stable
176-
deb https://nvidia.github.io/nvidia-docker/ubuntu20.04/amd64 /
187+
deb https://download.docker.com/linux/ubuntu noble stable
188+
deb https://nvidia.github.io/libnvidia-container/stable/deb/amd64 /
177189
```
178190

179-
The full mirror.list file for Deepops:
191+
The full mirror.list file for DeepOps:
180192

181193
```
182194
############# config ##################
@@ -195,29 +207,27 @@ set _tilde 0
195207
#
196208
############# end config ##############
197209
198-
deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
199-
deb http://archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse
200-
deb http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
201-
deb http://archive.ubuntu.com/ubuntu focal-proposed main restricted universe multiverse
202-
deb http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
203-
deb http://ppa.launchpad.net/maas/2.9/ubuntu focal main
204-
deb http://archive.canonical.com/ubuntu focal partner
210+
deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse
211+
deb http://archive.ubuntu.com/ubuntu noble-security main restricted universe multiverse
212+
deb http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse
213+
deb http://archive.ubuntu.com/ubuntu noble-proposed main restricted universe multiverse
214+
deb http://archive.ubuntu.com/ubuntu noble-backports main restricted universe multiverse
215+
deb http://ppa.launchpad.net/maas/3.5/ubuntu noble main
216+
deb http://archive.canonical.com/ubuntu noble partner
205217
206-
deb-src http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
207-
deb-src http://archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse
208-
deb-src http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
209-
deb-src http://archive.ubuntu.com/ubuntu focal-proposed main restricted universe multiverse
210-
deb-src http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
218+
deb-src http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse
219+
deb-src http://archive.ubuntu.com/ubuntu noble-security main restricted universe multiverse
220+
deb-src http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse
221+
deb-src http://archive.ubuntu.com/ubuntu noble-proposed main restricted universe multiverse
222+
deb-src http://archive.ubuntu.com/ubuntu noble-backports main restricted universe multiverse
211223
212-
deb https://download.docker.com/linux/ubuntu focal stable
213-
deb https://nvidia.github.io/nvidia-docker/ubuntu20.04/amd64 /
214-
deb https://nvidia.github.io/libnvidia-container/stable/ubuntu20.04/amd64 /
215-
deb https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu20.04/amd64 /
224+
deb https://download.docker.com/linux/ubuntu noble stable
225+
deb https://nvidia.github.io/libnvidia-container/stable/deb/amd64 /
216226
217-
deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 /
227+
deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64 /
218228
219-
deb http://repo.download.nvidia.com/baseos/ubuntu/focal/x86_64/ focal common dgx
220-
deb http://repo.download.nvidia.com/baseos/ubuntu/focal/x86_64/ focal-updates common dgx
229+
deb http://repo.download.nvidia.com/baseos/ubuntu/noble/x86_64/ noble common dgx
230+
deb http://repo.download.nvidia.com/baseos/ubuntu/noble/x86_64/ noble-updates common dgx
221231
222232
clean http://archive.ubuntu.com/ubuntu
223233
clean https://download.docker.com
@@ -266,10 +276,10 @@ sudo mkdir /var/www/html/repos
266276

267277
Then, from the extracted mirror directory,
268278
copy the directories for each repository into the web root.
269-
For example, assuming the extracted mirror directory is `/var/repos` and the repository is `nvidia-docker`:
279+
For example, assuming the extracted mirror directory is `/var/repos` and the repository is `libnvidia-container`:
270280

271281
```bash
272-
sudo cp -r /var/repos/mirror/nvidia.github.com/nvidia-docker/ /var/www/html/repos/nvidia-docker/
282+
sudo cp -r /var/repos/mirror/nvidia.github.io/libnvidia-container/ /var/www/html/repos/libnvidia-container/
273283
```
274284

275285
At this point, the downloaded package repositories should be available on your offline network via the package server.
@@ -278,29 +288,27 @@ You can then add these downloaded repos to the `/etc/apt/sources.list` configura
278288
Line added to `/etc/apt/sources.list`:
279289

280290
```
281-
deb http://repo-server/ubuntu focal main restricted universe multiverse
282-
deb http://repo-server/ubuntu focal-updates main restricted universe multiverse
283-
deb http://repo-server/ubuntu focal-backports main restricted universe multiverse
284-
deb http://repo-server/ubuntu focal-security main restricted universe multiverse
291+
deb http://repo-server/ubuntu noble main restricted universe multiverse
292+
deb http://repo-server/ubuntu noble-updates main restricted universe multiverse
293+
deb http://repo-server/ubuntu noble-backports main restricted universe multiverse
294+
deb http://repo-server/ubuntu noble-security main restricted universe multiverse
285295
```
286296

287297
Lines added to `/etc/apt/sources.list.d/dgx.list`:
288298

289299
```
290-
deb http://repo-server/baseos/ubuntu/focal/x86_64/ focal common dgx
291-
deb http://repo-server/baseos/ubuntu/focal/x86_64/ focal-updates common dgx
300+
deb http://repo-server/baseos/ubuntu/noble/x86_64/ noble common dgx
301+
deb http://repo-server/baseos/ubuntu/noble/x86_64/ noble-updates common dgx
292302
```
293303

294304
Lines added to `/etc/apt/sources.list.d/cuda-compute-repo.list`:
295305

296306
```
297-
deb http://repo-server/cuda/repos/ubuntu2004/x86_64/ /
307+
deb http://repo-server/cuda/repos/ubuntu2404/x86_64/ /
298308
```
299309

300-
Lines add to `/etc/apt/sources.list.d/nvidia-docker.list`:
310+
Lines add to `/etc/apt/sources.list.d/nvidia-container-toolkit.list`:
301311

302312
```
303-
deb [trusted=yes] http://repo-server/libnvidia-container/stable/ubuntu20.04/amd64 /
304-
deb [trusted=yes] http://repo-server/nvidia-container-runtime/stable/ubuntu20.04/amd64 /
305-
deb [trusted=yes] http://repo-server/nvidia-docker/ubuntu20.04/amd64 /
313+
deb [trusted=yes] http://repo-server/libnvidia-container/stable/deb/amd64 /
306314
```

docs/airgap/ngc-ready.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ The following Apt repositories will need to be mirrored in the offline environme
2424

2525
- Ubuntu distribution repositories
2626
- Docker CE repository
27-
- nvidia-docker repositories
27+
- NVIDIA container runtime repositories
2828

2929
For instructions on mirroring these repositories, see the [doc on Apt mirrors](./mirror-apt-repos.md).
3030

@@ -49,7 +49,7 @@ The following RPM repositories will need to be mirrored in the offline environme
4949

5050
- Enterprise Linux distribution repositories (RHEL or CentOS, depending on your distro)
5151
- Docker CE repository
52-
- nvidia-docker repositories
52+
- NVIDIA container runtime repositories
5353

5454
For instructions on mirroring these repositories, see the [doc on RPM mirrors](./mirror-rpm-repos.md).
5555

@@ -123,7 +123,7 @@ In all cases, you should edit the URLs appropriately to ensure they can download
123123

124124
### Configure DeepOps to use your mirrors for non-distribution package repositories
125125

126-
The NGC-Ready playbook depends on the Docker CE and nvidia-docker package repositories.
126+
The NGC-Ready playbook depends on the Docker CE and NVIDIA container runtime package repositories.
127127
DeepOps sets up these repositories automatically during the installation.
128128

129129
To configure alternate URLs for these repositories, set the following variables in your DeepOps configuration:

docs/deepops/testing.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ A short description of the nightly testing is outlined below. The full suit of t
5151
| --------------------------------------------------- | ----------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------- | ------------------------------------ |
5252
| Ubuntu 18.04 | x | x | x | |
5353
| Ubuntu 20.04 | | x | x | |
54+
| Ubuntu 22.04 | | | | setup.sh and Molecule GitHub Actions |
55+
| Ubuntu 24.04 | | | | setup.sh and Molecule GitHub Actions |
5456
| CentOS 7 | | x | x | |
5557
| CentOS | | | x | |
5658
| DGX OS | | | | Syntax-checked only; full validation requires DGX hardware |
@@ -118,7 +120,8 @@ molecule init scenario -r <your-role> --driver-name docker
118120
```
119121

120122
4. In the file `molecule/default/molecule.yml`, define the list of platforms to be tested.
121-
DeepOps currently supports operating systems based on Ubuntu 18.04, Ubuntu 20.04, EL7, and EL8.
123+
DeepOps currently supports operating systems based on Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04, EL7, and EL8.
124+
The DGX software stack role also supports Red Hat Enterprise Linux / Rocky Linux 8 and 9 for DGX platform software installation.
122125
To test these stacks, the following `platforms` stanza can be used.
123126

124127
```yaml
@@ -129,6 +132,12 @@ platforms:
129132
- name: ubuntu-2004
130133
image: geerlingguy/docker-ubuntu2004-ansible
131134
pre_build_image: true
135+
- name: ubuntu-2204
136+
image: geerlingguy/docker-ubuntu2204-ansible
137+
pre_build_image: true
138+
- name: ubuntu-2404
139+
image: geerlingguy/docker-ubuntu2404-ansible
140+
pre_build_image: true
132141
- name: centos-7
133142
image: geerlingguy/docker-centos7-ansible
134143
pre_build_image: true

docs/ngc-ready/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ These instructions assume the following:
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:
1717
- Ubuntu Server 20.04 LTS
18+
- Ubuntu Server 22.04 LTS
19+
- Ubuntu Server 24.04 LTS
1820
- CentOS 7
1921

2022
## Setup

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 (version 18 and 20), CentOS and RHEL (version 7 and 8 albeit version 8 is preferred).
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.
1919

2020
## Deployment Procedure
2121

playbooks/container/nvidia-docker.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,19 @@
1616
state: absent
1717
when: docker_install | default('yes')
1818

19+
- name: install NVIDIA Container Toolkit on Ubuntu 24.04 and newer
20+
include_role:
21+
name: nvidia_container_toolkit
22+
when:
23+
- ansible_local['gpus']['count'] and ansible_distribution == "Ubuntu"
24+
- ansible_distribution_version is version('24.04', '>=')
25+
- docker_install | default('yes')
26+
1927
- name: install nvidia-docker
2028
include_role:
2129
name: nvidia.nvidia_docker
2230
when:
2331
- ansible_local['gpus']['count'] and (ansible_distribution == "Ubuntu" or ansible_os_family == "RedHat")
32+
- not (ansible_distribution == "Ubuntu" and ansible_distribution_version is version('24.04', '>='))
2433
- docker_install | default('yes')
2534
environment: "{{ proxy_env if proxy_env is defined else {} }}"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
nvidia_container_toolkit_repo_base_url: "https://nvidia.github.io/libnvidia-container"
3+
nvidia_container_toolkit_repo_gpg_url: "{{ nvidia_container_toolkit_repo_base_url }}/gpgkey"
4+
nvidia_container_toolkit_keyring_ascii_path: "/usr/share/keyrings/nvidia-container-toolkit-keyring.asc"
5+
nvidia_container_toolkit_keyring_path: "/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg"
6+
nvidia_container_toolkit_apt_source_path: "/etc/apt/sources.list.d/nvidia-container-toolkit.list"
7+
nvidia_container_toolkit_package: "nvidia-container-toolkit"
8+
nvidia_container_toolkit_configure_docker: true
9+
nvidia_container_toolkit_set_as_default_runtime: true
10+
nvidia_container_toolkit_restart_docker: true
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
- name: restart docker
3+
ansible.builtin.service:
4+
name: docker
5+
state: restarted
6+
when: nvidia_container_toolkit_restart_docker | bool

0 commit comments

Comments
 (0)