HI everyone,

Finally Dan, my inheritance was not working because there was a depency
problem that's why my realization was not working right.


Now regarding the final solution the same schema is applied:
Because I have the following class:
# user_system.pp
#
# Realize the system users

class user::user_system inherits user::virtual {
        # Realize system members
        Group <| tag == 'user_system' |> -> User <| tag == 'user_system' |>
}


And the class:
# unixadmins.pp
#
# Realize the members of the Unix team and include any contractors

class user::user_sysadmin inherits user::user_system {
        # Realize our team members
        Group <| tag == 'user_sysadmin' |> -> User <| tag ==
'user_sysadmin' |>
}


But apparently was more thinking class heritance as pre-required but this
seems to be the wrong understanding of the concept and the use of class
inheritance as to be used only to redefined ressource or add some; at least
that's what I have understand from John's messages: "it should be reserved
for cases where the subclass overrides properties of a superclass's
resources"



On Fri, Jan 6, 2012 at 6:42 PM, Dan White <y...@comcast.net> wrote:

> Could you post the final solution ?
> I am interested to see the proper way of doing this.
>
> Thanks.
>
> “Sometimes I think the surest sign that intelligent life exists elsewhere
> in the universe is that none of it has tried to contact us.”
> Bill Waterson (Calvin & Hobbes)
>
> ----- Antidot SAS <antidot...@gmail.com> wrote:
> > I found out what was the problem: a group wasn't declared right. But you
> > point out a acknowledge that I misunderstand the class inheritance is
> just
> > to change the defaut attributs not to be executed before, thx for
> reminding
> > me this.
> > Le 6 janv. 2012 15:22, "jcbollinger" <john.bollin...@stjude.org> a
> écrit :
> >
> > >
> > >
> > > On Jan 5, 12:25 pm, Antidot SAS <antidot...@gmail.com> wrote:
> > > > Hi everyone,
> > > >
> > > > I have a quick question for everybody, does the class inheritance
> work
> > > for
> > > > realizing ressource?
> > > >
> > > > Because I have the following class:
> > > > # user_system.pp
> > > > #
> > > > # Realize the system users
> > > >
> > > > class user::user_system inherits user::virtual {
> > > >         # Realize system members
> > > >         Group <| tag == 'user_system' |> -> User <| tag ==
> 'user_system'
> > > |>
> > > >
> > > > }
> > > >
> > > > And the class:
> > > > # unixadmins.pp
> > > > #
> > > > # Realize the members of the Unix team and include any contractors
> > > >
> > > > class user::user_sysadmin inherits user::user_system {
> > > >         # Realize our team members
> > > >         Group <| tag == 'user_sysadmin' |> -> User <| tag ==
> > > > 'user_sysadmin' |>
> > > >
> > > > }
> > > >
> > > > each time a node uses the class 'user::user_sysadmin' the
> realisation of
> > > > the class 'user::user_system' doesn't work, did I misunderstand the
> class
> > > > inheritance?
> > >
> > >
> > > I think you understood correctly, to a point.  Given the classes you
> > > specified, if your manifest includes class user::user_sysadmin then I
> > > would expect both Group collections and both User collections to be
> > > realized, with dependencies set up per the chaining operators you
> > > used.  You didn't say how you determined that this was not happening,
> > > and without knowing the contents of class user::virtual I cannot
> > > venture a guess.
> > >
> > > HOWEVER, what you have shown is not an appropriate use case for class
> > > inheritance.  Inheritance can get the job done here (or should be able
> > > to do), but it should be reserved for cases where the subclass
> > > overrides properties of a superclass's resources.  Otherwise, it works
> > > as well or better, and is more flexible, to 'include' the erstwhile
> > > parent class instead of inheriting from it:
> > >
> > > class user::user_system {
> > >        include 'user::virtual '
> > >        Group <| tag == 'user_system' |> -> User <| tag ==
> > > 'user_system' |>
> > > }
> > >
> > > class user::user_sysadmin {
> > >        include 'user::user_system'
> > >        Group <| tag == 'user_sysadmin' |> -> User <| tag ==
> > > 'user_sysadmin' |>
> > > }
> > >
> > > It is possible that rewriting your classes that way will solve the
> > > problem, but I can hardly be confident without understanding the
> > > nature of the problem in the first place.
> > >
> > >
> > > 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+unsubscr...@googlegroups.com.
> > > For more options, visit this group at
> > > http://groups.google.com/group/puppet-users?hl=en.
> > >
> > >
> >
> > --
> > 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.
> >
>
> --
> 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.
>
>

-- 
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.

Reply via email to