Wiki workshop · Γερμανικά

Troubleshooting: Ansible

Diese Troubleshooting-Referenz ordnet typische Fehlerbilder nach Quelle: Konfiguration, Inventory, Verbindung, Python, Rechte, Variablen, Module, Idempotenz, Vault, Collections und CI.

Παραδείγματα workshop σε ZIP
Πρόοδος μάθησης στη web app

Σημειώστε κεφάλαια ως αναγνωσμένα, δείτε την πρόοδο ανάγνωσης και ολοκληρώστε πρακτικές ενότητες αφού ενεργοποιήσετε την προαιρετική web app. Η πρόοδος του workshop υπολογίζεται από τα κεφάλαια όλων των σελίδων τεκμηρίωσης. Οι επιλογές μένουν σε αυτή τη συσκευή· δεν υπάρχει λογαριασμός ή συγχρονισμός με server. Δεν απαιτείται εγκατάσταση. Η ανάκληση στις Ρυθμίσεις απορρήτου διαγράφει την πρόοδο.

Πρόοδος ανάγνωσης0%
0%
0 / 19 κεφάλαια που διαβάστηκαν
Άλλη γλωσσική έκδοσηΑγγλικά ↗Ελληνικά ↗

Troubleshooting: Ansible

Stand: 15. Juli 2026

Diese Troubleshooting-Referenz ordnet typische Fehlerbilder nach Quelle: Konfiguration, Inventory, Verbindung, Python, Rechte, Variablen, Module, Idempotenz, Vault, Collections und CI.


1. Diagnosefolge

Vertiefung und Abgabebeispiel zu Diagnosefolge

Eine vollständige Bearbeitung von Diagnosefolge besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Diagnosefolge

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Diagnosefolge

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Diagnosefolge zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Diagnosefolge

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Diagnosefolge immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Diagnosefolge

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Diagnosefolge

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Diagnosefolge

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Diagnosefolge

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Diagnosefolge ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

01 / 19

2. Ansible wird nicht gefunden

Vertiefung und Abgabebeispiel zu Ansible wird nicht gefunden

Eine vollständige Bearbeitung von Ansible wird nicht gefunden besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Ansible wird nicht gefunden

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Ansible wird nicht gefunden

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Ansible wird nicht gefunden zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Ansible wird nicht gefunden

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Ansible wird nicht gefunden immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Ansible wird nicht gefunden

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Ansible wird nicht gefunden

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Ansible wird nicht gefunden

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Ansible wird nicht gefunden

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Ansible wird nicht gefunden ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

02 / 19

3. Falsche Konfiguration

Vertiefung und Abgabebeispiel zu Falsche Konfiguration

Eine vollständige Bearbeitung von Falsche Konfiguration besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Falsche Konfiguration

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Falsche Konfiguration

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Falsche Konfiguration zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Falsche Konfiguration

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Falsche Konfiguration immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Falsche Konfiguration

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Falsche Konfiguration

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Falsche Konfiguration

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Falsche Konfiguration

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Falsche Konfiguration ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

03 / 19

4. Inventory wird nicht geladen

Vertiefung und Abgabebeispiel zu Inventory wird nicht geladen

Eine vollständige Bearbeitung von Inventory wird nicht geladen besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Inventory wird nicht geladen

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Inventory wird nicht geladen

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Inventory wird nicht geladen zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Inventory wird nicht geladen

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Inventory wird nicht geladen immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Inventory wird nicht geladen

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Inventory wird nicht geladen

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Inventory wird nicht geladen

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Inventory wird nicht geladen

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Inventory wird nicht geladen ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

04 / 19

5. Host ist unreachable

Vertiefung und Abgabebeispiel zu Host ist unreachable

Eine vollständige Bearbeitung von Host ist unreachable besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Host ist unreachable

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Host ist unreachable

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Host ist unreachable zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Host ist unreachable

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Host ist unreachable immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Host ist unreachable

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Host ist unreachable

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Host ist unreachable

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Host ist unreachable

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Host ist unreachable ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

