Project

General

Profile

Actions

Feature #2414

closed

Remove Puppet from Foreman core

Added by Dominic Cleal over 11 years ago. Updated about 11 years ago.

Status:
Closed
Priority:
Normal
Category:
Puppet integration
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

We need to complete removing the Puppet dependency from Foreman core, so all Puppet usage is in the smart proxy only. This will make it optional for people who don't use Puppet, plus avoid conflicts we've seen when loading Puppet as a library into the full Rails application (monkey patching).

Some tasks:

1. Reports need to be parsed in the report handler, then uploaded as JSON etc. (app/models/report.rb)
2. Fact uploads need to be hashes only, no Puppet::Node::Facts (app/models/host/managed.rb)
3. PuppetSetting checks the PUPPETVERSION constant (lib/puppet_setting.rb)


Related issues 6 (1 open5 closed)

Related to Foreman - Bug #2413: NoMethodError on Puppet 3.2 and Ruby 1.9.2Closed04/19/2013Actions
Related to Foreman - Support #2435: Unable to authentication with LDAP server using ldapsClosedActions
Related to Foreman - Bug #2448: "vm is required for this operation" when viewing oVirt VMs with Puppet 3.2ResolvedDominic Cleal05/01/2013Actions
Related to Foreman - Bug #2461: Cannot create a host without a puppet proxyClosedGreg Sutcliffe05/06/2013Actions
Related to Foreman - Bug #3030: Facter isn't loaded, but is referenced in DB migrations etc.ClosedGreg Sutcliffe09/05/2013Actions
Related to Foreman - Bug #3236: prod2dev assumes all production tables exist in developmentNew10/10/2013Actions
Actions #1

Updated by Dominic Cleal over 11 years ago

  • Assignee deleted (Ohad Levy)

Related is that we use Facter too in lib/foreman/default_settings/loader.rb and lib/tasks/reset_permissions.rake to get the current domain and Puppet version again, plus in DB migrations.

Actions #2

Updated by Greg Sutcliffe over 11 years ago

I can take it out of the settings in my plugin-settings PR if needed - it's only used to get the domain, I can add a fallback to shell out to `dnsdomainname` if Facter can't be loaded. Same can probably be done in the permissions.

Actions #3

Updated by Dominic Cleal over 11 years ago

Greg Sutcliffe wrote:

I can take it out of the settings in my plugin-settings PR if needed - it's only used to get the domain, I can add a fallback to shell out to `dnsdomainname` if Facter can't be loaded. Same can probably be done in the permissions.

I wouldn't worry for now, since we have the same use case in the settings loader. When we solve it there we can update both. Facter's less of a problem anyway, maybe it's even a reasonable dependency.

Actions #4

Updated by Dominic Cleal over 11 years ago

Puppet #20136 was another issue introduced by monkey patches distributed by Puppet.

(I'm linking other issues introduced by Puppet's patches to this issue as a tracker.)

Actions #5

Updated by Dominic Cleal over 11 years ago

  • Target version set to 1.3.0
Actions #6

Updated by Dominic Cleal about 11 years ago

  • Description updated (diff)
  • Status changed from New to Ready For Testing
  • Assignee set to Greg Sutcliffe
Actions #7

Updated by Dominic Cleal about 11 years ago

  • % Done changed from 0 to 50
Actions #8

Updated by Greg Sutcliffe about 11 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 50 to 100
Actions #9

Updated by Dominic Cleal about 11 years ago

  • Related to Bug #3030: Facter isn't loaded, but is referenced in DB migrations etc. added
Actions #10

Updated by Dominic Cleal about 11 years ago

  • Related to Bug #3236: prod2dev assumes all production tables exist in development added
Actions

Also available in: Atom PDF