To get this sort of thing right, you need to think in terms of
Puppet's logical model of the managed system, as opposed to in terms
of the observable result of Puppet's work. In particular, as far as
Puppet is concerned, managing file /etc/hosts via a File resource is
logically distinct from managing entries in that file via Host
resources. File[/etc/hosts] will trigger subscribers if it itself
needs to apply any changes, but it doesn't know anything about Host
resources. Indeed, it is possible that on some systems, Host
resources do not physically manifest in that file.
In your all-local example, File[/etc/hosts] manages the content of
the /etc/hosts file (source = ...), so it triggers Service[dnsmasq]
when that content changes. In your exported-resource example, File[/
etc/hosts] manages only the existence, ownership, and mode of the
file -- not its contents -- so it only notifies subscribers if one of
those things is changed.
You need Service[dnsmasq] to subscribe to all the Host resources,
or, as Greg suggested, you need the Host entries to notify the
Service.
John
John, Greg,
Thanks for the tips, once I forced the hosts resources to notify the
service all is working as intended, thanks!
Nathan
--
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.