05 / 19

6. Python fehlt auf Managed Node

Vertiefung und Abgabebeispiel zu Python fehlt auf Managed Node

Eine vollständige Bearbeitung von Python fehlt auf Managed Node besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Python fehlt auf Managed Node

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Python fehlt auf Managed Node

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Python fehlt auf Managed Node zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Python fehlt auf Managed Node

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Python fehlt auf Managed Node immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Python fehlt auf Managed Node

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Python fehlt auf Managed Node

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Python fehlt auf Managed Node

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Python fehlt auf Managed Node

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Python fehlt auf Managed Node ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

06 / 19

7. SSH-Authentifizierung schlägt fehl

Vertiefung und Abgabebeispiel zu SSH-Authentifizierung schlägt fehl

Eine vollständige Bearbeitung von SSH-Authentifizierung schlägt fehl besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für SSH-Authentifizierung schlägt fehl

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für SSH-Authentifizierung schlägt fehl

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird SSH-Authentifizierung schlägt fehl zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu SSH-Authentifizierung schlägt fehl

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird SSH-Authentifizierung schlägt fehl immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für SSH-Authentifizierung schlägt fehl

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für SSH-Authentifizierung schlägt fehl

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei SSH-Authentifizierung schlägt fehl

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für SSH-Authentifizierung schlägt fehl

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

SSH-Authentifizierung schlägt fehl ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

07 / 19

8. Become schlägt fehl

Vertiefung und Abgabebeispiel zu Become schlägt fehl

Eine vollständige Bearbeitung von Become schlägt fehl besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Become schlägt fehl

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Become schlägt fehl

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Become schlägt fehl zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Become schlägt fehl

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Become schlägt fehl immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Become schlägt fehl

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Become schlägt fehl

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Become schlägt fehl

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Become schlägt fehl

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Become schlägt fehl ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

08 / 19

9. Task failed

Vertiefung und Abgabebeispiel zu Task failed

Eine vollständige Bearbeitung von Task failed besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Task failed

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Task failed

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Task failed zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Task failed

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Task failed immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Task failed

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Task failed

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Task failed

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Task failed

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Task failed ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

09 / 19

10. Variablen sind unerwartet

Vertiefung und Abgabebeispiel zu Variablen sind unerwartet

Eine vollständige Bearbeitung von Variablen sind unerwartet besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Variablen sind unerwartet

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Variablen sind unerwartet

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Variablen sind unerwartet zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Variablen sind unerwartet

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Variablen sind unerwartet immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Variablen sind unerwartet

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Variablen sind unerwartet

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Variablen sind unerwartet

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Variablen sind unerwartet

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Variablen sind unerwartet ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

10 / 19

11. Template rendert falsch

Vertiefung und Abgabebeispiel zu Template rendert falsch

Eine vollständige Bearbeitung von Template rendert falsch besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Template rendert falsch

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Template rendert falsch

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Template rendert falsch zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Template rendert falsch

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Template rendert falsch immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Template rendert falsch

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Template rendert falsch

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Template rendert falsch

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Template rendert falsch

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Template rendert falsch ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

11 / 19

12. Handler läuft nicht

Vertiefung und Abgabebeispiel zu Handler läuft nicht

Eine vollständige Bearbeitung von Handler läuft nicht besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Handler läuft nicht

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Handler läuft nicht

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Handler läuft nicht zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Handler läuft nicht

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Handler läuft nicht immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Handler läuft nicht

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Handler läuft nicht

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Handler läuft nicht

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Handler läuft nicht

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Handler läuft nicht ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

12 / 19

13. Idempotenzbruch

Vertiefung und Abgabebeispiel zu Idempotenzbruch

Eine vollständige Bearbeitung von Idempotenzbruch besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Idempotenzbruch

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Idempotenzbruch

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Idempotenzbruch zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Idempotenzbruch

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Idempotenzbruch immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Idempotenzbruch

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Idempotenzbruch

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Idempotenzbruch

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Idempotenzbruch

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Idempotenzbruch ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

