Ми використовуємо просту невдалу задачу, щоб змусити користувача вказати відповідь опцію граничного рівня , щоб ми не виконувались на всіх хостах за замовчуванням / аварією.
Найпростіший спосіб я знайшов це:
---
- name: Force limit
# 'all' is okay here, because the fail task will force the user to specify a limit on the command line, using -l or --limit
hosts: 'all'
tasks:
- name: checking limit arg
fail:
msg: "you must use -l or --limit - when you really want to use all hosts, use -l 'all'"
when: ansible_limit is not defined
run_once: true
Тепер ми повинні використовувати -l
(= --limit
варіант) під час запуску ігрової книги, наприклад
ansible-playbook playbook.yml -l www.example.com
Обмеження опції, документи :
Обмеження до одного або декількох хостів Це потрібно, коли потрібно запустити програму "Книга" проти групи хостів, але лише проти одного або декількох членів цієї групи.
Обмежити до одного хоста
ansible-playbook playbooks/PLAYBOOK_NAME.yml --limit "host1"
Обмежити до кількох хостів
ansible-playbook playbooks/PLAYBOOK_NAME.yml --limit "host1,host2"
Негативний ліміт.
ПРИМІТКА: Одиничні лапки ОБОВ'ЯЗКОВО використовуватися для запобігання удару між інтерполяцією.
ansible-playbook playbooks/PLAYBOOK_NAME.yml --limit 'all:!host1'
Обмежити для приймаючої групи
ansible-playbook playbooks/PLAYBOOK_NAME.yml --limit 'group1'
hosts: "{{ variable_host | default('web')}}"