FAQ
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.

Search Discussions

  • Ashley Penney at May 13, 2013 at 9:39 pm

    On Mon, May 13, 2013 at 5:21 PM, Jim Miller 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 [email protected].
    To post to this group, send email to [email protected].
    Visit this group at http://groups.google.com/group/puppet-users?hl=en.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Jcbollinger at May 15, 2013 at 1:34 pm

    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 [email protected].
    To post to this group, send email to [email protected].
    Visit this group at http://groups.google.com/group/puppet-users?hl=en.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Alessandro Franceschi at May 21, 2013 at 7:57 am
    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 <[email protected]<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 [email protected].
    To post to this group, send email to [email protected].
    Visit this group at http://groups.google.com/group/puppet-users?hl=en.
    For more options, visit https://groups.google.com/groups/opt_out.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedMay 13, '13 at 9:21p
activeMay 21, '13 at 7:57a
posts4
users4
websitepuppetlabs.com

People

Translate

site design / logo © 2023 Grokbase