हम एक सरल विफल कार्य का उपयोग उपयोगकर्ता को बाध्य सीमा विकल्प को निर्दिष्ट करने के लिए करने के लिए करते हैं , ताकि हम डिफ़ॉल्ट / दुर्घटना द्वारा सभी मेजबानों पर निष्पादित न करें।
सबसे आसान तरीका मुझे यह मिला:
---
- 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
अब हमें playbook चलाने पर -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')}}"