2016-09-07 5 views
0

Ich habe eine CSV-Datei, die den Host-Namen mit der entsprechenden IP-Adresse enthält. Ich versuche, ein ansible Playbook zu schreiben, indem ich den Befehl lineinfile = mit einer Variablen verwende, die die CSV-Datei liest und den Hostnamen der entsprechenden IP-Adresse mit der IP-Adresse auf dem Host ablegt. Ich weiß nicht, ob das der richtige Weg ist. Ich möchte es mit dem Playbook ausführen, das an alle Hosts adressiert ist.Ansible Playbook Push Hostname zu IP-Adressen

+0

Bitte csv-Datei Proben hinzufügen: was Sie haben und was zu tun Sie wollen nach der Bearbeitung erreichen. –

+0

Meine CSV-Datei sieht folgendermaßen aus: IP-Adresse, Hostname – Underpressure

Antwort

0

Wenn Sie für alle Hosts in Ihrer CSV-Datei verbinden müssen und legen Sie den Hostnamen Name Wert aus dieser Datei zu entsprechen, wird dies tun:

--- 
- hosts: localhost 
    tasks: 
    - add_host: name="{{ item.split(',')[1] | trim }}" ansible_host="{{ item.split(',')[0] }}" group=csv 
     with_lines: cat host-ip.csv 

- hosts: csv 
    tasks: 
    - hostname: name="{{ inventory_hostname }}"