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 ====== | ||