Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
ansible_new [2024/11/13 17:02] root [When] |
ansible_new [2024/11/13 18:47] (aktuell) root [Rescue] |
||
|---|---|---|---|
| Zeile 353: | Zeile 353: | ||
| * become: true und become_method: | * become: true und become_method: | ||
| * Tasks in einem Block erben die Statements auf Blockebene | * Tasks in einem Block erben die Statements auf Blockebene | ||
| + | |||
| + | |||
| + | ===== Rescue ===== | ||
| + | |||
| + | * Wird ausgeführt wenn einer der Tasks im Block fehlschlägt | ||
| + | * wenn ein Task fehlschlägt werden die nachfolgenden Task normalerweise nicht mehr ausgeführt | ||
| + | * dient zum Beispiel um Aktionen rückgängig zu machen und das System nicht halbkonfiguriert zurückzulassen | ||
| + | * rescue-Attribute enthält Liste von Tasks | ||
| + | |||
| + | <sxh yaml> | ||
| + | - name: My first play | ||
| + | hosts: myhosts | ||
| + | tasks: | ||
| + | - name: First Block | ||
| + | when: ansible_facts[' | ||
| + | become: true | ||
| + | become_method: | ||
| + | block: | ||
| + | - name: First task | ||
| + | ansible.builtin.apt: | ||
| + | name: neovim | ||
| + | state: latest | ||
| + | update_cache: | ||
| + | - name: Make a temporary file | ||
| + | ansible.builtin.tempfile: | ||
| + | prefix: myfile | ||
| + | rescue: | ||
| + | - name: Remove the vim package | ||
| + | ansible.builtin.apt: | ||
| + | name: neovim | ||
| + | state: absent | ||
| + | purg: true | ||
| + | | ||
| + | </ | ||
| + | |||
| + | * Im Falle eines Fehlers in block: würde das vim-Paket in rescue-Attribut deinstalliert | ||
| + | |||
| + | |||
| + | ===== Always ===== | ||
| + | |||
| + | * wird immer ausgeführt | ||
| + | * egal ob die Tasks im Block fehlschlagen oder erfolgreich sind | ||
| + | |||
| + | <sxh yaml> | ||
| + | - name: My first play | ||
| + | hosts: myhosts | ||
| + | tasks: | ||
| + | - name: First Block | ||
| + | when: ansible_facts[' | ||
| + | become: true | ||
| + | become_method: | ||
| + | block: | ||
| + | - name: First task | ||
| + | ansible.builtin.apt: | ||
| + | name: neovim | ||
| + | state: latest | ||
| + | update_cache: | ||
| + | - name: Make a temporary file | ||
| + | ansible.builtin.tempfile: | ||
| + | prefix: myfile | ||
| + | always: | ||
| + | - name: Clear retrieved packages | ||
| + | ansible.builtin.apt: | ||
| + | clean: true | ||
| + | </ | ||
| + | |||
| + | |||
| + | * Task "Clear retrieved packages" | ||
| + | |||
| + | ====== Tags ====== | ||
| + | |||
| + | * Ermöglichen das ausführen nur bestimmter Teile | ||
| + | * können auf Handler, Blocks, Plays, Tasks, Roles, includes und imports angewendet werden | ||
| + | |||
| + | Folgende Werte sind **reserviert**/ | ||
| + | |||
| + | * Keyword tags | ||
| + | * Wert ist ein einzelnes Keyword oder eine Liste von Keywords | ||
| + | |||
| + | ^Tag ^Beschreibung ^ | ||
| + | |never|Führe die Statements niemals aus. \\ \\Es sei denn " | ||
| + | |always | führt den Statements immer aus. \\ \\ Egal welcher Tag auf der Kommandozeile angegeben wurde. \\ | ||
| + | |kein Tag|Wird ausgeführt wenn keine Tags auf der Kommandozeile ausgewählt wurden oder all oder untagged| | ||
| + | |Benutzerspezifischer Tag|Wird ausgeführt wenn der | ||
| + | |||
| + | |||
| + | **ansible-playbook** hat folgende Parameter für Tags: | ||
| + | |||
| + | * < | ||
| + | * < | ||
| + | * definiert eine Liste von Tags die ausgeführt werden soll | ||
| + | * nur statements die diesen Tag haben werden ausgeführt (oder wenn der Tag " | ||
| + | * < | ||
| + | * < | ||
| + | * definiert eine Liste von Tags die geskipped (übersprungen) werden sollen | ||
| + | * alle Tags (und Tasks die keinen Tag haben) die nicht in der Liste stehen werden ausgeführt | ||
| + | * wird < | ||
| + | * hat ein Task ein Tag welches im tags-Parameter angegeben wurde und ein Tag welches in skip-tags steht wird der Task **nicht** ausgeführt | ||
| + | * -> skip-tags hat Vorrang | ||
| + | |||
| + | Folgende Tags gibt es: | ||
| + | |||
| + | ^Tag ^Beschreibung ^ | ||
| + | |Never|Kann in < | ||
| + | |all|Alle Tags, inkl. Task die keine Tags haben. \\ Aber nicht die mit " | ||
| + | |tagged|Alle Tasks aus die ein tag haben. \\ Außer mit " | ||
| + | |untagged|Nur Tasks die keinen Tag haben| | ||
| + | |Custom-Tag|Ein beliebiges Tag| | ||
| + | |ohne < | ||
| + | |||
| + | |||
| + | **Einfaches Tag** | ||
| + | |||
| + | <sxh yaml> | ||
| + | - name: My first play | ||
| + | hosts: myhosts | ||
| + | tasks | ||
| + | - name: Install vim | ||
| + | tags: | ||
| + | - vim | ||
| + | ansible.builtin.apt: | ||
| + | name: neovim | ||
| + | state: latest | ||
| + | update_cache: | ||
| + | - name: Make a temporary file | ||
| + | ansible.builtin.tempfile: | ||
| + | prefix: myfile | ||
| + | </ | ||
| + | |||
| + | |||
| + | Task " | ||
| + | * kein Tag angegeben wurde | ||
| + | * < | ||
| + | * < | ||
| + | * < | ||
| + | |||
| + | |||
| + | ** Tag + never:** | ||
| + | <sxh yaml> | ||
| + | - name: My first play | ||
| + | hosts: myhosts | ||
| + | tasks | ||
| + | - name: Install vim | ||
| + | tags: | ||
| + | - vim | ||
| + | - never | ||
| + | ansible.builtin.apt: | ||
| + | name: neovim | ||
| + | state: latest | ||
| + | update_cache: | ||
| + | - name: Make a temporary file | ||
| + | ansible.builtin.tempfile: | ||
| + | prefix: myfile | ||
| + | </ | ||
| + | |||
| + | |||
| + | Task " | ||
| + | * < | ||
| + | * wegen " | ||
| + | * wenn kein tag-Option angegeben wurde | ||
| + | * wenn " | ||
| + | * wenn " | ||
| + | |||
| + | |||
| + | |||
| + | ** always:** | ||
| + | <sxh yaml> | ||
| + | - name: My first play | ||
| + | hosts: myhosts | ||
| + | tasks | ||
| + | - name: Install vim | ||
| + | tags: | ||
| + | - always | ||
| + | ansible.builtin.apt: | ||
| + | name: neovim | ||
| + | state: latest | ||
| + | update_cache: | ||
| + | - name: Make a temporary file | ||
| + | ansible.builtin.tempfile: | ||
| + | prefix: myfile | ||
| + | </ | ||
| + | |||
| + | Task " | ||
| + | Wir nur nicht ausgeführt wenn < | ||
| ====== Modules ====== | ====== Modules ====== | ||