2. Основные улучшения
● Error reporting
● Tasks blocks
● Dynamic Includes
● Variable manager
● Execution Strategy Plugins
○ linear (default)
○ free
3. Blocks
tasks:
- block:
- command: /bin/false
- debug: msg="you shouldn't see me"
rescue:
- debug: msg="this is the rescue"
- command: /bin/false
- debug: msg="you shouldn't see this"
always:
- debug: msg="it will always be seen"
with_items к блокам применять нельзя :(
4. Dynamic Includes
- hosts: localhost
connection: local
gather_facts: no
tasks:
- include: foo.yml some_var={{ item }}
with_items:
- a
- b
- c
14. vars plugins
1. получаем данные сначала из vars_plugins
2. затем из inventory_dir/{group,host}_vars/, они
перекрывают пункт 1
3. затем из playbook_dir/{group,host}_vars/,
перекрывают пункт 2
ansible.cfg:
[defaults]
vars_plugins = vars_plugins:/other/path/to
19. Ещё чуть-чуть
● Вместо yaml’а можно использовать JSON
● callback_plugins
● Вместо конструкций
fail_when+changed_when+shell лучше сразу
писать модуль