Ansible Guru的快速问题 . 我想为一组特定的盒子运行一个ansible playbook,我将其复制到list.txt,忽略了ansible playbook中的库存和目标块:
---
- name: Ansible Runbook v.1.0
hosts: test1
gather_facts: yes
# serial: "10%"
当我运行以下命令时,我没有匹配的主机:
ansible-playbook playbook.yaml --tags "simplejson" -vvv -i /x/home/list.txt
PLAY [Ansible Runbook v.1.0] **************************************************
skipping: no hosts matched
$cat list.txt
hostname2b
任何解决方法的想法?
1 回答
没有主机匹配的原因是主机
test1
(在playbook中硬编码)不存在于从命令行指定的库存文件中 . 问题是ansible-playbook
命令不接受任何hosts
参数 . 所以没有直接的办法绕过硬编码的主机test1
.但是,正如here解释的那样,有一个解决方法 . 您可以为
hosts
使用变量,并从命令行为该变量指定all
. 像这样的东西:然后使用
extra-vars
传递该变量: