Feature #2414
closedRemove Puppet from Foreman core
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)
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.
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.
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.
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.)
Updated by Dominic Cleal about 11 years ago
- Description updated (diff)
- Status changed from New to Ready For Testing
- Assignee set to Greg Sutcliffe
https://github.com/theforeman/foreman/pull/840 changes the facts API
Updated by Dominic Cleal about 11 years ago
- % Done changed from 0 to 50
https://github.com/theforeman/foreman/pull/858 changes the reports API
https://github.com/theforeman/puppet-foreman/pull/105 updates the ENC/report scripts
Updated by Greg Sutcliffe about 11 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 50 to 100
Applied in changeset 91ad276d660b9f1d37bc82a9ad738351c347dc9d.
Updated by Dominic Cleal about 11 years ago
- Related to Bug #3030: Facter isn't loaded, but is referenced in DB migrations etc. added
Updated by Dominic Cleal about 11 years ago
- Related to Bug #3236: prod2dev assumes all production tables exist in development added