Hi Juan,

Thanks for your reply. I was going to look into using stored configs with
MySQL as per your suggestion, until I saw R.I.Pienaar's email :(

Yes, I would certainly use DNS if I could, but unfortunately DNS is not an
option in this setup.

I think I will have to either parse files (eek) or maybe look into that ENC
suggestion.

- Gonzalo


On Mon, Oct 14, 2013 at 10:45 PM, JuanBrein <[email protected]> wrote:

> Hi Gonzalo,
>
> First of all you don't need puppetdb to use exported resources. A simple
> mysql database will do it, even sqlite works, not recommended though.
> Specifically what you need is "stored configs" configured in your puppet
> master. The problem with exported resources is that sometimes they can be
> slow... depends obviously on the amount of nodes, resources, etc.
>
> Regarding your question if it can be done in a different way... I would
> definitely use DNS if possible... if not exported resources if very easy to
> implement. The function idea I don't think is "that" bad... I would prefer
> to query a database rather than parsing files.
>
> Another way I can think about is to use a custom ENC to export those
> parameter. The ENC would take the information from some type of database
> that you have to update as well. That would be definitely faster and a more
> elegant solution
>
> Depending on the size of your infrastructure and performance I would go
> for exported resources and if that is too slow I would consider some of the
> other options
>
> Cheers
>
> Juan
>
>
> On Monday, October 14, 2013 7:19:56 AM UTC+1, Gonzalo wrote:
>>
>> Hi All,
>>
>> I am using Puppet 3.2.4 and I'd like Puppet to manage /etc/hosts for me
>> and add "neighbouring hosts" only to /etc/hosts. These hosts are determined
>> to be neighbours based on where they are (city/country).
>>
>> For example ($::city and $::country are custom facts):
>>
>> @@host { $::fqdn:
>>    ip           => $::ipaddress,
>>    host_aliases => [ $::hostname ],
>>    tag          => [ $::city, $::country ],
>> }
>>
>> Host <<| tag == $::city and tag == $::country |>>
>>
>> As I have never used exported resources before, I gave this a try and
>> realised there is more to them than the above config. It looks like I need
>> to install PuppetDB to make it work, which looks challenging given that the
>> puppet master is on SLES 11.
>>
>> Apart from using exported resources, does anyone have any ideas on how to
>> achieve this?
>>
>> One nasty way of doing it was to create a Puppet function that looks at
>> /var/lib/puppet/yaml/node/*.**yaml and matches filenames based on a
>> regex passed in as an argument, then parses each yaml file and returns
>> 'ipaddress', 'fqdn' and 'hostname' from them to update /etc/hosts, but it's
>> way too hacky for my liking.
>>
>> - Gonzalo
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/puppet-users.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to