Lade das dynamische Inventar von Ansible nach

Ich verwende Ansible, um EC2-Instanzen einzurichten und eine App bereitzustellen. Es gibt ein Hostskript, das Tags für verwandte Server und Gruppeninformationen sammelt. Ich möchte diese Aktionen als ein einzelnes Playbook ausführen, also

Neue Instanzen werden bei Bedarf erstelltHosts-Skript lädt Inventar (einschließlich der Fakten der Server) Deployment Playbook funktioniert

Das Inventar wird jedoch im Voraus geladen, sodass keine Server- / Gruppendaten vorhanden sind, wenn Server während des Spiels erstellt / aktualisiert werden. Ich kann 1) Bereitstellungs- und Bereitstellungs-Playbooks trennen. 2) add_host-Trick verwenden, um dynamisches Inventar zu emulieren, wenn Server aktualisiert werden. Diese Ansätze weisen jedoch Nachteile auf.

Kann ich Ansible zwingen, Inventar neu zu laden? Meine Testdateien sind:hosts Skript

#!/bin/sh
echo `date` >> log.log
echo "{\"standalone\":[\"localhost\"]}"

Stichprobeplaybook.yml:

---
- hosts: all
  tasks:
    - name: show inventory_hostname
      command: echo {{ inventory_hostname }}

Ich führe es ausansible-playbook -i hosts playbook.yml -v und sehenzwe läuft:

$> cat log.log
Thu Mar 12 09:43:16 SAMT 2015
Thu Mar 12 09:43:16 SAMT 2015
gt; cat log.log Thu Mar 12 09:43:16 SAMT 2015 Thu Mar 12 09:43:16 SAMT 2015

aber ich habe keinen Befehl gefunden, um es zu verdoppeln.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage