gpu-vms: DHCP-Client-ID auf MAC, Docker-Runtime als Aufgabe, Zugang nach Neustart auffrischen
ci / test (push) Successful in 28s
ci / test (push) Successful in 28s
Nach dem Treiber-Neustart hatten gpu-pve44 und gpu-pve46 ihre DHCP-Adressen getauscht; die strenge Hostschlüssel-Prüfung hat den Lauf gestoppt. netplan nutzt jetzt die MAC als Client-ID (Voraussetzung für Reservierungen, D5). Der Handler für nvidia-ctk ist eine idempotente Aufgabe, vor dem Neustart werden Handler ausgeführt. scripts/refresh-vm-access.sh holt Adressen aus dem Agenten, schreibt das Inventar und trägt die Hostschlüssel ein. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
ba42ce3f9d
commit
23d6e36028
@@ -6,6 +6,19 @@
|
||||
|
||||
- name: GPU-VMs (Treiber gepinnt, Container-Toolkit, Docker, Xid-Exporter)
|
||||
hosts: gpu_vms
|
||||
pre_tasks:
|
||||
# DHCP-Client-ID = MAC statt DUID: sonst greifen Reservierungen über die MAC nicht und die
|
||||
# Adressen wechseln beim Neustart (12.10. beobachtet). Wirkt ab dem nächsten Neustart der VM.
|
||||
- name: DHCP-Client-ID auf MAC umstellen
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/netplan/99-knaster-dhcp-id.yaml
|
||||
content: |
|
||||
network:
|
||||
version: 2
|
||||
ethernets:
|
||||
eth0:
|
||||
dhcp-identifier: mac
|
||||
mode: "0600"
|
||||
roles: [docker-host, gpu-node]
|
||||
|
||||
- name: Infra-LXC (Docker)
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
- name: configure nvidia runtime
|
||||
ansible.builtin.command: nvidia-ctk runtime configure --runtime=docker
|
||||
notify: restart docker
|
||||
|
||||
- name: restart docker
|
||||
ansible.builtin.service:
|
||||
name: docker
|
||||
|
||||
@@ -30,12 +30,20 @@
|
||||
creates: /etc/apt/sources.list.d/nvidia-container-toolkit.list
|
||||
executable: /bin/bash
|
||||
|
||||
- name: Container-Toolkit installieren und für Docker konfigurieren
|
||||
- name: Container-Toolkit installieren
|
||||
ansible.builtin.apt:
|
||||
name: nvidia-container-toolkit
|
||||
state: present
|
||||
update_cache: true
|
||||
notify: configure nvidia runtime
|
||||
|
||||
# Als Aufgabe statt Handler: Ein Handler ging verloren, wenn der Lauf beim Neustart abbrach
|
||||
- name: NVIDIA-Runtime in Docker eintragen
|
||||
ansible.builtin.shell: |
|
||||
grep -q '"nvidia"' /etc/docker/daemon.json 2>/dev/null && exit 0
|
||||
nvidia-ctk runtime configure --runtime=docker && echo geändert
|
||||
register: nvidia_runtime
|
||||
changed_when: "'geändert' in nvidia_runtime.stdout"
|
||||
notify: restart docker
|
||||
|
||||
- name: Modell-Disk (scsi1) formatieren, falls leer (formatiert nie eine vorhandene Partition um)
|
||||
community.general.filesystem:
|
||||
@@ -79,6 +87,9 @@
|
||||
state: started
|
||||
daemon_reload: true
|
||||
|
||||
- name: Handler vor dem Neustart ausführen
|
||||
ansible.builtin.meta: flush_handlers
|
||||
|
||||
- name: Neustart nach Treiberinstallation
|
||||
ansible.builtin.reboot:
|
||||
when: driver.changed
|
||||
|
||||
Reference in New Issue
Block a user