我的清单在修改后的默认Ansible“主机”文件中定义。当我指定-i {库存} {.yml}时,我收到一个错误。
可用2.8.0 配置文件= /etc/ansible/ansible.cfg
配置的模块搜索路径= [u'/ home / kjames / .ansible / plugins / modules',u'/ usr / share / ansible / plugins / modules']
ansible python模块位置= /usr/lib/python2.7/site-packages/ansible
可执行位置= / usr / bin / ansible
python版本= 2.7.5(默认值,2019年4月9日,14:30:50)[GCC 4.8.5 20150623(Red Hat 4.8.5-36)]
我已经告诉Ansible主机文件在ansible.cfg
中的位置,例如
[defaults]
inventory=buildservers-test
实际结果:
$ ansible-playbook -i buildservers-test deploy-mxdk-tar.yaml -k --limit wbls12ex6401
[警告]:无法将/ home / kjames / ds9 / playbooks / buildservers-test解析为清单资源
[警告]:没有分析清单,只有隐式本地主机可用
[警告]:提供的主机列表为空,只有localhost可用。请注意,隐式本地主机与“ all”不匹配 [警告]:无法匹配提供的主机模式,忽略:wbls12ex6401
[警告]:无法匹配提供的主机模式,忽略:testservers
播放[测试服务器] ************************************************** *************************
正在跳过:没有匹配的主机
PLAY RECAP **************************************************** ****************************
答案 0 :(得分:0)
您的库存位置似乎有问题,而不是文件内容有问题。
由于错误显示为/home/kjames/ds9/playbooks/buildservers-test
,因此我假设您的清单文件不在playbooks目录中。
因此命令行应该类似于:
$ ansible-playbook -i ../buildservers-test deploy-mxdk-tar.yaml -k --limit wbls12ex6401
以../buildservers-test
作为库存路径,或者提供完整路径,而不是../
。
另外,请查看proposed best practices regarding directory layout。
如果您完全放弃了playbooks
目录,则可能只有这样。
最后,如果您提供清单作为配置参数,则无需在命令行中指定它,反之亦然。
同样,问题在于找不到库存文件开头。