13 / 19

14. Vault-Datei kann nicht gelesen werden

Vertiefung und Abgabebeispiel zu Vault-Datei kann nicht gelesen werden

Eine vollständige Bearbeitung von Vault-Datei kann nicht gelesen werden besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Vault-Datei kann nicht gelesen werden

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Vault-Datei kann nicht gelesen werden

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Vault-Datei kann nicht gelesen werden zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Vault-Datei kann nicht gelesen werden

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Vault-Datei kann nicht gelesen werden immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Vault-Datei kann nicht gelesen werden

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Vault-Datei kann nicht gelesen werden

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Vault-Datei kann nicht gelesen werden

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Vault-Datei kann nicht gelesen werden

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Vault-Datei kann nicht gelesen werden ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

14 / 19

15. Collection fehlt

Vertiefung und Abgabebeispiel zu Collection fehlt

Eine vollständige Bearbeitung von Collection fehlt besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Collection fehlt

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Collection fehlt

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Collection fehlt zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Collection fehlt

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Collection fehlt immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Collection fehlt

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Collection fehlt

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Collection fehlt

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Collection fehlt

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Collection fehlt ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

15 / 19

16. CI schlägt fehl

Vertiefung und Abgabebeispiel zu CI schlägt fehl

Eine vollständige Bearbeitung von CI schlägt fehl besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für CI schlägt fehl

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für CI schlägt fehl

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird CI schlägt fehl zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu CI schlägt fehl

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird CI schlägt fehl immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für CI schlägt fehl

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für CI schlägt fehl

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei CI schlägt fehl

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für CI schlägt fehl

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

CI schlägt fehl ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

16 / 19

17. AWX-Job schlägt fehl

Vertiefung und Abgabebeispiel zu AWX-Job schlägt fehl

Eine vollständige Bearbeitung von AWX-Job schlägt fehl besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für AWX-Job schlägt fehl

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für AWX-Job schlägt fehl

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird AWX-Job schlägt fehl zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu AWX-Job schlägt fehl

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird AWX-Job schlägt fehl immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für AWX-Job schlägt fehl

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für AWX-Job schlägt fehl

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei AWX-Job schlägt fehl

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für AWX-Job schlägt fehl

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

AWX-Job schlägt fehl ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

17 / 19

18. Notfall-Checkliste

Vertiefung und Abgabebeispiel zu Notfall-Checkliste

Eine vollständige Bearbeitung von Notfall-Checkliste besteht aus einem technischen Artefakt und einer kurzen fachlichen Einordnung. Das Artefakt kann ein Inventory, ein Playbook, eine Rolle, ein Template, eine Vault-Datei mit Dummy-Werten, eine CI-Konfiguration oder eine Evidence-Datei sein. Die Einordnung erklärt, warum dieser Weg gewählt wurde und welche Alternative bewusst nicht verwendet wurde.

Abgabeteil Inhalt Mindestqualität
Zielbeschreibung Was soll nach dem Lauf gelten? messbar und ohne implizite Annahmen
Scope-Nachweis Welche Hosts sind betroffen? Ausgabe von --list-hosts oder Inventory-Graph
Umsetzung Welche Dateien wurden geändert? kleine, reviewbare YAML-Dateien
Validierung Wie wurde geprüft? Syntaxcheck, Check Mode, Diff, echter Lauf, zweiter Lauf
Risikoentscheidung Was kann schiefgehen? Rechte, Secrets, externe Abhängigkeiten und Rollback betrachtet

Minimalartefakte für Notfall-Checkliste

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Für Rollen oder Collections wird die Struktur erweitert:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Prüferwartung für Notfall-Checkliste

Eine prüfbare Lösung muss auch für Personen verständlich sein, die den Lauf nicht selbst ausgeführt haben. Deshalb reichen Screenshots oder unkommentierte Terminalausgaben nicht aus. Gute Evidence beschreibt Kontext, Kommando, relevante Ausgabe und Bewertung. Wenn ein Modul im Check Mode abweicht, wird diese Einschränkung ausdrücklich genannt.

Transfer in reale Teams

Im Teamkontext wird Notfall-Checkliste zusätzlich mit Code Review, Branch-Regeln, CI, Rollenownership, Release-Notizen und Betriebsfreigabe verbunden. Für produktionsnahe Nutzung werden außerdem Zuständigkeit, Wartungsfenster, Monitoring, Alarmierung und Rollback-Kriterien dokumentiert.

Praxisbezug zu Notfall-Checkliste

Dieser Abschnitt ist nicht als reine Begriffserklärung gedacht. Im Workshop wird Notfall-Checkliste immer an einem konkreten Ablauf überprüft: Inventory lesen, Zielhosts beweisen, Playbook prüfen, Änderung simulieren, Änderung ausführen, zweiten Lauf bewerten und Rückbau dokumentieren. Dadurch wird sichtbar, ob Ansible wirklich einen Zielzustand beschreibt oder nur zufällig einen Befehl erfolgreich ausgeführt hat.

Prüffrage Erwartete Antwort
Welche Hosts sind betroffen? Pattern, Gruppe, --limit und Inventory-Ausgabe sind dokumentiert.
Welche Datenquellen wirken? group_vars, host_vars, Defaults, Extra Vars und Facts sind bekannt.
Welche Rechte werden benötigt? become ist tasknah und fachlich begründet.
Wie wird Erfolg bewiesen? Syntaxcheck, Check Mode, Diff, Play Recap und zweiter Lauf liegen vor.

Beispielablauf für Notfall-Checkliste

bash
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml

Der Ablauf ist bewusst vollständig. In echten Teams werden einzelne Schritte oft automatisiert, aber nicht übersprungen. CI kann Syntaxcheck und Linting übernehmen; die fachliche Bewertung von Scope, Rechten, Secret-Flows und Rollout-Risiko bleibt eine Review-Aufgabe.

Review-Kriterien für Notfall-Checkliste

  • Inventory und Pattern sind enger als all, sofern kein guter Grund dokumentiert ist.
  • Module aus ansible.builtin oder klar geprüften Collections werden bevorzugt.
  • Shell- oder Command-Tasks haben changed_when, failed_when oder eine Begründung.
  • Variablen sind nachvollziehbar platziert und überschreiben sich nicht überraschend.
  • Secrets erscheinen nicht in Klartext, Diff-Ausgaben, Debug-Tasks oder CI-Logs.
  • Das Playbook kann mehrfach laufen, ohne unnötige Änderungen zu melden.
  • Rückbau, Fix-forward oder kontrolliertes Belassen des Zielzustands ist dokumentiert.

Typische Fehler bei Notfall-Checkliste

Fehlerbild Ursache Diagnose
falsche Hosts getroffen Pattern oder Inventory falsch verstanden --list-hosts, ansible-inventory --host
unreachable SSH, Benutzer, Python oder Netzwerkproblem -vvvv, SSH-Test, Inventory-Variablen
unerwartete Änderung Modul nicht idempotent oder falsche Datenquelle zweiter Lauf, Diff, Variablenprüfung
Secret-Leak Debug, Diff oder Log nicht begrenzt no_log, Vault, CI-Artefakte prüfen
Handler läuft nicht kein changed oder falscher Handlername Task-Ergebnis und Handler-Name prüfen

Betriebsnotiz für Notfall-Checkliste

Für produktionsnahe Nutzung muss aus dem Lab ein Runbook entstehen. Dieses Runbook nennt Zielsysteme, Verantwortliche, Vorbedingungen, Stop-Kriterien, erwartete Dauer, Validierung, Monitoring und Rückbau. Ohne diese Angaben bleibt ein Playbook technisch ausführbar, aber nicht betriebsreif.

Notfall-Checkliste ist ein praktischer Baustein des Ansible-Workshops. Entscheidend ist, dass der gewünschte Zustand nicht nur beschrieben, sondern vor und nach der Ausführung überprüft wird. Ein guter Ansible-Arbeitsablauf beantwortet immer vier Fragen: Welche Hosts sind betroffen, welche Änderung wird durchgeführt, welche Rechte werden dafür benötigt und wie wird der Erfolg gemessen?

