Bin gerade von Amazon zu Joyent gewechselt (egal warum) und habe beim Einrichten meines Chef-Servers folgendes Problem festgestellt:
Wie Sie vielleicht wissen, legt Chef die IP-Adresse entsprechend der Routentabelle fest. In meinem Fall ist die vom Client an den Server übermittelte IP also meine öffentliche IP.
Ich habe ein Rezept, um die Datei /etc/hosts dynamisch zu schreiben, wobei ich die vom Client übermittelte IP-Adresse und den FQDN verwende. Das Problem ist, dass ich die private IP-Adresse verwenden muss, damit der gesamte Datenverkehr, der einen lokalen Computer erreicht, tatsächlich lokal ist.
Ich habe versucht, node['network']['ipaddress_eth1']
die Vorlagendatei hosts.erb zu verwenden, aber es funktioniert nicht.
Welche Cloud fehlt mir? Gibt es eine andere Möglichkeit, meine Hosts-Datei mit meiner privaten IP zu schreiben?
Danke
Aktualisieren
Es gibt tatsächlich eine Möglichkeit, das zu finden, was ich suche, und zwar mitSieb:
chef > asdf = node['network']['interfaces']['eth1']['addresses'].keys.select { |a| a[/\A\d+\.\d+\.\d+\.\d+\Z/] }.first
Dadurch wird die IP-Adresse auf meinem eth1 zurückgegeben.
Antwort1
Zur Lösung dieses Problems verwendete ich dieipaddr_extensions-Gemund dann hinzufügenprivateIP-AdresseAttribut zu Ohai.