On Wed, Aug 15, 2012 at 2:28 AM, André Fernandes <andree...@gmail.com> wrote: > I am customizing an existing puppet installation (with facter) and I think I > ran into an issue understanding the scope of custom facts. > > I have several modules that are mapped exclusively to different classes of > hosts within a nodes.pp file. What I'd like to achieve would be to have > custom facts limited by module, for example hosts in module1would execute > custom_fact_1 and hosts in module2 would only execute custom_fact_2. > > According to the facter/puppet docs, the custom facts go into a > <module-name>/lib/facterdirectory, and are tied to that module. > > I have made it gather a few custom facts already, by adding the ruby scripts > to a single module'slib/facter dir, but strangely they are not limiting > themselves to the hosts to which the module is assigned. What is happening > is that all custom facts are ran for all hosts (even the ones that don't > have any relationship to that module), which is not exactly what I intended. > > Did I misunderstand the documentation? Is this type of fact-module mapping > possible? > > Note: I have achieved a similar behaviour by using confine instructions in > the custom facts scripts, but this goes against the intended purpose, since > I'd like to tie the custom facts to the modules themselves and not have the > mapping in the scripts.
Pluginsync distributes all modules lib dir in modulepath to the client. It's not based on whether a class in a module is assigned to the client. So yes custom facts get shipped to every system in that environment. Nan -- 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.