Issue #13858 has been updated by Dominic Cleal.

I'm just looking into some specs that started failing with 2.7.20 and after a 
bisect, recognised the code that was added as the same code that went into 3.x 
to fix #13858:

[commit 
8173a6e6c199426381f1f9fb8d0a71e0d0c12f2a](https://github.com/puppetlabs/puppet/commit/8173a6e6c199426381f1f9fb8d0a71e0d0c12f2a)

    commit 8173a6e6c199426381f1f9fb8d0a71e0d0c12f2a
    Author: Daniel Pittman <[email protected]>
    Date:   Mon Jul 16 23:40:31 2012 -0700
    
        Avoid object creation/destruction when possible.
        
        Object creation and destruction, even over a short time-frame, is 
expensive,
        so where we can avoid it we should.

    [..]
    diff --git a/lib/puppet/metatype/manager.rb b/lib/puppet/metatype/manager.rb
    index 597a89f..dfcc74d 100644
    --- a/lib/puppet/metatype/manager.rb
    +++ b/lib/puppet/metatype/manager.rb
    @@ -108,17 +108,24 @@ module Manager
    [..]
    +    # Try loading the type.
    +    if typeloader.load(name, Puppet::Node::Environment.current)
    +      Puppet.warning "Loaded puppet/type/#{name} but no class was created" 
unless @types.include? name
         end

I haven't figured out yet whether my problem is my fault or Puppet's, but 
thought it might be of interest.  Perhaps this issue has inadvertently been 
fixed in 2.7.20?
----------------------------------------
Bug #13858: Custom types in environments require loading into master's libdir
https://projects.puppetlabs.com/issues/13858#change-77927

Author: eric sorenson
Status: Closed
Priority: Normal
Assignee: Patrick Carlisle
Category: modules
Target version: 3.0.0
Affected Puppet version: 
Keywords: 
Branch: 
https://github.com/pcarlisle/puppet/tree/ticket/master/13858-types-in-environments


An attempt to distill down the back-and-forth from #4409, as it applies to 
2.7.x:

* The master needs to load new types locally to validate parameters
* In order to do so, the type rb files need to be available in the master's 
`$libdir`, and only get there by being pluginsync'ed
* Therefore, environments which have custom types in `$modulepath` directories 
that the master does not itself use (when running as a client), cannot be used.




-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to