Как исправить ошибки «Не удалось сопоставить предоставленный шаблон хоста, игнорируя: bigip», работает в Ansible, NOT Tower - PullRequest
0 голосов
/ 12 февраля 2019

Я использую Ansible Tower v3.4.1 с Ansible v2.7.6 на виртуальной машине Ubuntu 16.04, работающей в VirtualBox.Я запускаю playbook, который работает, когда я запускаю его из командной строки, используя «ansible-playbook», но не удается, когда я пытаюсь запустить его из Ansible Tower.Я знаю, что что-то неправильно сконфигурировано в ANSIBLE TOWER, но я не могу его найти.

Я получаю это предупреждение независимо от того, какие изменения я вносю в файл инвентаризации (хостов).

$ 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

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Я заменил «hosts: bigip» на «hosts: all» и указал инвентарь в Tower как «bigip», который содержит только 2 хоста, которые я хочу изменить.Это, кажется, обеспечивает вывод, который я ищу.

Для командной строки «ansible-playbook» я добавил «--limit bigip», и это, кажется, обеспечивает вывод, который я ищу.

Так что, похоже, все работает, япросто не знаю, является ли это «наилучшей практикой».

Спасибо, Стив

0 голосов
/ 12 февраля 2019

Я думаю, вам нужно удалить connection: local.

Вы указали в hosts: bigip, что вы хотите, чтобы эти задачи выполнялись только на хостах в группе bigip.Затем вы указываете connection: local, который заставляет задачу выполняться на узле контроллера (то есть на локальном хосте), а не на узлах в группе bigip.Localhost не является членом группы bigip, поэтому ни одно из заданий в игре не сработает.

...