From 2e2abbedac79742e447277a2e8528413c1b4beda Mon Sep 17 00:00:00 2001 From: Jan Matufka Date: Tue, 26 May 2026 10:31:59 +0200 Subject: [PATCH] nvidia-cdi: create a role Signed-off-by: Jan Matufka --- .../files/nvidia-cdi-generate.service | 11 +++++ roles/nvidia-cdi/handlers/main.yml | 4 ++ roles/nvidia-cdi/tasks/main.yml | 41 +++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 roles/nvidia-cdi/files/nvidia-cdi-generate.service create mode 100644 roles/nvidia-cdi/handlers/main.yml create mode 100644 roles/nvidia-cdi/tasks/main.yml diff --git a/roles/nvidia-cdi/files/nvidia-cdi-generate.service b/roles/nvidia-cdi/files/nvidia-cdi-generate.service new file mode 100644 index 0000000000..e159d4e24c --- /dev/null +++ b/roles/nvidia-cdi/files/nvidia-cdi-generate.service @@ -0,0 +1,11 @@ +[Unit] +Description=Generate Nvidia CDI configuration +Before=logdetective.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/roles/nvidia-cdi/handlers/main.yml b/roles/nvidia-cdi/handlers/main.yml new file mode 100644 index 0000000000..c28484f735 --- /dev/null +++ b/roles/nvidia-cdi/handlers/main.yml @@ -0,0 +1,4 @@ +--- +- name: Reload systemd + ansible.builtin.systemd: + daemon_reload: true diff --git a/roles/nvidia-cdi/tasks/main.yml b/roles/nvidia-cdi/tasks/main.yml new file mode 100644 index 0000000000..eeaa849c57 --- /dev/null +++ b/roles/nvidia-cdi/tasks/main.yml @@ -0,0 +1,41 @@ +--- +- name: Add nvidia-container-toolkit repo + ansible.builtin.get_url: + url: https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo + dest: /etc/yum.repos.d/nvidia-container-toolkit.repo + mode: "0644" + tags: + - packages + +- name: Install nvidia-container-toolkit + ansible.builtin.package: + name: nvidia-container-toolkit + tags: + - packages + +- name: Ensure /etc/cdi directory exists + ansible.builtin.file: + path: /etc/cdi + state: directory + owner: root + group: root + mode: "0755" + +- name: Install nvidia-cdi-generate systemd service + ansible.builtin.copy: + src: nvidia-cdi-generate.service + dest: /etc/systemd/system/nvidia-cdi-generate.service + owner: root + group: root + mode: "0644" + notify: + - Reload systemd + tags: + - config + +- name: Enable and start nvidia-cdi-generate service + ansible.builtin.systemd: + name: nvidia-cdi-generate.service + enabled: true + state: started + daemon_reload: true