Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
automatizace:ansible [2023/08/11 13:03]
tomas [playbooky]
automatizace:ansible [2023/08/11 13:40] (current)
tomas [Klient]
Line 1: Line 1:
-====Odkazy====+===== Odkazy =====
 [[https://galaxy.ansible.com/|galaxy.ansible.com]] ... verejna knihovna roli\\ [[https://galaxy.ansible.com/|galaxy.ansible.com]] ... verejna knihovna roli\\
  
  
-====Klient====+===== Klient =====
 ansible win -i hosts win_ping\\ ansible win -i hosts win_ping\\
 ansible win -i hosts win_reboot\\ ansible win -i hosts win_reboot\\
Line 15: Line 15:
 %%ansible-playbook --connection=local --inventory 127.0.0.1, playbook.yml -e ansible_python_interpreter=/usr/bin/python3%% ... spusti playbook lokalne na mistnim pocitaci, nastavi python3 misto python, kdyz jsou nainstalovane oba\\ %%ansible-playbook --connection=local --inventory 127.0.0.1, playbook.yml -e ansible_python_interpreter=/usr/bin/python3%% ... spusti playbook lokalne na mistnim pocitaci, nastavi python3 misto python, kdyz jsou nainstalovane oba\\
 %%ansible-playbook -i inventory/hosts --limit testserver playbook1.yml%% ... Spusteni playbooku na omezem seznamu z inventare\\ %%ansible-playbook -i inventory/hosts --limit testserver playbook1.yml%% ... Spusteni playbooku na omezem seznamu z inventare\\
-ansible-playbook playbooktags.yml %%--%%tags untagged ... provede jen neotagované tasky\\+ansible-playbook playbooktags.yml %%--%%tags untagged,tag1 ... provede jen neotagované tasky a tasky s tagem tag1\\
 ansible-playbook playbooktags.yml %%--%%skip-tags=install,mydir ... vynechá otagované tásky tagy install, mydir\\ ansible-playbook playbooktags.yml %%--%%skip-tags=install,mydir ... vynechá otagované tásky tagy install, mydir\\
 ansible-playbook playbooktags.yml %%--%%extra-vars action=install ... nadefinuje, nebo přepíše proměnnou/fakt\\ ansible-playbook playbooktags.yml %%--%%extra-vars action=install ... nadefinuje, nebo přepíše proměnnou/fakt\\
  
 +===== playbooky =====
 +==== obecná konstrukce běhu - play ====
 +name:\\
 +hosts: ... seznam nodů, nebo grup, na které se budou tasky aplikovat\\
 +serial: 1 ... úroveň paralelizace\\
 +ignore_unreachable: true ... přeskočení nedostupných nodů\\
 +vars: ... proměnné\\
 +tasks: ... seznam tasků\\
 +handlers: ... handlery - akce, co se podmíněně spustí při konkrétních změnách v tasku\\
  
- +==== task ====
-====vyrazy==== +
-promenna.json.tag_list |lower ... (string) vyraz, kde promenna typu json, jeji onjekt tag_list se prevede na male pismen\\ +
-selectattr('vg_name', 'equalto', 'vgapplis') ... (list) vybrani podle atributu\\ +
-json_query(sum_query) ... (list) - vyraz v jsonu\\ +
-list ... (list) - prevede na jednoduchy seznam\\ +
-sum ... (cislo) - secte\\ +
-first ... (prvek) - prvni polozka seznamu\\ +
-length > 0 ... (cislo) velikost seznamu je vetsi nez 0\\ +
-is defined ... (boolean) - je definovana\\ +
-select('match', '^(eth|wlan)[0-9]+') | list ... vyber ze seznamu\\ +
-in LIST ... (boolean) - je prvek obsazen v seznamu?\\ +
-==== playbooky ====+
 === nepovinné, dpolňující parametry === === nepovinné, dpolňující parametry ===
 name: ... jméno tásku\\ name: ... jméno tásku\\
Line 51: Line 48:
 fail: ... ukončení běhu\\ fail: ... ukončení běhu\\
 import_tasks: ... načte tasky z jiného souboru\\ import_tasks: ... načte tasky z jiného souboru\\
 +include_role: ... vloží roli (playbooky definované v extra adresáři, něco jako modul, nebo knihovna)\\
 uri: ... HTTP/HTTPS volání\\ uri: ... HTTP/HTTPS volání\\
 +block: ... blok tasků, více v sekci block\\
 tempfile: ... vytvoří dočasný soubor, sám se smaže po konci\\ tempfile: ... vytvoří dočasný soubor, sám se smaže po konci\\
 read_csv: ... načte csv soubor\\ read_csv: ... načte csv soubor\\
Line 60: Line 59:
 rescue: ... provede se, když je chyba\\ rescue: ... provede se, když je chyba\\
  
- - ignore_errors ... provede kód, když chyba, tak igoruje chybu a pokračuje dál\\ 
 handler: ... volání tasku jen když se provede změna\\ handler: ... volání tasku jen když se provede změna\\
 +
 +
 +====vyrazy====
 +promenna.json.tag_list |lower ... (string) vyraz, kde promenna typu json, jeji onjekt tag_list se prevede na male pismen\\
 +selectattr('vg_name', 'equalto', 'vgapplis') ... (list) vybrani podle atributu\\
 +json_query(sum_query) ... (list) - vyraz v jsonu\\
 +list ... (list) - prevede na jednoduchy seznam\\
 +sum ... (cislo) - secte\\
 +first ... (prvek) - prvni polozka seznamu\\
 +length > 0 ... (cislo) velikost seznamu je vetsi nez 0\\
 +is defined ... (boolean) - je definovana\\
 +select('match', '^(eth|wlan)[0-9]+') | list ... vyber ze seznamu\\
 +in LIST ... (boolean) - je prvek obsazen v seznamu?\\
 +
 ====Jinja2 filtry==== ====Jinja2 filtry====
 <code>{{ secrets | to_nice_yaml( width=150, explicit_start=True, explicit_end=True) }}</code> ... naformatuje datovy objekt do yamlu\\ <code>{{ secrets | to_nice_yaml( width=150, explicit_start=True, explicit_end=True) }}</code> ... naformatuje datovy objekt do yamlu\\