Ich schreibe ein einmaliges Spiel, um einige grok-Regeln auf meinen elasticsearch-Boxen zu aktualisieren (was ich manuell tun könnte, aber ich nehme an, viele dieser Aufgaben zu erledigen) also möchte ich das funktionieren lassen).Ansible-Inventardatei für einmalige Ansible-Wiedergabe schreiben
Ich möchte einfach eine lineinfile auf 8 Hosts laufen:
#!/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
und hier ist meine Gastgeber
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
Datei Wenn dies ausgeführt wird, erhalte ich:
PLAY [update them lines] ***************************************************
skipping: no hosts matched
I Ich weiß nicht, dass ich in der Inventardatei etwas richtig mache, aber ich bin mir nicht sicher, was ich zum Beispiel bisher nur vom Rackspa benutzt habe ce rax-Modul zum Erstellen einer Inventarliste, wenn das Spiel ausgeführt wird.
Es kann auch nützlich sein zu beachten, dass es-1,, 6 sind kurze Namen, die ich auf DNS definiert habe, so kann ich zum Beispiel ssh es-1
und das funktioniert. Es schien diese Namen bei vorherigen Iterationen der Datei nicht zu mögen.
Abstimmung zu schließen, weil, wie die Antwort darauf hinweist, es ein einfacher typografischer Fehler ist. – ydaetskcoR
@taskinoor hat ein gutes Auge, aber es hat das Problem nicht gelöst. Ich erhalte jetzt '[WARNUNG]: vorausgesetzt, die Liste der Hosts ist leer, nur localhost ist verfügbar'. –
Um sicherzustellen, dass Ihr playbook nicht in der Lage ist, ein "ansisible all -m -ping -i/home/myself/workingdir/hosts" zu verwenden, um sicherzustellen, dass es keine Probleme beim Lesen und Parsen der hosts-Datei gibt . –