我正在在VirtualBox上运行的ubuntu 16.04 VM上运行带有Ansible v2.7.6的Ansible Tower v3.4.1。我运行的剧本在使用“ ansible-playbook”从命令行运行时可以运行,但是当我尝试从Ansible Tower运行时却无法运行。我知道我必须在ansible塔中配置错误,但是找不到。
无论我对清单(主机)文件进行什么更改,我都会收到此警告。
ansible-playbook 2.7.6
配置文件= /etc/ansible/ansible.cfg
配置的模块搜索路径= [u'/ var / lib / awx / .ansible / plugins / modules',u'/ usr / share / ansible / plugins / modules']
ansible python模块位置= /usr/lib/python2.7/dist-packages/ansible
可执行位置= / usr / bin / ansible-playbook
python版本= 2.7.12(默认,2018年11月12日,14:36:49)[GCC 5.4.0 20160609]
使用/etc/ansible/ansible.cfg作为配置文件
SSH密码:
/ tmp / awx_74_z6yJB4 / tmpVlXGCX不符合host_list要求,如果这是意外情况,请查看插件文档
使用脚本插件解析了/ tmp / awx_74_z6yJB4 / tmpVlXGCX库存源
PLAYBOOK:addpool.yaml ********************************************** ***************
在addpool.yaml中播放1张
[警告]:无法匹配提供的主机模式,忽略:bigip
PLAY [样本池剧本] ********************************************* *********** 17:05:43
正在跳过:没有主机匹配
我为yaml启用了清单插件,并将我的hosts文件变成了hosts.yml文件。
这是我的主机文件:
192.168.68.253
192.168.68.254
192.168.1.165
[centos]
dad2 ansible_ssh_host=192.168.1.165
[bigip]
bigip1 ansible_host=192.168.68.254
bigip2 ansible_host=192.168.68.253
这是我的剧本:
---
- name: Sample pool playbook
hosts: bigip
connection: local
tasks:
- name: create web servers pool
bigip_pool:
name: web-servers2
lb_method: ratio-member
password: admin
user: admin
server: '{{inventory_hostname}}'
validate_certs: no
答案 0 :(得分:0)
我认为您需要删除controlPanel.add(okButton);
controlPanel.add(submitButton);
controlPanel.add(cancelButton);
。
您已在connection: local
中指定希望这些任务仅在hosts: bigip
组中的主机上运行。然后,您指定bigip
,这会使任务在控制器节点(即localhost)上运行,而不是在connection: local
组中的节点上运行。 Localhost不是bigip
组的成员,因此剧中的任何任务都不会触发。
答案 1 :(得分:0)
我将“ hosts:bigip”替换为“ hosts:all”,并将Tower中的清单指定为“ bigip”,其中仅包含我要更改的2台主机。这似乎提供了我想要的输出。
对于“ ansible-playbook”命令行,我添加了“ --limit bigip”,这似乎提供了我想要的输出。
所以事情似乎正在起作用,我只是不知道这是否是“最佳实践”使用。
谢谢, 史蒂夫