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? rgds Florian -- 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.
On Jan 16, 4:16 am, Florian Koch <florian.koch1...@googlemail.com> 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 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, first, thanks for the reply, and the solutio! Set "notify => undef" on the node without the dependency does the trick for me. For completing the Informations: i do the export on all nodes, and the collect on two nodes. the first collecting node should get all exported hosts, the second schould only get hosts for a specific domain , and on this host the service dnsmasq should be notifyed. rgds Florian On Jan 17, 3:07 pm, jcbollinger <John.Bollin...@stJude.org> wrote:> On Jan 16, 4:16 am, Florian Koch <florian.koch1...@googlemail.com> > 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 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.