Tracker #8447

Puppet 4 support

Added by Dominic Cleal about 2 years ago. Updated 6 months ago.

Status:Closed% Done:

0%

Priority:Normal
Assigned To:-
Category:Puppet integration
Target version:-
Difficulty: Bugzilla link:
Found in release:
Story points-
Velocity based estimate-
Release1.12.0Release relationshipAuto

Description

Tracks steps for Foreman to work with Puppet 4 based Puppet masters, e.g. smart proxy updates, installer/kafo support.


Related issues

Related to Packaging - Bug #9588: foreman-installer should be able to work with puppet ente... New 02/27/2015
Related to Smart Proxy - Bug #11599: Parsing environments/manifests in Puppet 4 fails Closed 08/28/2015
Related to Foreman - Feature #4528: Support Facter 2 structured facts Closed 03/03/2014
Blocked by Kafo - Refactor #7858: Replace use of Puppet::Plugin Rejected 10/08/2014
Blocked by Kafo - Feature #6254: Puppet 4 parser support Rejected 06/17/2014
Blocked by Kafo - Feature #7848: YARD / Puppet Strings support Closed 10/08/2014
Blocked by Smart Proxy - Feature #11992: Support loading Puppet from AIO packages Rejected 09/29/2015
Blocked by Installer - Feature #9822: Support Puppet 4 / future parser across all modules Closed 03/19/2015
Blocked by Kafo - Feature #14447: Add serialised cache of parsed manifests Closed 04/04/2016
Blocked by Kafo - Feature #14448: kafo_parsers should support selecting available providers... Closed 04/04/2016
Blocked by Installer - Refactor #14449: Hostname check should use Facter binary instead of library Closed 04/04/2016
Blocked by Kafo - Refactor #14450: Replace use of Puppet parser functions in parameter valid... Closed 04/04/2016
Blocked by Kafo - Feature #14452: Support running Puppet from /opt/puppetlabs/bin/puppet AI... Closed 04/04/2016
Blocked by Installer - Feature #14453: Generate Kafo parser cache during build Closed 04/04/2016
Blocked by Packaging - Refactor #14454: Change foreman-installer/kafo_parsers dependencies to per... Closed 04/04/2016
Blocked by Installer - Feature #14455: Add foreman_smartproxy provider with dependencies for AIO Closed 04/04/2016
Blocked by Smart Proxy - Feature #13667: puppet_proxy and puppetca modules load puppet gem in pupp... Closed 02/11/2016
Blocked by Kafo - Bug #14568: Default answers for undef parameters stored as ::module::... Closed 04/11/2016
Blocked by Kafo - Bug #14941: Puppet RUBYLIB set to incorrect modules directory on Debi... Closed 05/06/2016
Blocked by Installer - Bug #14942: puppet group fails when added to foreman user before pupp... Closed 05/06/2016
Blocked by Smart Proxy - Bug #15043: mcollective puppetrun provider can't find puppet-agent mc... Closed 05/13/2016
Blocks Foreman - Tracker #15096: Puppet 5 support New 05/19/2016

History

#1 Updated by Dominic Cleal about 2 years ago

#2 Updated by Dominic Cleal about 2 years ago

#3 Updated by Dominic Cleal about 2 years ago

#4 Updated by Dominic Cleal almost 2 years ago

  • Related to Bug #9588: foreman-installer should be able to work with puppet enterprise added

#5 Updated by Dominic Cleal over 1 year ago

  • Blocks Feature #9822: Support Puppet 4 / future parser across all modules added

#6 Updated by The Foreman Bot over 1 year ago

  • Status changed from New to Ready For Testing

#7 Updated by Dominic Cleal over 1 year ago

  • Status changed from Ready For Testing to New

#8 Updated by The Foreman Bot over 1 year ago

  • Status changed from New to Ready For Testing

#9 Updated by Stephen Benjamin over 1 year ago

  • Status changed from Ready For Testing to New

#10 Updated by Dominic Cleal over 1 year ago

  • Related to Bug #11599: Parsing environments/manifests in Puppet 4 fails added

#11 Updated by Dominic Cleal about 1 year ago

  • Blocked by Feature #11992: Support loading Puppet from AIO packages added

