Ubuntu 16.04でAnsible Tower v3.4.1とAnsible v2.7.6を実行していますVM VirtualBoxで実行しています。コマンドラインから「ansible-playbook」を使用して実行すると機能するプレイブックを実行します「しかし、Ansible Towerから実行しようとすると失敗します。AnsibleTowerで何か設定が間違っている必要があることはわかっていますが、見つかりません。
インベントリ(ホスト)ファイルにどのような変更を加えても、この警告が表示されます。
$ ansible-playbook 2.7.6
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/var/lib/awx/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible-playbook
python version = 2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609]
Using /etc/ansible/ansible.cfg as config file
SSH password:
**/tmp/awx_74_z6yJB4/tmpVlXGCX did not meet Host_list requirements**, check plugin documentation if this is unexpected
Parsed /tmp/awx_74_z6yJB4/tmpVlXGCX inventory source with script plugin
PLAYBOOK: addpool.yaml *********************************************************
1 plays in addpool.yaml
[WARNING]: **Could not match supplied Host pattern, ignoring: bigip**
PLAY [Sample pool playbook] ****************************************************
17:05:43
skipping: no hosts matched
YAMLのインベントリプラグインを有効にし、hostsファイルをhosts.yml
ファイル。
これが私のhostsファイルです:
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
「hosts:bigip」を「hosts:all」に置き換え、Towerのインベントリを、変更したい2つのホストのみを含む「bigip」として指定しました。これは私が探している出力を提供するようです。
「ansible-playbook」コマンドラインの場合、「-limit bigip」を追加しました。これにより、探している出力が提供されるようです。
だから、うまくいっているように見えますが、これが「ベストプラクティス」の用途であるかどうかはわかりません。
ありがとう、スティーブ
connection: local
を削除する必要があると思います。
これらのタスクをbigip
グループのホストでのみ実行するようにhosts: bigip
に指定しました。次にconnection: local
を指定すると、bigip
グループのノードではなく、コントローラーノード(つまり、localhost)でタスクが実行されます。 Localhostはbigip
グループのメンバーではないため、劇中のタスクはトリガーされません。