2016-07-27 12 views
0

Wie liest man am besten Hostvariablen aus der Inventardatei, vorausgesetzt, das Skript greift nicht auf den Host zu? Ich möchte zunächst einige virtuelle Maschinen erstellen, bevor wir unsere Testanwendung auf diesen Maschinen installieren. Daher möchte ich die Parameter beibehalten, die zum Erstellen einer virtuellen Maschine in derselben Inventardatei erforderlich sind, damit ich die gleiche Datei zum Erstellen virtueller Maschinen und zum Installieren unseres Testprodukts auf diesen Maschinen verwenden kann. Das Inventar wird wie folgt aussehen:Effiziente Methode zum Lesen von Daten aus dem Inventar

[testmachines1] 
host1 vm=vmname1 description=vm1description 
host2 vm=vmname2 description=vm2description 

[testmachines2] 
host3 vm=vmname3 description=vm3description 
host4 vm=vmname4 description=vm4description 

Skript, das die virtuellen Maschinen erstellen wird nicht die Hosts zugreifen und nicht die Parameter lesen und virtuelle Maschinen entsprechend erstellen.

Antwort

0

Einer der Wege, dies zu tun:

--- 
- hosts: localhost 
    tasks: 
    - debug: msg="VM={{ hostvars[item].vm }}, Desc={{ hostvars[item]. description }}" 
     when: hostvars[item].vm is defined 
     with_inventory_hostnames: all