On 19 June 2012 16:55, David Schmitt <da...@dasz.at> wrote: > On 19.06.2012 16:48, Erik Dalén wrote: >> >> I've created a set of functions that exposes the PuppetDB query API >> from inside puppet. Feel free to give them a spin and get back to me >> with any bugs or feedback. >> >> https://github.com/dalen/puppet-puppetdbquery >> >> They require ruby-restclient, ruby-json and the puppetdb-terminus. >> >> To give you an example of a query you can do inside puppet code using >> these functions and PuppetDB: >> >> # Return an array of active nodes with an uptime more than 30 days and >> # having the class 'apache' >> $hosts = pdbnodequery([ 'and', [ '=', [ 'node', 'active' ], true ], >> ['>', [ 'fact', 'uptime_days' ], 30 ] ], >> [ 'and', [ '=', 'type', 'Class' ], [ '=', 'title', 'Apache' ] ] )" >> >> This can be used for example to populate lists of nodes behind load >> balancers and such dynamically instead of writing them down in your >> puppet code. > > > Nice! Do you have any number comparing the performance of this against > collection of a similar amount of resources by the puppetmaster? >
Not entirely sure I know what you mean, but it should be a lot faster than parsing through cached catalogs searching for matching nodes if that's what you mean? So far I haven't done any extensive performance testing on PuppetDB, I think the puppetlabs guys have though with good results. The performance hit from these functions themselves if any would be in parsing the returned JSON and handing that back to puppet, but the time consumed for that should be minimal. -- Erik Dalén -- 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+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.