Hey, I''ve been talking about this stuff on IRC now, and the consensus is that I should be using defines to handle this problem, but I wanted to put into a single email my feeling on this, and hopefully find out what some other people do (those I haven''t spoken to on IRC). My problem is to do with the inability to apply global requirements for various resources, that I can then override in modules. What I want to be able to do (please ignore any broken syntax as this is just an example): In site.pp - Package { require => [ Yumrepo[''blah''], MyOtherThing[''blah''], MyNetworkDefine, Exec[''rhn-register''] ],} In modules: package { "blah": require +> Package[''another''] }, I want to be able to have it then append the last requirement to the four ''global'' requirements and thereby ensure that the repos, network and various requirements are satisified before it starts trying to install packages. Yes, I can add custom definitions to add packages that satisfy my needs, but then when I distribute my modules there''s yet more mess to unroll for other people, they have to either make their own similar define, take mine and modify it or replace all mine with a standard package{}. I have to document this ever increasing list of definitions for my coworkers, they can''t use the standard resources anymore. Is this an unreasonable requirement? I would love to hear what lak thinks about the issue. I''m going to have to slowly turn to more and more definitions, and I was trying to avoid that. I tried to make all my modules ''generic'' where possible so nodes were controled simply by including the required classes. Is it really good design to have more and more definitions that are called from the node statements? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
If your goal is to have self-contained modules, this behavior seems fundamentally opposed to that goal. If stuff in your modules require those things in site.pp, you need to be explicitly specifying them in your modules. If not, then there is no reason to ''inherit'' the global settings. Maybe I''m missing something? --Paul On Mon, Jun 2, 2008 at 7:03 AM, Ashley Penney <apenney@gmail.com> wrote:> Hey, > > I''ve been talking about this stuff on IRC now, and the consensus is that I > should be using defines to handle this problem, but I wanted to put into a > single email my feeling on this, and hopefully find out what some other > people do (those I haven''t spoken to on IRC). My problem is to do with the > inability to apply global requirements for various resources, that I can > then override in modules. > > What I want to be able to do (please ignore any broken syntax as this is > just an example): > > In site.pp - Package { require => [ Yumrepo[''blah''], MyOtherThing[''blah''], > MyNetworkDefine, Exec[''rhn-register''] ],} > > In modules: package { "blah": require +> Package[''another''] }, > > I want to be able to have it then append the last requirement to the four > ''global'' requirements and thereby ensure that the repos, network and various > requirements are satisified before it starts trying to install packages. > Yes, I can add custom definitions to add packages that satisfy my needs, but > then when I distribute my modules there''s yet more mess to unroll for other > people, they have to either make their own similar define, take mine and > modify it or replace all mine with a standard package{}. I have to document > this ever increasing list of definitions for my coworkers, they can''t use > the standard resources anymore. > > Is this an unreasonable requirement? I would love to hear what lak thinks > about the issue. I''m going to have to slowly turn to more and more > definitions, and I was trying to avoid that. I tried to make all my modules > ''generic'' where possible so nodes were controled simply by including the > required classes. Is it really good design to have more and more > definitions that are called from the node statements? > > > >--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Marcin Owsiany
2008-Jun-04 17:49 UTC
[Puppet Users] Re: Packages, dependencies and globals.
On Mon, Jun 02, 2008 at 10:03:39AM -0400, Ashley Penney wrote:> My problem is to do with the > inability to apply global requirements for various resources, that I can > then override in modules.[...]> Is this an unreasonable requirement? I would love to hear what lak thinks > about the issue. I''m going to have to slowly turn to more and more > definitions, and I was trying to avoid that. I tried to make all my modules > ''generic'' where possible so nodes were controled simply by including the > required classes. Is it really good design to have more and more > definitions that are called from the node statements?If I understand you correctly, this is the same as my wish that I expressed in http://groups.google.com/group/puppet-dev/browse_thread/thread/d9ccb6e7571926f6/9508a9608f3036d3 That thread has some developers'' responses and pointers to tickets. -- Marcin Owsiany <marcin@owsiany.pl> http://marcin.owsiany.pl/ GnuPG: 1024D/60F41216 FE67 DA2D 0ACA FC5E 3F75 D6F6 3A0D 8AA0 60F4 1216 "Every program in development at MIT expands until it can read mail." -- Unknown --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Ashley Penney
2008-Jun-04 17:49 UTC
[Puppet Users] Re: Packages, dependencies and globals.
Originally my goal was to have all modules self-contained but for practical reasons that just hasn''t and won''t work. (Such as, iclassify needs mysql, and it includes it as a result). I think I''m just unhappy with having to add a require => statement of four things to EVERY package{} statement in every module. There''s two types of requirements, those my site needs and those the module needs. I want to be able to specify them seperately, so I can add requirements that are site driven, and requirements that are module driven (the requirement for my own repo is site driven, but the requirement to install the package before the service is module driven). On Wed, Jun 4, 2008 at 1:33 PM, Paul Lathrop <paul@tertiusfamily.net> wrote:> > If your goal is to have self-contained modules, this behavior seems > fundamentally opposed to that goal. If stuff in your modules require > those things in site.pp, you need to be explicitly specifying them in > your modules. If not, then there is no reason to ''inherit'' the global > settings. > > Maybe I''m missing something? > > --Paul > > On Mon, Jun 2, 2008 at 7:03 AM, Ashley Penney <apenney@gmail.com> wrote: > > Hey, > > > > I''ve been talking about this stuff on IRC now, and the consensus is that > I > > should be using defines to handle this problem, but I wanted to put into > a > > single email my feeling on this, and hopefully find out what some other > > people do (those I haven''t spoken to on IRC). My problem is to do with > the > > inability to apply global requirements for various resources, that I can > > then override in modules. > > > > What I want to be able to do (please ignore any broken syntax as this is > > just an example): > > > > In site.pp - Package { require => [ Yumrepo[''blah''], > MyOtherThing[''blah''], > > MyNetworkDefine, Exec[''rhn-register''] ],} > > > > In modules: package { "blah": require +> Package[''another''] }, > > > > I want to be able to have it then append the last requirement to the four > > ''global'' requirements and thereby ensure that the repos, network and > various > > requirements are satisified before it starts trying to install packages. > > Yes, I can add custom definitions to add packages that satisfy my needs, > but > > then when I distribute my modules there''s yet more mess to unroll for > other > > people, they have to either make their own similar define, take mine and > > modify it or replace all mine with a standard package{}. I have to > document > > this ever increasing list of definitions for my coworkers, they can''t use > > the standard resources anymore. > > > > Is this an unreasonable requirement? I would love to hear what lak > thinks > > about the issue. I''m going to have to slowly turn to more and more > > definitions, and I was trying to avoid that. I tried to make all my > modules > > ''generic'' where possible so nodes were controled simply by including the > > required classes. Is it really good design to have more and more > > definitions that are called from the node statements? > > > > > > > > > > >--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Ashley Penney
2008-Jun-04 17:52 UTC
[Puppet Users] Re: Packages, dependencies and globals.
Aha, that is EXACTLY what I want and it''s nice to know that it''s in hand and there''s a ticket filed on it. I expect in the future it''ll just arrive and I''ll be able to make the changes to use it. Thanks, On Wed, Jun 4, 2008 at 1:49 PM, Marcin Owsiany <marcin@owsiany.pl> wrote:> > On Mon, Jun 02, 2008 at 10:03:39AM -0400, Ashley Penney wrote: > > My problem is to do with the > > inability to apply global requirements for various resources, that I can > > then override in modules. > [...] > > Is this an unreasonable requirement? I would love to hear what lak > thinks > > about the issue. I''m going to have to slowly turn to more and more > > definitions, and I was trying to avoid that. I tried to make all my > modules > > ''generic'' where possible so nodes were controled simply by including the > > required classes. Is it really good design to have more and more > > definitions that are called from the node statements? > > If I understand you correctly, this is the same as my wish that I > expressed in > > http://groups.google.com/group/puppet-dev/browse_thread/thread/d9ccb6e7571926f6/9508a9608f3036d3 > > That thread has some developers'' responses and pointers to tickets. > > -- > Marcin Owsiany <marcin@owsiany.pl> http://marcin.owsiany.pl/ > GnuPG: 1024D/60F41216 FE67 DA2D 0ACA FC5E 3F75 D6F6 3A0D 8AA0 60F4 1216 > > "Every program in development at MIT expands until it can read mail." > -- Unknown > > > >--~--~---------~--~----~------------~-------~--~----~ 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 Jun 2, 2008, at 9:03 AM, Ashley Penney wrote:> Hey, > > I''ve been talking about this stuff on IRC now, and the consensus is > that I should be using defines to handle this problem, but I wanted > to put into a single email my feeling on this, and hopefully find > out what some other people do (those I haven''t spoken to on IRC). > My problem is to do with the inability to apply global requirements > for various resources, that I can then override in modules. > > What I want to be able to do (please ignore any broken syntax as > this is just an example): > > In site.pp - Package { require => [ Yumrepo[''blah''], > MyOtherThing[''blah''], MyNetworkDefine, Exec[''rhn-register''] ],} > > In modules: package { "blah": require +> Package[''another''] }, > > I want to be able to have it then append the last requirement to the > four ''global'' requirements and thereby ensure that the repos, > network and various requirements are satisified before it starts > trying to install packages. Yes, I can add custom definitions to > add packages that satisfy my needs, but then when I distribute my > modules there''s yet more mess to unroll for other people, they have > to either make their own similar define, take mine and modify it or > replace all mine with a standard package{}. I have to document this > ever increasing list of definitions for my coworkers, they can''t use > the standard resources anymore. > > Is this an unreasonable requirement? I would love to hear what lak > thinks about the issue. I''m going to have to slowly turn to more > and more definitions, and I was trying to avoid that. I tried to > make all my modules ''generic'' where possible so nodes were controled > simply by including the required classes. Is it really good design > to have more and more definitions that are called from the node > statements?There''s currently at least one open ticket on this[1], and really, there''s another related ticket[2]. 1 - http://reductivelabs.com/redmine/issues/show/1044 2 - http://reductivelabs.com/redmine/issues/show/1088 I.e., I agree that it''s a problem, I want a fix, but I don''t know of a good fix at this point, and even if I did I don''t have the time to dedicate to implementing it. If someone''s willing to fund the work, then time can be found, but otherwise, there are currently issues that are higher on the priority list, both for Puppet and for me. -- If you make people think they''re thinking, they''ll love you; But if you really make them think, they''ll hate you. -- Don Marquis --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---