Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Previous revision
automatizace:ansible [2020/12/02 17:03]
automatizace:ansible [2023/08/11 13:40] (current)
tomas [Klient]
Line 1: Line 1:
 +===== Odkazy =====
 +[[https://galaxy.ansible.com/|galaxy.ansible.com]] ... verejna knihovna roli\\
  
 +
 +===== Klient =====
 +ansible win -i hosts win_ping\\
 +ansible win -i hosts win_reboot\\
 +ansible win -i hosts wait_for_connection\\
 +ansible localhost -m ping ... otestuje spojeni pro ansible\\
 +ansible localhost -m command -a uptime ... spusti příkaz uptime\\
 +win_regedit\\
 +win_regmerge\\
 +
 +%%ansible-playbook playbook.yaml --syntax-check%%
 +%%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 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 %%--%%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 ====
 +=== nepovinné, dpolňující parametry ===
 +name: ... jméno tásku\\
 +tag: ... jméno tagu - tagy se označuje, co se provede a co ne\\
 +when: ... podmínka, za jaké se task provede\\
 +register: command_result ... proměnná, do které se uplží výstup tásku\\
 +delegate_to: ... určí se node, na kterém se task provede, například localhost\\
 +vars: ... proměnné pro task\\
 +ignore_errors: true ... task se považuje za úspěšný i když nastanou chyby\\
 +ignore_unreachable: false ... úspěch, i když je node nedostupný\\
 +failed_when: "'FAILED' in command_result.stderr" ... informace, kdy se považuje task jako neúspěšný\\
 +changed_when: "bass_result.rc != 2" ... definuje, kdy se task považuje za změnu konfigurace\\
 +
 +=== typy tasku ===
 +debug: ... výpis progměnných\\
 +set_fact: ... nastavení proměnných\\
 +shell: ... provedení akce v shellu\\
 +fail: ... ukončení běhu\\
 +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í\\
 +block: ... blok tasků, více v sekci block\\
 +tempfile: ... vytvoří dočasný soubor, sám se smaže po konci\\
 +read_csv: ... načte csv soubor\\
 +
 +=== blok ===
 +block: ... vytvoří blok tasku\\
 +always: ... provede se vždy, i když se blok přeruší z důvodu chyby, třeba čištění\\
 +rescue: ... provede se, když je chyba\\
 +
 +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====
 +<code>{{ secrets | to_nice_yaml( width=150, explicit_start=True, explicit_end=True) }}</code> ... naformatuje datovy objekt do yamlu\\