I am using example42s squid module https://github.com/example42/puppet-modules/tree/master/squid, and trying to define certain user variable at the puppet/manifest/nodes.pp level This is the first module of their''s I''ve tried, I''ve read over their documentation and FAQ and for the life of me I can not figure this out. To me their examples are VERY HIGH level and I''m _really_ new to puppet. I''m sure I''m missing something fundamental but I''m just not seeing it. I''ve also installed example42s ''common'' module which is needed to make the type of changes I''m talking about. The following works fine: node ''xio99cdetest1.mygroup.com'' { include squid } AND node ''xio99cdetest1.mygroup.com'' { class { ''squid'': squid_port => ''3030'', } } Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter squid_port at /etc/puppet/manifests/nodes.pp:94 on node xio99cdejump01.centric.com node ''xio99cdetest1.mygroup.com'' { include common # example42''s common module class { ''squid'': squid_port => [''3030'',], } } Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter squid_port at /etc/puppet/manifests/nodes.pp:94 on node xio99cdetest1.mygroup.com node ''xio99cdetest1.mygroup.com'' { include common # example42''s common module class { ''squid'': squid::config::$squid_port => [''3030'',], } } Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not parse for environment production: Syntax error at ''{''; expected ''}'' at /etc/puppet/manifests/nodes.pp:92 on node xio99cdetest1.mygroup.com node ''xio99cdetest1.mygroup.com'' { include common # example42''s common module class { ''squid'': $squid_port => [''3030'',], } } Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not parse for environment production: Syntax error at ''{''; expected ''}'' at /etc/puppet/manifests/nodes.pp:92 on node xio99cdejump01.centric.com node ''xio99cdetest1.mygroup.com'' { include common # example42''s common module include squid class { ''squid::params'': squid_port => [''3030'',], } } Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate declaration: Class[Squid::Params] is already declared; cannot redeclare on node xio99cdetest1.mygroup.com node ''xio99cdetest1.mygroup.com'' { include common # example42''s common module include squid class squid::params { squid_port => [''3030'',], } } Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not parse for environment production: Syntax error at ''=>''; expected ''}'' at /etc/puppet/manifests/nodes.pp:93 on node xio99cdetest1.mygroup.com -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
On Mon, May 13, 2013 at 5:21 PM, Jim Miller <stljim@gmail.com> wrote:> I am using example42s squid module > https://github.com/example42/puppet-modules/tree/master/squid, and trying > to define certain user variable at the puppet/manifest/nodes.pp level > This is the first module of their''s I''ve tried, I''ve read over their > documentation and FAQ and for the life of me I can not figure this out. To > me their examples are VERY HIGH level and I''m _really_ new to puppet. I''m > sure I''m missing something fundamental but I''m just not seeing it. I''ve > also installed example42s ''common'' module which is needed to make the type > of changes I''m talking about. > > The following works fine: > node ''xio99cdetest1.mygroup.com'' { > include squid > } > > AND > > node ''xio99cdetest1.mygroup.com'' { > class { ''squid'': > squid_port => ''3030'', > } > } > > Error: Could not retrieve catalog from remote server: Error 400 on SERVER: > Invalid parameter squid_port at /etc/puppet/manifests/nodes.pp:94 on node > xio99cdejump01.centric.com >If you load up the init.pp from this module you''ll notice that after the "class squid" declaration there''s no parameters listed for the class. This is because this is a "old style" module at this point and is just setting variables directly in params.pp. You would be best off looking for a better squid module while you get up to speed on Puppet. The best I could find for you is https://github.com/dezwart/puppet-squid currently, if you look in the init.pp in there as a counter example to the example42 one you''ll quickly see how the parameters belong directly to the class. In this case he doesn''t have squid_port as a parameter, so it won''t be usable without modifications for you, but it''s a better example of the kind of structure a squid module should contain. If this is all horrible for you and you''re not able to make any headway let me know and I can give you some help to modify one of these modules to make the port a parameter. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
On Monday, May 13, 2013 4:39:44 PM UTC-5, Ashley Penney wrote:> > > If you load up the init.pp from this module you''ll notice that after the > "class squid" declaration there''s no parameters listed for the class. This > is because this is a "old style" module at this point and is just setting > variables directly in params.pp. You would be best off looking for a > better squid module while you get up to speed on Puppet. > >By no means does parameterization inherently make a class better, though it does affect how you can use it. With Puppet 3, I''d generally rate class parameterization itself as neutral, but there are some scenarios in which it actually constitutes a loss (see, for example, the recent thread about hiera-gpg). With that said, I agree that the particular example42 module in question has some issues. I cannot recommend it (but not on account of being unparameterized). For the record, however, the way you would customize it for a given site would be to edit its "params.pp" file. John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
I confirm. That Squid module is very old and is part of the "old generation" of Example42 Puppet modules, it was done before the release of Puppet 2.6 and doesn''t support parameters (that''s why you see errors when trying to pass parameters to it). As author of the Example42 module I suggest to use only new (NextGen) modules. They are ther ones you see as git submodules in https://github.com/example42/puppet-modules (which still contains both new and old modules). Fo next gen only modules you can refer to: https://github.com/example42/puppet-modules For questions specific to Example42 modules (and some documentation) you can use also this newly born Google group: https://groups.google.com/forum/?fromgroups#!forum/example42-puppet-modules Al On Monday, May 13, 2013 11:39:44 PM UTC+2, Ashley Penney wrote:> > On Mon, May 13, 2013 at 5:21 PM, Jim Miller <stl...@gmail.com<javascript:> > > wrote: > >> I am using example42s squid module >> https://github.com/example42/puppet-modules/tree/master/squid, and >> trying to define certain user variable at the puppet/manifest/nodes.pp >> level This is the first module of their''s I''ve tried, I''ve read over >> their documentation and FAQ and for the life of me I can not figure this >> out. To me their examples are VERY HIGH level and I''m _really_ new to >> puppet. I''m sure I''m missing something fundamental but I''m just not seeing >> it. I''ve also installed example42s ''common'' module which is needed to make >> the type of changes I''m talking about. >> >> The following works fine: >> node ''xio99cdetest1.mygroup.com'' { >> include squid >> } >> >> AND >> >> node ''xio99cdetest1.mygroup.com'' { >> class { ''squid'': >> squid_port => ''3030'', >> } >> } >> >> Error: Could not retrieve catalog from remote server: Error 400 on >> SERVER: Invalid parameter squid_port at /etc/puppet/manifests/nodes.pp:94 >> on node xio99cdejump01.centric.com >> > > If you load up the init.pp from this module you''ll notice that after the > "class squid" declaration there''s no parameters listed for the class. This > is because this is a "old style" module at this point and is just setting > variables directly in params.pp. You would be best off looking for a > better squid module while you get up to speed on Puppet. > > The best I could find for you is https://github.com/dezwart/puppet-squid currently, > if you look in the init.pp in there as a counter example to the example42 > one you''ll quickly see how the parameters belong directly to the class. In > this case he doesn''t have squid_port as a parameter, so it won''t be usable > without modifications for you, but it''s a better example of the kind of > structure a squid module should contain. > > If this is all horrible for you and you''re not able to make any headway > let me know and I can give you some help to modify one of these modules to > make the port a parameter. >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.