#12 Updated by Dominic Cleal about 1 year ago

  • Blocks deleted (Feature #9822: Support Puppet 4 / future parser across all modules)

#13 Updated by Dominic Cleal about 1 year ago

  • Blocked by Feature #9822: Support Puppet 4 / future parser across all modules added

#14 Updated by Michael Moll 9 months ago

  • Related to Feature #4528: Support Facter 2 structured facts added

#15 Updated by Dominic Cleal 8 months ago

  • Blocked by Feature #14447: Add serialised cache of parsed manifests added

#16 Updated by Dominic Cleal 8 months ago

  • Blocked by Feature #14448: kafo_parsers should support selecting available providers with soft deps added

#17 Updated by Dominic Cleal 8 months ago

  • Blocked by Refactor #14449: Hostname check should use Facter binary instead of library added

#18 Updated by Dominic Cleal 8 months ago

  • Blocked by Refactor #14450: Replace use of Puppet parser functions in parameter validations added

#19 Updated by Dominic Cleal 8 months ago

  • Blocked by Feature #14452: Support running Puppet from /opt/puppetlabs/bin/puppet AIO path added

#20 Updated by Dominic Cleal 8 months ago

  • Blocked by Feature #14453: Generate Kafo parser cache during build added

#21 Updated by Dominic Cleal 8 months ago

  • Blocked by Refactor #14454: Change foreman-installer/kafo_parsers dependencies to permit Puppet 4 AIO added

#22 Updated by Dominic Cleal 8 months ago

  • Blocked by Feature #14455: Add foreman_smartproxy provider with dependencies for AIO added

#23 Updated by Dominic Cleal 8 months ago

  • Blocked by Feature #13667: puppet_proxy and puppetca modules load puppet gem in puppet 4.0 and higher environments added

#24 Updated by Dominic Cleal 8 months ago

Summary of the outstanding tasks that I know about, split by project.

Smart proxy

  • #13667 - support in the smart proxy to load lists of classes and parameters from the Puppet Server API, instead of needing to load the Puppet library.
    • blocked by #14618 - refactoring of smart proxy plugin configuration

Kafo - the library behind foreman-installer

  • #14447 - add a serialised cache to avoid needing to load Puppet parsers
  • #14448 - kafo_parsers needs soft dependencies on Puppet
  • #14450 - kafo parameter validations shouldn't require Puppet
  • #14452 - run Puppet from AIO filesystem paths
  • #14568 - parameters with undef default values cause installer failures
  • #14659 - puppet help strings errors printed
  • #7848 - support puppet-strings (low priority, the cache alleviates the immediate need)
  • #7858 - replace Puppet::Plugin (low priority, only progress bar support)
  • #14941 - RUBYLIB set incorrectly on Debian AIO installations
  • #15105 - progress bar support

Foreman installer

  • #14453 - generate serialised cache during build
    • after #14447 in kafo
    • blocked by #14472 - fix kafo-export-params in Debian packages
    • blocked by #14473 - fix UTF-8 reading of manifests on Ruby 1.9.3+
    • blocked by #14729 - loading parser cache fails, should be obsoleted by #14450 when done
    • partially blocked by #14475 - config file migrations, needed to add parser_cache on existing installations
  • #14455 - add foreman_smartproxy provider and dependencies for AIO environment
  • #14449 - hostname check shouldn't use Facter library (medium priority, harmless error)
  • puppet-puppet/#372 - support for Puppet Server 2 auth configs, required for smart proxy PR
  • #14454 - change Puppet package dependencies
  • #14942 - ordering of puppet group/foreman user setup under AIO
  • puppet-foreman_proxy/#251 - update config files to match changes in #13667

Test suite

Tests themselves:

#25 Updated by Dominic Cleal 8 months ago

  • Blocked by Bug #14568: Default answers for undef parameters stored as ::module::params::param on Puppet 4 added

#26 Updated by Dominic Cleal 8 months ago

https://copr.fedorainfracloud.org/coprs/domcleal/foreman-puppet-aio/ has some completely unsupported test RPMs with the kafo patches under review. These let foreman-installer run with a Puppet 4 AIO agent. (Please don't use this! Nightly packages are nearly there now.)

Ensure rubygem-kafo, rubygem-kafo_parsers and foreman-installer are up to date from that repo when testing, and puppet-agent is installed. Ignore the Facter/fqdn check error on startup (#14449) and the smart proxy registration failure (#14455, or pass --foreman-proxy-register-in-foreman=false). Smart proxy Puppet support remains missing, so class imports etc won't work. There are probably a bunch of other issues, please dive in and fix them.

#27 Updated by Dominic Cleal 7 months ago

  • Blocked by Bug #14941: Puppet RUBYLIB set to incorrect modules directory on Debian, errors under AIO added

#28 Updated by Dominic Cleal 7 months ago

  • Blocked by Bug #14942: puppet group fails when added to foreman user before puppetserver installation added

#29 Updated by Dominic Cleal 7 months ago

Nightly packages now have support for installation using AIO versions of Puppet 4, with the exception of Ubuntu 16.04 (no puppetserver available until 2.4.0 is out soon).

The PC1 repo must be configured before installing foreman-installer, which will then install puppet-agent and puppetserver (note, this requires >= 3GB RAM). Smart proxy support isn't available yet.

#30 Updated by Dominic Cleal 7 months ago

  • Blocked by Bug #15043: mcollective puppetrun provider can't find puppet-agent mco binary added

#31 Updated by Dominic Cleal 7 months ago

#32 Updated by Dominic Cleal 7 months ago

  • Status changed from New to Closed
  • Release set to 1.12.0

Nightly packages now contain both installer and smart proxy support, which will become Foreman 1.12. Please help by testing nightly packages and release candidates when available.

If you come across a bug, please file a new report for it instead of logging it here.

#33 Updated by Dominic Cleal 6 months ago

Upgrading_from_Puppet_3_to_4 contains documentation on performing an upgrade of Puppet 3 to 4 on the same server, updating all of the config files etc.

(At the time of writing I've only lightly tested this on nightlies on EL7, so please edit and improve it, fix mistakes etc!)

Also available in: Atom PDF