Mastodon Mastodon - Puppet & Augeas & Pulp
 logo
  • Home 
  • Tags 
  • Blog posts 
  1. Home
  2. Blog posts
  3. Puppet & Augeas & Pulp

Puppet & Augeas & Pulp

Posted on July 19, 2013  (Last modified on March 9, 2022) • 1 min read • 184 words
Augeas   Puppet  
Augeas   Puppet  
Share via

Ach Augeas ist schon genial. Wenn nur nicht … (jaja, immer was zu meckern). Anlass diesmal: /etc/pulp/admin/admin.conf. Das ist eine in Augeas nicht vorgesehene Datei, und die Augeas-Doku ist … nun ja. Analyse: Die Datei besteht aus Sektionen ("[blablubb]"), und Einträgen (“hallo = welt”). Da sollte sich doch was finden lassen.

Tut es auch: Die IniFile-Lens. Preisfrage: Wie testet man das? Beim Ausprobieren stieß ich auch auf die Information, dass die IniFile-Lens nicht für direkte Nutzung gedacht ist, sondern nur für die Nutzung in … abgeleiteten Lenses. Wie z.B. der Puppet-Lens. Die angeblich gut passt. Dann testet man das auf der Konsole folgendermaßen:

augtool> set /augeas/load/IniFile/lens Puppet.lns
augtool> set /augeas/load/IniFile/incl /etc/pulp/admin/admin.conf
augtool> load
augtool> match /files/etc/pulp/admin/admin.conf/server/host
/files/etc/pulp/admin/admin.conf/server/host = localhost.localdomain

Schee. Total intuitiv, oder? 🙂

Ich möchte also den Wert von “host” unter “[server]” ändern, wie man sieht. Die dafür notwendige Puppet-Regel sieht so aus:

augeas { "admin.conf/${key}":
    incl    => '/etc/pulp/admin/admin.conf',
    lens    => 'Puppet.lns',
    onlyif  => "get /files/etc/pulp/admin/admin.conf/server/host != ${hostname}",
    changes => [
        "set /files/etc/pulp/admin/admin.conf/server/host ${hostname}",
    ],
}

So wird ein Schuh draus. Man beachte, dass in der onlyif-Abfrage vor und hinter “!=” ein Leerzeichen stehen muss.

 Nervige Puppet Fehler
Puppet, Arrays & Iteratoren 
In case you want to follow me

Here are some links. The further to the right, the less active.

           
(c) Axel Bock | Powered by Hinode.
Link copied to clipboard
Code copied to clipboard