2016-07-20 2 views
0

Я пишу одноразовую игру, чтобы обновить некоторые правила grok в своих ячейках elasticsearch (что я мог бы делать вручную, но я ожидаю, что выполню много таких задач поэтому я хочу, чтобы это работало).Написание файла Ansible inventory для одноразовой незавершенной игры

Я просто хочу, чтобы запустить lineinfile на 8 хостов:

#!/usr/bin/ansible-playbook -i /home/myself/workingdir/hosts 
- name: update those lines 
    user: myself 
    hosts: elasticsearch_hosts 
    sudo: true 
    tasks: 
    - lineinfile: 
     dest: /opt/logstash/patterns/stuff 
     regexp: STUFF_AND_THINGS 
     line: STUFF_AND_THINGS [%{GREEDYDATA:big_h0nking_regex}\] ?.%{37_RANDOM_CHARACTERS:bologna} %{URIPATHPARAM:} %{*#&%$%@&@^[email protected]:expletive}/%{NUMBER:some_more_crap} %{NUMBER:minutes_wasted} %{[idk,lol]1776} 
    - service: name=elasticsearch state=restarted 

и вот файл мои хозяева

192.168.1.98 
192.168.2.76 
192.168.3.54 
192.168.4.32 
192.168.5.10 
192.168.6.123 

[elasticsearch-hosts] 
es-1 ansible_host=192.168.1.98 
es-2 ansible_host=192.168.2.76 
es-3 ansible_host=192.168.3.54 
es-4 ansible_host=192.168.4.32 
es-5 ansible_host=192.168.5.10 
es-6 ansible_host=192.168.6.123 

Когда запускается, я получаю:

PLAY [update them lines] *************************************************** 
skipping: no hosts matched 

I знаю, что я не делаю что-то правильно в файле инвентаря, но я не уверен, что, поскольку я только когда-либо использовал, например, rackspa ce rax для создания списка инвентаря при запуске игры.

Также может быть полезно отметить, что es-1, 6 являются короткими именами, которые я определил на dns, поэтому я могу сделать, например, ssh es-1, и это работает. Кажется, это не понравилось этим именам в предыдущих итерациях файла.

+0

Голосование закрывается, потому что, как указывает ответ, это простая типографская ошибка. – ydaetskcoR

+0

@ taskinoor имеет хороший глаз, но это не решило проблему. Теперь я получаю '[WARNING]: при условии, что список хостов пуст, доступен только локальный хост'. –

+0

Чтобы убедиться, что в вашем плейбуке нет weridness, как насчет простого «ansible all -m ping -i/home/myself/workingdir/hosts», чтобы убедиться, что у него нет проблем с чтением и анализом файла hosts , –

ответ

0

Проблема заключается в том, как я звоню в mp3-книгу.

#!/usr/bin/ansible-playbook -i /home/myself/workingdir/hosts 

Это не правильный способ передать аргумент через притон, по-видимому, и как таковой анзибль-Playbook был недобросовестный/и т.д./анзибль/хостов, что является пустым.

Смежные вопросы