On May 10, 12:54 pm, David Campos <[email protected]>
wrote:
> Hello all,
>
> I am having a strange problem matching a hierarchy of nodes like the
> following one:
>
> node basenode {
>
> > ...
> > }
> > node /^diaspora(?:-\d+)?$/ inherits basenode {
> > ...
> > }
> > node /^diaspora15(?:-\d+)?$/ inherits diaspora {
> > ...
> > }
>
> When I try to instantiate a node that should match the last one (for
> example diaspora15 or diaspora15-4433) I find that puppet matches that node
> but is not able to match the parent node. From my knowledge of regular
> expressions (and checking though rubular), diaspora matches my first
> regular expression so the inheritance should be complete.
>
> I get the following message:
>
> Could not find parent resource type 'diaspora' of type node in production
>
> > at /tmp/vagrant-puppet/manifests/diaspora.pp:14 on node diaspora15.scytl.net
>
> Also, when I instantiate a node named diaspora that works..
>
> Any idea of what I am doing wrong? I think that puppet allows that kind of
> matching.
Evidently, you are mistaken. Puppet is not matching the parent node
name against your regex nodes; instead it is looking for a node
definition bearing exactly that name. Frankly, I don't find that
surprising.
You should be able to resolve the problem with a slight juggling of
your node definitions:
node basenode {
...
}
node diaspora inherits basenode {
...
}
node /^diaspora-\d+$/ inherits diaspora {
# empty
}
node /^diaspora15(?:-\d+)?$/ inherits diaspora {
...
}
There are other variations and altogether different approaches, too,
but that's probably the closest to what you already have.
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.