Specifying Puppet catalog behavior with Cucumber
Clone or download
petems Merge pull request #23 from borisyukd/master
Fix deprecated Puppet.parse_config
Latest commit 0534ad7 Nov 6, 2013



Build Status

The project was discontinued. I'm seeing if I can resurect it

Currently cucumber-puppet doesnt support Ruby 1.9+ or any puppetversion beyond 2.7...

Cucumber-puppet is a tool for specifying Puppet catalog behavior. It uses Cucumber features as specifications and provides the necessary glue to access a node's catalog from Cucumber's step definitions.


Install cucumber-puppet

$ gem install cucumber-puppet

Go to your Puppet directory

$ cd puppet

Initialise the infrastructure

$ cucumber-puppet-gen world

Create a default policy and adapt it to your needs

$ cucumber-puppet-gen policy
$ vim features/catalog/policy.feature

Copy YAML node files into place

$ mkdir features/yaml
$ cp /var/lib/puppet/yaml/node/localhost.example.com.yaml features/yaml

Apply your policy

$ cucumber-puppet features/catalog/policy.feature

An example use case can be found at https://github.com/nistude/cucumber-puppet.example.

Further documentation is available in the wiki.


Many thanks to Bernd Ahlers for getting me started with cucumber, rspec and ruby.

cucumber-puppet was inspired by Lindsay Holmwood's cucumber-nagios.