Hi All, I''m successfully using Exported Resources and StoreConfigs on my puppet system. I''m able to populate the hosts files on all of my nodes, and that''s pretty cool. My problem is that i''m not quite clear how to query the information stored in the Exported Resources database for other things. e.g., I want to setup Postfix to allow relay from _all_ of the IPs that facter has reported to the puppet master. How can I pull all of the IPs from the database and turn them into puppet variable array? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Stefano Harding
2009-Aug-25 09:19 UTC
[Puppet Users] Re: Exported Resources: noob help please!
I too would like to know how to pull like this from the stored config db... - Stefano On Aug 22, 2009, at 7:48 PM, robbyt <robbyt@robbyt.net> wrote:> > Hi All, > > I''m successfully using Exported Resources and StoreConfigs on my > puppet system. I''m able to populate the hosts files on all of my > nodes, and that''s pretty cool. > > My problem is that i''m not quite clear how to query the information > stored in the Exported Resources database for other things. e.g., I > want to setup Postfix to allow relay from _all_ of the IPs that facter > has reported to the puppet master. How can I pull all of the IPs from > the database and turn them into puppet variable array? > >--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
> > Hi All, > > > I''m successfully using Exported Resources and StoreConfigs on my > > puppet system. I''m able to populate the hosts files on all of my > > nodes, and that''s pretty cool. > > > My problem is that i''m not quite clear how to query the information > > stored in the Exported Resources database for other things. e.g., I > > want to setup Postfix to allow relay from _all_ of the IPs that facter > > has reported to the puppet master. How can I pull all of the IPs from > > the database and turn them into puppet variable array?On Aug 25, 5:19 am, Stefano Harding <shard...@ebrary.com> wrote:> I too would like to know how to pull like this from the stored config > db... > > - Stefano >I''m glad someone else out there feels the same way about Exported Resources. I''ve resulted to using exported resources in a manifest to have the local puppet on the puppetmaster write templates for other modules which then get picked up by other nodes. Messy stuff. There has to be a better way to do this without manually defining all of my IP addresses in variables? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
David Schmitt
2009-Aug-26 07:29 UTC
[Puppet Users] Re: Exported Resources: noob help please!
robbyt wrote:>>> Hi All, >>> I''m successfully using Exported Resources and StoreConfigs on my >>> puppet system. I''m able to populate the hosts files on all of my >>> nodes, and that''s pretty cool. >>> My problem is that i''m not quite clear how to query the information >>> stored in the Exported Resources database for other things. e.g., I >>> want to setup Postfix to allow relay from _all_ of the IPs that facter >>> has reported to the puppet master. How can I pull all of the IPs from >>> the database and turn them into puppet variable array? > > On Aug 25, 5:19 am, Stefano Harding <shard...@ebrary.com> wrote: >> I too would like to know how to pull like this from the stored config >> db... >> >> - Stefano >> > > I''m glad someone else out there feels the same way about Exported > Resources. I''ve resulted to using exported resources in a manifest to > have the local puppet on the puppetmaster write templates for other > modules which then get picked up by other nodes. > > Messy stuff. > > There has to be a better way to do this without manually defining all > of my IP addresses in variables?Why don''t you collect and build those things directly on the node where you need it? Use something like the concatenated_file define[1]: source: @@concatenated_file_part { "$ipaddress": dir => "/var/lib/puppet/ips", content => "$ipaddress\n", tag => ''ip'' } target: Concatenated_file_part <<| tag == ''ip'' |>> concatenated_file { "/etc/iplist": dir => "/var/lib/puppet/ips", } This gives you a list of all $ipaddresses in /etc/iplist on the target. Regards, DavidS [1]http://github.com/puppet-modules/puppet-common/blob/0caa32db1aaad6dabc9542c5e0aa20e76ea94f48/manifests/defines/concatenated_file.pp --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
David,how does the code you provided handle the removal of a "source" node ? as far as i can tell the directory that contains the concatenated_file_parts doesn''t get purged on each puppet iteration.so even after the "source" node stops exporting its file_part the Concatenated_file will contain its entry. Maybe some time-stamp magic is needed here ... David Schmitt wrote:> robbyt wrote: > >>> Hi All, > >>> I''m successfully using Exported Resources and StoreConfigs on my > >>> puppet system. I''m able to populate the hosts files on all of my > >>> nodes, and that''s pretty cool. > >>> My problem is that i''m not quite clear how to query the information > >>> stored in the Exported Resources database for other things. e.g., I > >>> want to setup Postfix to allow relay from _all_ of the IPs that facter > >>> has reported to the puppet master. How can I pull all of the IPs from > >>> the database and turn them into puppet variable array? > > > > On Aug 25, 5:19 am, Stefano Harding <shard...@ebrary.com> wrote: > >> I too would like to know how to pull like this from the stored config > >> db... > >> > >> - Stefano > >> > > > > I''m glad someone else out there feels the same way about Exported > > Resources. I''ve resulted to using exported resources in a manifest to > > have the local puppet on the puppetmaster write templates for other > > modules which then get picked up by other nodes. > > > > Messy stuff. > > > > There has to be a better way to do this without manually defining all > > of my IP addresses in variables? > > Why don''t you collect and build those things directly on the node where > you need it? > > Use something like the concatenated_file define[1]: > > source: > > @@concatenated_file_part { "$ipaddress": > dir => "/var/lib/puppet/ips", > content => "$ipaddress\n", > tag => ''ip'' > } > > target: > > Concatenated_file_part <<| tag == ''ip'' |>> > concatenated_file { "/etc/iplist": > dir => "/var/lib/puppet/ips", > } > > This gives you a list of all $ipaddresses in /etc/iplist on the target. > > Regards, DavidS > > [1]http://github.com/puppet-modules/puppet-common/blob/0caa32db1aaad6dabc9542c5e0aa20e76ea94f48/manifests/defines/concatenated_file.pp--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
David Schmitt
2009-Aug-27 14:05 UTC
[Puppet Users] Re: Exported Resources: noob help please!
Oded wrote:> David,how does the code you provided handle the removal of a "source" > node ? as far as i can tell the directory that contains the > concatenated_file_parts doesn''t get purged on each puppet > iteration.so even after the "source" node stops exporting its > file_part the Concatenated_file will contain its entry. > Maybe some time-stamp magic is needed here ...The directory where all thos parts land is "purged". So you need to delete the node from your stored configs (see the kill_node script on the wiki) or run it a last time with no classes at all. Then the file will vanish automatically on the next run on the target. Regards, DavidS> > David Schmitt wrote: >> robbyt wrote: >>>>> Hi All, >>>>> I''m successfully using Exported Resources and StoreConfigs on my >>>>> puppet system. I''m able to populate the hosts files on all of my >>>>> nodes, and that''s pretty cool. >>>>> My problem is that i''m not quite clear how to query the information >>>>> stored in the Exported Resources database for other things. e.g., I >>>>> want to setup Postfix to allow relay from _all_ of the IPs that facter >>>>> has reported to the puppet master. How can I pull all of the IPs from >>>>> the database and turn them into puppet variable array? >>> On Aug 25, 5:19 am, Stefano Harding <shard...@ebrary.com> wrote: >>>> I too would like to know how to pull like this from the stored config >>>> db... >>>> >>>> - Stefano >>>> >>> I''m glad someone else out there feels the same way about Exported >>> Resources. I''ve resulted to using exported resources in a manifest to >>> have the local puppet on the puppetmaster write templates for other >>> modules which then get picked up by other nodes. >>> >>> Messy stuff. >>> >>> There has to be a better way to do this without manually defining all >>> of my IP addresses in variables? >> Why don''t you collect and build those things directly on the node where >> you need it? >> >> Use something like the concatenated_file define[1]: >> >> source: >> >> @@concatenated_file_part { "$ipaddress": >> dir => "/var/lib/puppet/ips", >> content => "$ipaddress\n", >> tag => ''ip'' >> } >> >> target: >> >> Concatenated_file_part <<| tag == ''ip'' |>> >> concatenated_file { "/etc/iplist": >> dir => "/var/lib/puppet/ips", >> } >> >> This gives you a list of all $ipaddresses in /etc/iplist on the target. >> >> Regards, DavidS >> >> [1]http://github.com/puppet-modules/puppet-common/blob/0caa32db1aaad6dabc9542c5e0aa20e76ea94f48/manifests/defines/concatenated_file.pp > > > >--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Great ,thanks. Oded On Aug 27, 5:05 pm, David Schmitt <da...@dasz.at> wrote:> Odedwrote: > > David,how does the code you provided handle the removal of a "source" > > node ? as far as i can tell the directory that contains the > > concatenated_file_parts doesn''t get purged on each puppet > > iteration.so even after the "source" node stops exporting its > > file_part the Concatenated_file will contain its entry. > > Maybe some time-stamp magic is needed here ... > > The directory where all thos parts land is "purged". So you need to > delete the node from your stored configs (see the kill_node script on > the wiki) or run it a last time with no classes at all. Then the file > will vanish automatically on the next run on the target. > > Regards, DavidS > > > > > > > David Schmitt wrote: > >> robbyt wrote: > >>>>> Hi All, > >>>>> I''m successfully using Exported Resources and StoreConfigs on my > >>>>> puppet system. I''m able to populate the hosts files on all of my > >>>>> nodes, and that''s pretty cool. > >>>>> My problem is that i''m not quite clear how to query the information > >>>>> stored in the Exported Resources database for other things. e.g., I > >>>>> want to setup Postfix to allow relay from _all_ of the IPs that facter > >>>>> has reported to the puppet master. How can I pull all of the IPs from > >>>>> the database and turn them into puppet variable array? > >>> On Aug 25, 5:19 am, Stefano Harding <shard...@ebrary.com> wrote: > >>>> I too would like to know how to pull like this from the stored config > >>>> db... > > >>>> - Stefano > > >>> I''m glad someone else out there feels the same way about Exported > >>> Resources. I''ve resulted to using exported resources in a manifest to > >>> have the local puppet on the puppetmaster write templates for other > >>> modules which then get picked up by other nodes. > > >>> Messy stuff. > > >>> There has to be a better way to do this without manually defining all > >>> of my IP addresses in variables? > >> Why don''t you collect and build those things directly on the node where > >> you need it? > > >> Use something like the concatenated_file define[1]: > > >> source: > > >> @@concatenated_file_part { "$ipaddress": > >> dir => "/var/lib/puppet/ips", > >> content => "$ipaddress\n", > >> tag => ''ip'' > >> } > > >> target: > > >> Concatenated_file_part <<| tag == ''ip'' |>> > >> concatenated_file { "/etc/iplist": > >> dir => "/var/lib/puppet/ips", > >> } > > >> This gives you a list of all $ipaddresses in /etc/iplist on the target. > > >> Regards, DavidS > > >> [1]http://github.com/puppet-modules/puppet-common/blob/0caa32db1aaad6dab...--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---