Ansible IP-Adresse, variabler host-Teil

Ich habe Folgendes problem:

Ich Schreibe playbook für die Einstellung der IP-Adresse auf der Kommandozeile in Ansible. Können sagen, 10.10.10.x. Ich brauche, um den letzten Teil meiner öffentlichen IP-sagen wir x ist.x.x.15 und ordnen Sie die private: 10.10.10.15. Gibt es eine variable dafür? Kann ich erfassen? Ich habe versucht, so etwas wie:

shell: "ip addr show | grep inet ...." 
register: host_ip

Aber es ist nicht das, was ich brauche. Es funktioniert, aber nur für eine begrenzte Anzahl von Servern.

Das ganze sollte so sein:

"shell: /dir/script --options 10.10.10.{{ var }}"

sowie {{ var }} sollte der host-Teil der öffentlichen IP.

Edit:

Danke! Hier meine endgültige Lösung:

- name: Get the host part of the IP 
  shell: host {{ ansible_fqdn }} | awk '{print $4}' 
  register: host_ip 

Und

{{ host_ip.stdout.split('.')[3] }}

Um es später in das playbook.

Als pro @user24364 Antwort unten, ist es nicht klar, ob die Server über die öffentliche IP bereits zugewiesen wurde, oder, wenn du über einen NAT-router. Bitte aktualisieren Sie unsere Frage zur Klärung dieser situation.

InformationsquelleAutor plamer | 2014-08-20

Schreibe einen Kommentar