Issue #12173 has been updated by Erik Dalén.

eric sorenson wrote:
> The idea is that we should restrict puppet-master processes to one 
> environment per process; it's the only deterministic way to avoid the problem 
> as stated.
> 
> This goes along with #15733, where anything other than the supported 
> environment (rack with some awareness of child processes and a way to 
> dispatch requests for an environment to its own process) would toss a 
> deprecation warning.

How would this work when you update a type or function within an environment? 
I've noticed that is still a problem in 3.0.1 and you have to basically restart 
the puppetmaster to ensure you get the new version of the function.
----------------------------------------
Bug #12173: Masters cannot reliably distinguish between multiple versions of a 
type/function/plugin used in different environments
https://projects.puppetlabs.com/issues/12173#change-74954

Author: Nigel Kersten
Status: Accepted
Priority: Normal
Assignee: eric sorenson
Category: environments
Target version: 3.x
Affected Puppet version: 2.7.0
Keywords: telly_deprecation BD
Branch: 


Quoted from a previous ticket, #4409

The key problem is that a master can’t reliably distinguish between two 
versions of the same native type that are used in different environments (or 
between an environment which uses a native type and an environment which 
doesn’t). This is due to the fact that native types are defined using ruby 
code, which the master loads into Ruby classes via “require”. Since there can 
only be one Ruby class with a given name at a time, this prevents the master 
from being able to have two different versions of the same type in two 
different environments. This makes life difficult for people who are trying to 
use a “test” environment to try out a new version of a native type on a limited 
set of nodes before deploying it to all nodes.

A secondary problem is that the location where the master looks for the 
definition of native types is not the same as the location of plug-in files 
that the master distributes to agents. This leads to confusion even for people 
who are not using a “test” environment, because it means that they have to put 
their type definitions in two places, one where they can be picked up by the 
master and one where they can be sent as plug-ins to agents.


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