FAQ
We're working on prototpying facter+puppet for our environment and
wondering what the generally accepted best-pratices are for handling
hierarchical custom facts in facter. Right now, we're using underscores.


For example, if I'm collecting infromation about the raid array, it would
be something like this:
---
custom_hw_localstorage_ctrl_0_array_0_raid => 1
custom_hw_localstorage_ctrl_0_array_1_raid => 5
---

Where the implied hierachy is something like:
custom
hw
localstorage
ctrl
0: array
0: raid = 1
1: raid = 5

And of course, there would be many, many more sub-items under "custom",
"hw", "localstorage", etc...

I'm using the facter 2 and puppet 3 RCs and I know they have hiera
included, but I'm not sure if or how that could help with this. Ultimately,
I'd like to be able to use these facts for decision making in puppet.

Thanks!

--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/9Zy_zeh12owJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.

Search Discussions

  • Felix Frank at Jul 20, 2012 at 8:37 am
    Hi,
    On 07/16/2012 03:53 PM, ZJE wrote:
    For example, if I'm collecting infromation about the raid array, it
    would be something like this:
    ---
    custom_hw_localstorage_ctrl_0_array_0_raid => 1
    custom_hw_localstorage_ctrl_0_array_1_raid => 5
    ---

    Where the implied hierachy is something like:
    custom
    hw
    localstorage
    ctrl
    0: array
    0: raid = 1
    1: raid = 5
    I believe that within the facter paradigm, this structure is as good as any.

    As far as I know, facter is supposed to support structured data such as
    arrays and hashes as fact values, but currently your workaround is
    probably the next best thing.

    Of course, accessing those dynamically will be quite an excercise, and
    probably not possible from the puppet DSL without resorting to inline
    templates.

    Cheers,
    Felix

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Zak Estrada at Jul 20, 2012 at 3:44 pm
    Thanks for the reply, it really helps to know that I'm not missing
    something. I'm doing this mostly in a custom type, so something like
    Facter["custom_hw_localstorage_ctrl_#{ctrlid}_array_#{arrayid}_raid"].value
    does the trick. I'm imagining if I needed to do this at the manifest
    level the ruby DSL would help, but I haven't tested it.
    On Fri, Jul 20, 2012 at 3:37 AM, Felix Frank wrote:
    Hi,
    On 07/16/2012 03:53 PM, ZJE wrote:
    For example, if I'm collecting infromation about the raid array, it
    would be something like this:
    ---
    custom_hw_localstorage_ctrl_0_array_0_raid => 1
    custom_hw_localstorage_ctrl_0_array_1_raid => 5
    ---

    Where the implied hierachy is something like:
    custom
    hw
    localstorage
    ctrl
    0: array
    0: raid = 1
    1: raid = 5
    I believe that within the facter paradigm, this structure is as good as any.

    As far as I know, facter is supposed to support structured data such as
    arrays and hashes as fact values, but currently your workaround is
    probably the next best thing.

    Of course, accessing those dynamically will be quite an excercise, and
    probably not possible from the puppet DSL without resorting to inline
    templates.

    Cheers,
    Felix

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedJul 16, '12 at 1:53p
activeJul 20, '12 at 3:44p
posts3
users2
websitepuppetlabs.com

2 users in discussion

Zak Estrada: 2 posts Felix Frank: 1 post

People

Translate

site design / logo © 2022 Grokbase