如何修复“无法匹配提供的主机模式,而忽略:bigip”错误,可以在Ansible中运行,而不是塔式

时间:2019-02-11 23:28:34

标签: ansible ansible-inventory

我正在在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

2 个答案:

答案 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”,这似乎提供了我想要的输出。

所以事情似乎正在起作用,我只是不知道这是否是“最佳实践”使用。

谢谢, 史蒂夫