FAQ
Hi Stefan,

On Wed, Dec 7, 2011 at 4:01 AM, Stefan Schulte
wrote:
Parameter validation happens on your puppet master so I guess you have
to update

/var/lib/puppet/lib/puppet/type/logical_volume.rb

on your master first.
Recently Nick L and I "discovered" that parameter validation does not
occur on the master (in 2.7.x) yet many people believe this to be
true. Specifically the munge and validate methods for parameters and
properties are not called on the puppet master. However, the type &
provider code is loaded, so for example, requiring a windows gem at
the top level would prevent the master (not running windows) from
being able to compile catalogs.

Did puppet actually used to invoke the validate method on the master,
e.g. before 2.6? Or is that just how people thought/think it should
work?

Josh

--
Josh Cooper
Developer, Puppet Labs

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

Search Discussions

  • Jcbollinger at Aug 7, 2012 at 1:44 pm

    On Monday, August 6, 2012 11:32:38 PM UTC-5, Josh Cooper wrote:
    Recently Nick L and I "discovered" that parameter validation does not
    occur on the master (in 2.7.x) yet many people believe this to be
    true. Specifically the munge and validate methods for parameters and
    properties are not called on the puppet master. However, the type &
    provider code is loaded, so for example, requiring a windows gem at
    the top level would prevent the master (not running windows) from
    being able to compile catalogs.

    Did puppet actually used to invoke the validate method on the master,
    e.g. before 2.6? Or is that just how people thought/think it should
    work?
    In 0.24.8 there were Puppet parameters "typecheck" and "paramcheck" defined
    in defaults.rb, both initialized to true, and documented to control
    "Whether to validate types during parsing" and "Whether to validate
    parameters during parsing", respectively. These do not appear to actually
    have been used in that version, however. Without digging through the code,
    I'm not certain whether that means parse-time type and parameter checking
    were always on or always off.

    To the extent that validation is a function of the type, as opposed to the
    selected provider, I would expect it to be performed by the master. I can
    see some reasons why it might make sense for the agent to perform such
    type-level validations again, but not to excuse the master from doing them.

    I find it surprising that the master loads providers. On the other hand,
    it should be *possible* for Puppet (any face) to load any installed
    provider, including those that are not applicable to the host on which it
    is running. I take this as part of Puppet's contract with providers, thus
    the responsibility of the provider author. On the flip side, it is (should
    be) Puppet's responsibility to check provider applicability after loading,
    and to avoid using inapplicable providers for any purpose.


    John

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/fl7EAZoVkWUJ.
    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.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedAug 7, '12 at 4:32a
activeAug 7, '12 at 1:44p
posts2
users2
websitepuppetlabs.com

2 users in discussion

Jcbollinger: 1 post Josh Cooper: 1 post

People

Translate

site design / logo © 2022 Grokbase