[PUP-2610] Rack masters lose track of environment loaders Created: 2014/05/16  Updated: 2019/04/04  Resolved: 2014/05/20

Status: Closed
Project: Puppet
Component/s: Compiler
Affects Version/s: PUP 3.6.0
Fix Version/s: PUP 3.6.1

Type: Bug Priority: Critical
Reporter: Andrew Parker Assignee: Unassigned
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
blocks PUP-2404 Merge puppet 3.6 into pe-puppet 3.3.x Resolved
is duplicated by PUP-2607 environmentpath does not work in mast... Closed
relates to PUP-2659 Puppet stops working with error 'Atte... Closed
relates to PUP-417 Add acceptance cells which test with ... Resolved
Epic Link: Directory Environments
Story Points: 1
Sprint: Week 2014-5-14 to 2014-5-21


When a puppet master is running under rack the first few seconds of running will cause it to use the wrong modules if the [main] section has a different modulepath (or environmentpath) from the [master] section.


Given a rack master with the following puppet.conf:

modulepath = /tmp/main-modules
modulepath = /tmp/master-modules

Install puppetlabs-stdlib into the /tmp/main-modules directory:

> puppet module install puppetlabs-stdlib

Restart the apache master (this is the command if you installed the puppetmaster-passenger package for debian):

> service apache2 restart

Run the agent:

> puppet agent -t

Actual outcome:

The agent will run and start to download the stdlib functions as part of pluginsync. Part way through downloading it will start failing to fetch files with the reason that the files don't exist.

Expected outcome:

The agent shouldn't pluginsync anything because the master's modulepath doesn't include any modules.

Comment by Henrik Lindberg [ 2014/05/19 ]

Merged to stable: 0dc5ad3

Comment by Henrik Lindberg [ 2014/05/19 ]

Merged to master: 4861826205335f50e9f169f25a89b9043f725825

There was a conflict in application.rb - I think I got it right but Joshua Partlow can you also take a look at the result after the merge.

Comment by Peter Meier [ 2014/05/19 ]

This is quite a severe issue, because the catalog is then being compiled with a wrong environment, which means that stored configs being present from previous runs are being purged from the database, resulting in possible config changes across your whole infrastructure.

Comment by Kylo Ginsberg [ 2014/05/20 ]

The failing acceptance tests in pe-puppet have passed so I'll treat that as functional review.

Generated at Thu Feb 27 00:44:53 PST 2020 using JIRA 7.7.1#77002-sha1:e75ca93d5574d9409c0630b81c894d9065296414.