Feature #6254

Puppet 4 parser support

Added by Dominic Cleal over 6 years ago. Updated over 4 years ago.

Bugzilla link:
Pull request:
Fixed in Releases:
Found in Releases:


Brand new parser etc is going to need a lot of work I suspect.

Of particular interest will be the new type system shown here:

Related issues

Related to Kafo - Feature #7848: YARD / Puppet Strings supportClosed2014-10-08
Blocks Foreman - Tracker #8447: Puppet 4 supportClosed2014-11-19

Associated revisions

Revision 3d200e1a (diff)
Added by Martin Bacovsky almost 5 years ago

Refs #6254 - require puppet < 4.0.0


#1 Updated by Dominic Cleal about 6 years ago

#2 Updated by Dominic Cleal about 6 years ago

#3 Updated by Dominic Cleal almost 6 years ago

  • Priority changed from Normal to Urgent

Nightlies builds started failing recently.

[root@foreman ~]# rpm -q puppet
[root@foreman ~]# foreman-installer -nv
/usr/share/gems/gems/kafo_parsers-0.0.4/lib/kafo_parsers/puppet_module_parser.rb:37:in `initialize': uninitialized constant Puppet::Parser::Parser (NameError)
        from /usr/share/gems/gems/kafo_parsers-0.0.4/lib/kafo_parsers/puppet_module_parser.rb:16:in `new'
        from /usr/share/gems/gems/kafo_parsers-0.0.4/lib/kafo_parsers/puppet_module_parser.rb:16:in `parse'
        from /usr/share/gems/gems/kafo-0.6.5/lib/kafo/puppet_module.rb:44:in `parse'
        from /usr/share/gems/gems/kafo-0.6.5/lib/kafo/configuration.rb:84:in `block in modules'
        from /usr/share/gems/gems/kafo-0.6.5/lib/kafo/configuration.rb:84:in `map'
        from /usr/share/gems/gems/kafo-0.6.5/lib/kafo/configuration.rb:84:in `modules'
        from /usr/share/gems/gems/kafo-0.6.5/lib/kafo/kafo_configure.rb:170:in `modules'
        from /usr/share/gems/gems/kafo-0.6.5/lib/kafo/kafo_configure.rb:152:in `params'
        from /usr/share/gems/gems/kafo-0.6.5/lib/kafo/kafo_configure.rb:185:in `set_parameters'
        from /usr/share/gems/gems/kafo-0.6.5/lib/kafo/kafo_configure.rb:66:in `initialize'
        from /usr/share/gems/gems/clamp-0.6.2/lib/clamp/command.rb:126:in `new'
        from /usr/share/gems/gems/clamp-0.6.2/lib/clamp/command.rb:126:in `run'
        from /usr/share/gems/gems/kafo-0.6.5/lib/kafo/kafo_configure.rb:116:in `run'
        from /sbin/foreman-installer:18:in `<main>'

(since presumably)

I've disabled as it's fatal right now.

#4 Updated by Stefan Hölzle about 5 years ago

I'm taking a look at kafo_parsers.

#5 Updated by Stefan Hölzle almost 5 years ago

I'm afraid I didn't get far. I need more information, especially about how to use classes from puppet.
By "puppet code" I mean

I already found the following:

Could someone point me in the direction of more detailed documentation of the puppet code ?

#6 Updated by Dominic Cleal over 4 years ago

  • Status changed from New to Rejected

I don't think we're going to implement any support for the Puppet 4 parser per se in Kafo. Instead, a combination of #14447 (a cache that alleviates the need for a parser on the user's installation) and #7878 (using Puppet Strings to parse manifests) should replace the need for a real parser.

Also available in: Atom PDF