Aspekt Bedeutung im Workshop Prüfpunkt
Scope Inventory, Pattern, --limit, Tags und Umgebung bestimmen die Zielsysteme. ansible-inventory --graph, ansible-playbook --list-hosts
Zustand Module sollen Zielzustände modellieren und wiederholbare Ergebnisse liefern. zweiter Lauf ohne unnötige Änderungen
Rechte become wird tasknah und begründet eingesetzt. kein globales Privileg ohne Review
Evidence Ausgaben, Diffs und Zusammenfassung werden dokumentiert. Play Recap, Diff, Evidence-Datei

Typische Kommandos:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Für Reviews gilt: Ein Playbook ist erst dann gut genug, wenn es seine Zielgruppe beweist, seine Datenquellen offenlegt, sensible Werte schützt, Fehlerpfade beschreibt und nach einem zweiten Lauf stabil bleibt. Wenn ein Modul Check Mode oder Diff Mode nicht vollständig unterstützt, muss die Einschränkung im Runbook stehen.

Typische Fehler in diesem Bereich sind zu breite Patterns wie all, unklare Variablenquellen, Shell-Workarounds ohne Idempotenz, Secrets in Debug-Ausgaben, fehlende Rollback-Notiz und fehlende Trennung zwischen Lab- und Produktionsinventory.

18 / 19

Quellen und weiterführende Referenzen

  • Offizielle Ansible Community Documentation: https://docs.ansible.com/
  • Ansible Getting Started: https://docs.ansible.com/projects/ansible/latest/getting_started/index.html
  • Inventory Guide: https://docs.ansible.com/projects/ansible/latest/inventory_guide/index.html
  • Playbook Guide: https://docs.ansible.com/projects/ansible/latest/playbook_guide/index.html
  • Module Index: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/index.html
  • Vault Guide: https://docs.ansible.com/projects/ansible/latest/vault_guide/index.html
  • Ansible Lint: https://ansible.readthedocs.io/projects/lint/
  • Molecule: https://ansible.readthedocs.io/projects/molecule/
  • AWX: https://github.com/ansible/awx
  • Red Hat Certifications: https://www.redhat.com/en/services/certifications
19 / 19

ANS · Orthevs Academy

31 modules ως ενιαία διαδρομή μάθησης.

Η σειρά παραμένει αμετάβλητη: από τη βασική δομή του lab μέσω τεχνικών θεμελίων και λειτουργικών μοντέλων έως το τελικό troubleshooting. Τα τεχνικά ονόματα καταλόγων διατηρούνται σκόπιμα.

Orthevs – Η μηχανική ως βάση για όσα ακολουθούν.

Το Orthevs ως εφαρμογή

Εγκατάσταση του Orthevs

Η web app του Orthevs μπορεί να εγκατασταθεί σε υποστηριζόμενες κινητές συσκευές και browsers υπολογιστή.

iPhone και iPad

Ανοίξτε το Orthevs στο Safari. Πατήστε Κοινή χρήση και μετά Προσθήκη στην οθόνη αφετηρίας. Ενεργοποιήστε το Άνοιγμα ως web app, αν εμφανίζεται, και πατήστε Προσθήκη.

Android

Για τη web app, ανοίξτε το μενού του browser και επιλέξτε Εγκατάσταση εφαρμογής ή Προσθήκη στην αρχική οθόνη. Επιβεβαιώστε την εγκατάσταση.

Browser υπολογιστή

Ανοίξτε το μενού του browser ή το εικονίδιο εγκατάστασης στη γραμμή διευθύνσεων και επιλέξτε Εγκατάσταση εφαρμογής ή Προσθήκη στο Dock.

Η εγκατάσταση της web app εξαρτάται από τον browser. Αν δεν εμφανιστεί διάλογος εγκατάστασης, ακολουθήστε τα βήματα του browser που αναφέρονται παραπάνω.