Issue #2832 has been updated by James Turnbull.

Category set to plumbing
Status changed from Unreviewed to Investigating
Assigned to set to Markus Roberts
Target version set to 0.25.2


----------------------------------------
Bug #2832: too much caching of the directory in which a module was found
http://projects.reductivelabs.com/issues/2832

Author: Alan Barrett
Status: Investigating
Priority: Normal
Assigned to: Markus Roberts
Category: plumbing
Target version: 0.25.2
Affected version: 0.25.1
Keywords: 
Branch: 


If an environment has a modulepath defined in puppet.conf, and if a module is 
copied from a directory late in the path to a directory earlier in the path, 
then clients still use the old copy from the wrong directory in the modulepath.

For example, with something like this in puppet conf:

<pre>
[puppetmasterd]
    environments = dev,prod
[dev]
    # dev machines prefer dev modules, but may also use prod modules
    # when there is no corresponding dev module
    modulepath = /etc/puppet/dev/modules:/etc/puppet/prod/modules
[prod]
    # prod machines use prod modules
    modulepath = /etc/puppet/prod/modules
</pre>

If module "mymodule" exists in .../prod/modules/mymodule but not in 
.../dev/modules/mymodule, and I run puppetd on a client in the "dev" 
environment, then that client gets the prod version of the module, as expected 
(because there is no dev version of the module).

Later, if I create a dev version of the module (say by copying 
.../prod/modules/mymodule to .../dev/modules/mymoduleand editing the copy), 
then I expect the client in the "dev" environment to get the dev version of the 
module.  In fact, it still gets the prod version of the module, until 
puppetmasterd is restarted.

I think that this sort of change should automatically be noticed by the 
puppetmasterd process.  The implementation could stat() each directory in the 
modulepath, check after configtimeout seconds for changes in the directory 
timestamps (which would imply that files or subdirectories had been added or 
removed), and invalidate appropriate caches when a change is detected.


-- 
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://reductivelabs.com/redmine/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=.


Reply via email to