On Jan 16, 4:16 am, Florian Koch <[email protected]>
wrote:
> Hi,
>
> i use exported hosts and  Host <<| |>> to collect all hosts and ips
> for my hosts file.
>
> i like to use this to manage my dnsmasq installation, and use
>
> <<| tag == ${domain} |>> ~>Service['dnsmasq']
>
> this works.
>
> on another Host i use only
>
> <<| |>>
>
> and get the error "Dependency dnsmasq not found on host ..."
>
> How can i solve this?


The problem is that at least one of the Host resources you are
collecting has an expressed relationship with a resource named
'dnsmasq' (perhaps the Service, perhaps a Package, perhaps something
else), that has not been declared yet at the point where the
collection appears.  Even if none of your Host declarations explicitly
declares a relationship via the 'require' metaparameter or one of its
kin, that could happen if one or more of your nodes exports a Host
corresponding to itself and also collects that Host using the resource-
chaining form above.

How you should solve it depends on several factors:

1) Is it intentional that some or all of your Host resources depend
(in the Puppet sense) on dnsmasq?

1a) If yes, is that supposed to be on all nodes, or only on some?

2) Is it a parameterized or non-parameterized class in which
Service['dnsmasq'] is declared?  If non-parameterized, is it assigned
to a non-default run stage?

3) Do you collect the Host resources near where you declare them (e.g.
in the same or a closely-related class)?

If your intention is that Hosts may depend on 'dnsmasq' on the nodes
that export them, but not necessarily on the nodes that collect them,
then you could try overriding the relationship as needed when you
collect, for example:

Host <<| |>> {
    notify => undef
}


If you need more specific advice, then it would help greatly if you
showed us all the relevant sections of your manifest.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to