Files
infrastructure/llm-server/encoding/ansible/README.md
T
spektr ba7d829410 Encoding: Ansible-Projekt und Grundzustand für gn-encoding eingerichtet und verifiziert.
llm-server/encoding/ansible/ verwaltet mit video-encoding.yml und der Rolle
video_encoding den CPU-Only-Grundzustand des gesperrten Kontos gn-encoding
(UID/GID 982): Konto-Identität und Passwortsperre, subordinate ID-Bereiche,
Verzeichnisstruktur, Quadlet-Verzeichnis, Linger, getrennter rootless
Podman-Store sowie verwehrter GPU-Zugriff (keine render/video-Gruppe, kein
Lesezugriff auf /dev/kfd oder DRM-Render-Nodes). Ohne beschlossene
Encoder-Entscheidungen stellt die Rolle sicher, dass kein Workload definiert
ist. Check-Mode und zwei Läufe auf ghostnet-ki: jeweils ok=30 changed=0
failed=0. Preflight, host.yml (2x ok=55 changed=0) und ROCm-Probe
(ok=33 changed=0) nach der Projekt-Aufteilung erneut bestanden.
GNENC-000/001, GNAI-000 und GNAI-013 aktualisiert.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-10-19 14:42:14 +02:00

47 lines
1.8 KiB
Markdown

# Video encoding Ansible control project
This directory contains the reproducible control project for the CPU-based
video encoding workload on `ghostnet-ki`. It belongs to the `encoding/` task
area of the LLM-Server host root; the shared host baseline lives in
[`../../host/ansible/`](../../host/ansible/README.md) and must be applied first.
`playbooks/video-encoding.yml` applies the `video_encoding` role: it verifies
the locked `gn-encoding` account, enforces CPU-only device isolation, manages
the encoding directories and proves the separate rootless Podman store. No
encoder image, Quadlet, timer or schedule is defined yet; those are open
decisions in
[`../../../docs/platform/llm-server/encoding/`](../../../docs/platform/llm-server/encoding/GNENC-000-DOC_Index.md).
## Control-node setup
Use the shared virtual environment at the repository root (see
[`../../host/ansible/README.md`](../../host/ansible/README.md)). The
`ansible-deploy` private key stays outside this repository:
`~/.ssh/id_ed25519_ghostnet_ai_ansible_deploy`.
## Apply and verify
Run the commands from this directory:
```bash
cd llm-server/encoding/ansible
../../../.venv/bin/ansible-playbook \
--inventory inventories/host/hosts.yml \
playbooks/video-encoding.yml \
--syntax-check
../../../.venv/bin/ansible-playbook \
--inventory inventories/host/hosts.yml \
playbooks/video-encoding.yml \
--check --diff \
--private-key ~/.ssh/id_ed25519_ghostnet_ai_ansible_deploy
../../../.venv/bin/ansible-playbook \
--inventory inventories/host/hosts.yml \
playbooks/video-encoding.yml \
--private-key ~/.ssh/id_ed25519_ghostnet_ai_ansible_deploy
```
Run the final command a second time. The second recap must report `changed=0`
and `failed=0`; otherwise the role has not demonstrated convergence.