thanks so much to peter meier and silviu paragina for their assistance. i didn't realize i needed the capital S in Service and the slightly different format in changing the value of the service resource than when first creating it. i wanted to test it to make sure it worked, and it did!
thanks so much again :) -mark On Fri, Nov 27, 2009 at 5:16 PM, Silviu Paragina <sil...@paragina.ro> wrote: > > On 26.11.2009 16:48, mark wrote: >> >> back on my own account again, updating: >> hi! thanks for the advice >> i think i don't understand the nature of 'include'. in my mind include >> is something that is invisible to the actual engine that does >> things..it's a shorthand >> >> that replaces 'include X' with the contents of X and then the software >> goes to work on the final result and humans don't have to look at >> hugely long files. >> > > no, not by far. > Include has the meaning, make sure that the rules in the specified class are > also applied. Multiple includes of the same class from different places will > apply the class only once. > Require (>=0.25, hope this is what is called never actually used it :"> ) is > similar, with the sole exception that it makes sure that the definitions in > the specified class are applied before the definitions in your class. > Also note that there is no particular order in which your definitions are > applied. When you use before it just means that the current resource will be > applied before the other resource, but 1000 other resources could be applied > in between.(same goes for require) > > >> so when i see a file that says >> >> class A { >> >> blah >> >> } >> >> include A >> >> >> >> it seems like it's redundant...so i'm thinking in the puppet >> world..does include have some stronger meaning like "and execute the >> code"? >> >> > > You should think at it more of a description, not code. (like you would in > any other descriptive language) > >> >> here is the specifics of my multilayer include world: >> >> ------------------------------------------------------ >> >> my attempt to trace the lineage of the resource i'm bumping into >> >> in my manifest/node file: >> >> node "chquoteq02.tradearca.com" { >> >> ... >> >> include base::setup >> >> ... >> >> i'd like to TURN ON SERVICE netfs for this node >> >> >> >> } >> >> ------------------------------------------------------ >> >> in /etc/puppet/modules-base/trunk/base/manifests/init.pp: >> >> >> >> class base::setup { >> >> ... >> >> include services::setup >> >> ... >> >> } >> >> ------------------------------------------------------ >> >> in /etc/puppet/modules-base/trunk/services/manifests/init.pp: >> >> >> >> class services::setup { >> >> ... >> >> include services::base >> >> ... >> >> } >> >> >> >> class services::base { >> >> ... >> >> service { netfs: >> >> ... TURNS OFF SERVICE >> >> } >> >> ... >> >> } >> >> >> >> >> >> >> >> so give this, i tried this (but it didn't work) in my manifest/node >> file: >> >> class myoverrideclass inherits services::base { >> >> service { netfs: >> >> enable => true, >> >> ensure => running, >> >> hasstatus => true, >> >> } >> >> } >> > > Service with "S" not "s". When the first letter is uppercase the statement > alters an already existing definition, when it's lower case it's a new > definition. Here: > http://reductivelabs.com/trac/puppet/wiki/LanguageTutorial#classes . > > >> >> >> include base::setup >> >> include myoverrideclass >> >> >> >> i ran: puppetd -ov --no-daemonize >> > > I prefer puppetd --test (faster to write and not too verbose) >> >> on the client server and got: >> >> err: Could not retrieve catalog: Puppet::Parser::AST::Resource failed >> with error ArgumentError: Duplicate definition: Service[netfs] is >> already defined in file /etc/puppet/modules-base/trunk/services/ >> manifests/init.pp at line 385; cannot redefine at /etc/puppet/ >> manifests/nodes/chquoteq02.tradearca.com.node:491 on node >> chquoteq02.tradearca.com >> >> >> >> i even tried moving the 'include base::setup' to be above the >> 'myoverrideclass' definition but still the same problem... >> >> On Nov 25, 2:17 pm, Peter Meier<peter.me...@immerda.ch> wrote: >> >>> >>> Hi >>> >>> >>>> >>>> i've been fiddling around with the inherits form...but..i can't seem >>>> to get any headway out of it. >>>> >>> >>> What is your problem with inheritance? Maybe we can give you a way out >>> and following example shows you that it is the way to go: >>> >>> $ cat foo.pp >>> class a { >>> file{'/tmp/a': ensure => file} >>> file{'/tmp/b': ensure => file} >>> >>> } >>> >>> class b inherits a { >>> File['/tmp/b']{ensure => absent } >>> >>> } >>> >>> include a >>> include b >>> $ puppet foo.pp >>> notice: //a/File[/tmp/a]/ensure: created >>> $ >>> >>> you can include the inherited class anywhere you'd like to. So for >>> example simply write disable classes for the services you don't want to >>> manage on certain nodes and then include these in your node. >>> >>> cheers pete >>> >> >> -- >> >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To post to this group, send email to puppet-us...@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. >> >> >> > > Good luck and welcome to puppet, > Silviu > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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.