Hi Leute,
ich komme gerade an einer Stelle in puppet nicht weiter und habe dazu ein Issue beim betreffenden Modul erstellt: https://github.com/inkblot/puppet-ipcalc/issues/3
Es scheint aber eher ein generelles Problem mit puppet an der Stelle zu sein. Die definierten Custom Functions in dem Modul sehen völlig i.O. aus, werden halt nur nicht geladen.
Momentan hängt es bei mir beim ICVPN Modul, das ipcalc Modul wird aber fast überall für die IP-Berechnungen eingebunden.
Bekommt ihr den Fehler auch? Findet ihr eine Lösung? Fällt euch ein sinnvoller Workaround ein?
Am Donnerstag, 25. Februar 2016, 15:14:10 CET schrieb Simon Kurka via Dev:
Bekommt ihr den Fehler auch? Findet ihr eine Lösung? Fällt euch ein sinnvoller Workaround ein?
Da Stefan auch schon fragte ob ich da ne Idee habe: so weit bin ich wissens und testtechnisch leider noch nicht, dass ich dazu irgendetwas sinnvolles sagen kann. Tarek evtl.?
Viele Grüße Clemens
Es könnte schon sehr helfen, wenn jemand mit eigener puppet-Einrichtung das ganze mal kompiliert und bis zum gleichen step kommt.
Müsste eigentlich recht unkompliziert klappen, das UTF-8 Zeichen aus grmlzsh habe ich auch entfernt.
Vorhin im Gespräch mit Stefan ist aufgefallen, dass das Environment (je nach Setup) beachtet werden muss. Checkt man https://github.com/ffnw/puppet.git aus muss mit
[agent] environment=master (in der puppet.conf) oder
--environment master (bei puppet master --compile)
Wenn der Punkt nur bei mir scheitert muss ich halt nochmal gucken, was an meiner Umgebung falsch sein könnte. Wenn es bei euch auch scheitert können wir alle Google glühen lassen und Sachen ausprobieren.
Das ipcalc Modul sieht in meinen Augen völlig konform zur puppet Doku aus. Vielleicht fällt euch da was auf oder ihr kennt puppet-Erfahrene?
Irgendwas habe ich auch gefunden mit einem ruby LOAD_PATH, wo es Probleme iVm puppet geben soll. Evtl. hilft also ruby Erfahrung.
Wenn alles nichts hilft, würde ich alle Module mit ipcalc durchgehen und versuchen es überall zu ersetzen. Das kann nicht der way-to-go sein, die Configs würden in jedem Fall hässliger werden... mehr Handarbeit und so...
Wäre cool, wenn sich der ein oder andere noch eine VM oder so aufsetzen könnte und mit testen. Vielleicht suche ich auch nur nach den falschen Sachen, wer weiß das schon...
In dem Sinne: Wenn ihr was seht, die Lösung kennt oder nur eine Vermutung habt -> her damit!
Ich habe gerade sinnloser Weise eine andere Custom Function aus der puppetlabs-stdlib vorher angewendet. Ergebnis: Es funktioniert.
https://github.com/puppetlabs/puppetlabs-stdlib/blob/master/lib/puppet/parse...
Frage, wo ist der grundlegende Unterschied, der den Fehler verursachen könnte?!
Das heißt, wir können damit weiter machen? :D
Am 26.02.2016 um 16:01 schrieb Simon Kurka via Dev:
Ich habe gerade sinnloser Weise eine andere Custom Function aus der puppetlabs-stdlib vorher angewendet. Ergebnis: Es funktioniert.
https://github.com/puppetlabs/puppetlabs-stdlib/blob/master/lib/puppet/parse...
Frage, wo ist der grundlegende Unterschied, der den Fehler verursachen könnte?!
On 26.02.2016 16:08, Stefan wrote:
Das heißt, wir können damit weiter machen? :D
Nein, ich habe nur eine Funktion gleichen Typs genommen, die durchläuft. Es liegt also nicht grundlegend an Custom Functions.
Ich habe nun einen möglicherweise relevanten Unterschied identifiziert: In ipcalc wird ein Modul PuppetX definiert und eingebunden. Das könnte mit dem LOAD_PATH Bug von puppet zusammenhängen, wenn dieses Modul nicht geladen wird.
Ich schaue jetzt was die ruby IPAddr Klasse so kann, ob ich das gesamte ipcalc Modul neu schreiben kann und in wie weit das hilft.
Soo nach etwas hin und her läuft das jetzt fertig gestellte ipcalc Modul durch.
Zu beachten: Ich habe sowohl `puppetserver gem install netaddr` als auch `/opt/puppetlabs/puppet/bin/gem install netaddr` ausgeführt. Erst letzteres führte zum Erfolg.
Es sind weiterhin Fehler drin, auch im icvpn, ipcalc beschwert sich jetzt aber, dass die IP-Version von einem leeren String nicht erkannt wird. Scheinen also jetzt eher wieder kleinere Fehler zu sein, an die ich mich morgen dran machen werde.
Nothing to do here. Danke Leute!