Назад | Перейти на главную страницу

ОШИБКА Ansible! Отсутствующие целевые хосты '

Я пытаюсь заставить работать с Ansible 2.1.1.0 в OS X самые простые вещи.

Все мои цели - Ubuntu 16.04, поэтому первое, что мне нужно сделать, это заставить его установить python2.7, поскольку без этого даже ping не будет работать.

У меня такой инвентарь настроен в servers:

[dbservers]
192.168.x.x set_hostname=db

[webservers]

[servers:children]
dbservers
webservers

И это моя игра в init.yml:

---
- hosts: servers
  gather_facts: False
  become: yes
  tasks:
     - name: apt-get update
       raw: /usr/bin/apt-get update -qq
     - name: Install python 2.7
       raw: test -e /usr/bin/python || /usr/bin/apt-get install -q -y python2.7 python-simplejson

Я проверяю, что он выбирает правильные хосты, указав dbservers группа, которая является подмножеством servers (в любом случае есть только 1), что мне кажется правильным:

# ansible dbservers -i servers --list-hosts
  hosts (1):
    192.168.x.x

Я выполняю следующую команду:

# ansible dbservers -i servers init.yml

и тогда я получаю сообщение об ошибке ERROR! Missing target hosts. Я не понимаю, как у него могут быть хосты и нет хостов одновременно! Что я делаю не так?

Вы пытаетесь запустить playbook с ansible команда. В ansible команда предназначена для add-hoc команды.

Попробуйте выполнить свою пьесу с помощью ansible-playbook команда:

ansible-playbook -i servers init.yml

У тебя есть [servers:children] раздел, но нет [servers] в вашем файле hosts. Итак, когда вы устанавливаете hosts: servers нет подходящей группы.