Puppet custom fact easy as 1, 2, 3.

After taking a careful reading at creating a custom fact. The solution was as follows to get the net uuid from /etc/sysconfig/network-scripts/ifcfg-eth0:

My custom fact stored on <modulepath>/<module>/lib/facter/netuuid.rb:
Facter.add('netuuid') do
        setcode do
                Facter::Core::Execution.exec("echo `grep UUID /etc/sysconfig/network-scripts/ifcfg-eth0 | cut -c 7-42`")
        end
end

I have created the <modulepath>/<module>/templates/netuuid.erb with this content:
<%= netuuid %>

And then call my custom netuuid facter variable on a template inside a manifest:
class netuuid {
        file { '/tmp/netuuid':
                        path    => '/tmp/netuuid',
                        ensure  => file,
                        content => template("module1/netuuid.erb"),
                }
}

# cat /tmp/netuuid
Publicar un comentario

Entradas populares de este blog

Cómo tener un cultivo de búlgaros (Kéfir) por años

Jugando con la API de bitso: bitso-py

Mientras tanto, en internet... MUJERES CHINGONAS