From b0163ef98709f11c60e41ea05ebee47ff9766fe5 Mon Sep 17 00:00:00 2001 From: Jafaruddin Lie <jafar.lie@monash.edu> Date: Tue, 5 Jun 2018 13:36:40 +1000 Subject: [PATCH] systemd script to make sure /dev/nvidia-* is created Former-commit-id: a8e46cef54ab622313078c82bae3ea49e1f5b33c --- .../systemd-nvidia-uvm/files/check-dev-uvm.sh | 7 +++++++ .../files/create-dev-uvm.service | 14 ++++++++++++++ .../systemd-nvidia-uvm/files/create-dev-uvm.sh | 4 ++++ roles/systemd-nvidia-uvm/tasks/main.yml | 18 ++++++++++++++++++ 4 files changed, 43 insertions(+) create mode 100644 roles/systemd-nvidia-uvm/files/check-dev-uvm.sh create mode 100644 roles/systemd-nvidia-uvm/files/create-dev-uvm.service create mode 100755 roles/systemd-nvidia-uvm/files/create-dev-uvm.sh create mode 100644 roles/systemd-nvidia-uvm/tasks/main.yml diff --git a/roles/systemd-nvidia-uvm/files/check-dev-uvm.sh b/roles/systemd-nvidia-uvm/files/check-dev-uvm.sh new file mode 100644 index 00000000..8f99da81 --- /dev/null +++ b/roles/systemd-nvidia-uvm/files/check-dev-uvm.sh @@ -0,0 +1,7 @@ +#!/bin/bash +echo "Checking nvidia devices" +if [ -f /dev/nvidia-uvm ]; then + echo "Device created" +else + echo "Device not created" +fi diff --git a/roles/systemd-nvidia-uvm/files/create-dev-uvm.service b/roles/systemd-nvidia-uvm/files/create-dev-uvm.service new file mode 100644 index 00000000..0b28eeea --- /dev/null +++ b/roles/systemd-nvidia-uvm/files/create-dev-uvm.service @@ -0,0 +1,14 @@ +[Unit] +Description=Check Nvidia UVM devices +After=lustre-client.service +Wants=lustre-client.service + +[Service] +Type=oneshot +ExecStart=/usr/local/sbin/create-dev-uvm.sh +RemainAfterExit=true +ExecStop=/usr/local/sbin/check-dev-uvm.sh +StandardOutput=journal + +[Install] +WantedBy=multi-user.target diff --git a/roles/systemd-nvidia-uvm/files/create-dev-uvm.sh b/roles/systemd-nvidia-uvm/files/create-dev-uvm.sh new file mode 100755 index 00000000..2a7db6cf --- /dev/null +++ b/roles/systemd-nvidia-uvm/files/create-dev-uvm.sh @@ -0,0 +1,4 @@ +#!/bin/bash +# This script is intended to be run via systemd during startup of visnodes to create NVidia UVM Devices + +LDFLAGS="-L/usr/local/cuda/8.0.61/lib64/stubs -L/usr/lib64 -L/usr/local/cuda/8.0.61/lib64 -L/usr/local/cuda/8.0.61/lib" /usr/local/cuda/8.0.61/samples/1_Utilities/deviceQuery/deviceQuery diff --git a/roles/systemd-nvidia-uvm/tasks/main.yml b/roles/systemd-nvidia-uvm/tasks/main.yml new file mode 100644 index 00000000..a03dec76 --- /dev/null +++ b/roles/systemd-nvidia-uvm/tasks/main.yml @@ -0,0 +1,18 @@ +--- +- name: Copy Files + become: true + become_user: root + copy: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + owner: root + mode: 755 + with_items: + - { src: 'create-dev-uvm.sh', dest: '/usr/local/sbin/' } + - { src: 'check-dev-uvm.sh', dest: '/usr/local/sbin/' } + - { src: 'create-dev-uvm.service', dest: '/etc/systemd/system/' } + +- name: Enable Service + become: true + become_user: root + systemd: state=started name=create-dev-uvm -- GitLab