Zum Inhalt springen
  • 0

ansible


Gast vaDYaL

Frage

Hey,

ich stehe gerade vor einem Problem in Ansible (bin absoluter Neuling darin).
Ich möchte die IP Adresse des targets zurückbekommen, diese in eine Variable packen und die Variable dann später in eine Datei einfügen.
Jedoch bekomme ich immer nur Fehlermedlungen oder mehr als nur die IP zurück.
 

Das aktuelle Script sieht so aus:

--
- hosts: target
  become: true
  gather_facts: true
  tasks:
    - name: getIP
      debug: var=ansible_eth0.ipv4.address
      register: result

    - name: print
      lineinfile:
        destfile: /home/test/test.txt
        line: "{{ result }}"

 

Ich habe bereits versucht die Variable result zu splitten, in etwa so (Erst mal versucht die grundlegend zu splitten um danach zu schauen welche Parameter ich angeben muss, damit nur die IP genommen wird):

 

- name: print
      lineinfile:
        destfile: /home/test/test.txt
        line: "{{ result.split() }}"

 

Doch hierbei kommt dann plötzlich die Fehlermeldung, dass die Variable result  nicht existiert....
Finde nirgendswo eine Lösung, habt ihr vielleicht eine Idee?

Link zu diesem Kommentar
Auf anderen Seiten teilen

2 Antworten auf diese Frage

Empfohlene Beiträge

  • 1

Bist du sicher, dass das "eth0"-Interface  vom remote Host verwendet wird?

Ansonsten: Einen Schritt nach dem anderen ;) Versuch erstmal, die remote IP überhaupt separat auszulesen, bevor du sie in eine Variable packst bzw. in eine Text-Datei schreiben willst.

Hier zB sind unterschiedliche Methoden aufgeführt: https://www.middlewareinventory.com/blog/ansible-get-ip-address/

Eine Interface-spezifische (die du auch verwendest):
 

- hosts: all
  gather_facts: yes
  tasks:
    # Getting the IP address of enp0s3 interface
    - debug: var=ansible_enp0s3.ipv4.address
    # Getting the IP address of eth0 interface
    - debug: var=ansible_eth0.ipv4.address

-> für 2 spezifische remote Interfaces als Beispiel

und dann noch unspezifisch, ausgelesen aus den sog. Ansible facts:

- hosts: all
  tasks:
    - debug: var=hostvars[inventory_hostname]['ansible_default_ipv4']['address']
    - debug: var=hostvars[inventory_hostname]['ansible_default_ipv6']['address']

Das "debug" dient dazu, einfach nur statements auszugeben, wenn sie ausgeführt werden.

Versuch das vielleicht erstmal mit einem normalen Ansible run, ohne Variablen etc. - was das jew. ausgeben sollte, ist auf der Seite oben ebenfalls mit angegeben (nämlich eben nur die IP-Adresse).
Wenn das funktioniert, dann kann man weiter überlegen, wie man das in eine Variable schmeißt + in eine Textdatei schreibt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

Danke für die Antwort!

Nur die IP per debug auszugeben hatte ich bereits geschafft, mit dem setup Modul.
Damit konnte ich es jedoch nicht in eine Variable speichern.
Daraufhin bin ich auf dei Seite gestoßen die auch du verlinkt hast, allerdings wird bei mir damit nicht NUR die IP adresse ausgegeben, bzw in der Variable gespeichert, sondern der ganze Rest der davor steht ebenfalls... 😕

Und ja, bin mir sicher, dass es sich um eth0 handelt :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...