Project

General

Profile

Bug #2268

PuppetSetting doesn't make it possible to mix puppet gem + package

Added by Dominic Cleal almost 7 years ago. Updated almost 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Puppet integration
Target version:
Difficulty:
Triaged:
No
Bugzilla link:
Pull request:
Fixed in Releases:
Found in Releases:

Description

PuppetSetting (added in #1994) shells out to puppet master --configprint, but makes it difficult to use puppet from a gem over an installed puppet system package. We need this capability for our Jenkins slaves, where we want to prefer Puppet under rvm.

It prepends /usr/bin, /usr/sbin and /opt/puppet/bin to PATH, which means it always prefers the system version rather than respecting my PATH.

When under Bundler, backticks are caught by Bundler and it executes the command in the context of the bundle. This causes problems particularly under different Ruby versions, where the Gemfile.lock that Bundler's forcing puppet to run under isn't applicable to the version of Ruby used for the system package. We should use Bundler.with_clean_env usually.

Associated revisions

Revision fb0998a0 (diff)
Added by Dominic Cleal almost 7 years ago

fixes #2268 - exec puppet in Bundler-less env, don't touch PATH when puppetgem is set

History

#1 Updated by Dominic Cleal almost 7 years ago

  • Status changed from Assigned to Ready For Testing

https://github.com/theforeman/foreman/pull/445

Seems to have fixed the last of the Jenkins build failures.

#2 Updated by Ohad Levy almost 7 years ago

  • Target version set to 1.2.0

#3 Updated by Dominic Cleal almost 7 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100

Also available in: Atom PDF