====== Ansible ====== * https://adamj.eu/tech/2015/05/18/making-ansible-a-bit-faster/ ===== WTF ===== ==== import_tasks vs include_tasks ==== * https://stackoverflow.com/a/64000776/1108919 * Az ''import_tasks'' már inicializálási időben betölt minden hozzá kapcsolódó változót, függetlenül attól, hogy az a hívás egyáltalán meg lesz-e hívva. * Az **import**-ált task **vars/main.yml**-ben definiált változói global-ok lesznek, így az **include**-oltaké nem! ==== template kiértékelés ==== * kb. ha az nem ''set_fact'', akkor maga a template került "eltárolásra" * emiatt nem tud egy dict eleme önmagának egy másik elemére hivatkozni a ''vars''-ban * ha a ''when''-ben is használunk template kifejezést, és történetesen a ''when'' egy ''block''-hoz kötődik, ott a template annyiszor fog kiértékelődni, ahágy lépésből áll a ''block'' ÉS ha kiértékelés eredménye menetközben megváltozik, a ''block'' többi eleme lehet, hogy nem kerül futtatásra! - set_fact: foo: yes - when: "{{ foo }}" block: - set_fact: foo: no - debug: msg: 'Ez soha nem lesz lefuttatva...' ==== Tagek ==== * Ha egy ''include_*'' skippelésre kerül, a hihagyott role-ok/task-ok **tag**-jei se lesznek bejárva, így nem lehet rájuk hivatkozni se a ''--tags'' parancssori paraméterrel. * Ellenben ha ''import_*''-ot használunk, az "előre bejárás" okán ismertek lesznek belső **tag**-ek is. ==== Sémák ==== * https://github.com/ansible-community/schemas/tree/main/f