Merge pull request #1 from rubys/patch-1

Mostly editorial changes
tree: 6eb8253f4dfb3fbd0a2e77e778a923d8a64c73b4
  1. puppet/
  2. .gitignore
  3. .kitchen.cloud.yml
  4. .kitchen.yml
  5. Gemfile
  6. LICENSE
  7. README.md
README.md

puppet-kitchen

Test Kitchen + Puppet

Requirements

Installation

Clone Repositories

git clone https://github.com/stumped2/puppet-kitchen
git clone https://github.com/apache/infrastructure-puppet

Install required gems

gem install bundler
cd <path to infra puppet repo>
bundle install

Get modules

cd <path to infra puppet repo>
./bin/pull # this will pull in all the 3rd party modules at the specified versions we use in production

Make modules useable

cd <path to puppet-kitchen repo>
cd puppet/modules
export ipr=<path to infra-puppet repo>
for i in $(ls $ipr/3rdParty); do ln -s $ipr/3rdParty/$i ./; done
for i in $(ls $ipr/modules); do ln -s $ipr/modules/$i ./; done

Usage

Make sure to have some puppet modules in the puppet/modules/ directory. The current hiera setup assumes you have the following modules:

If using GitHub to obtain modules, make sure when you clone the module, it only has the module name on the resulting folder. Example:

git clone https://github.com/puppetlabs/puppetlabs-apt.git apt

Then edit puppet/data/node/default-ubuntu1464.yaml to start adding classes and setting class parameters.

When you're ready to test, just run:

kitchen converge default

This will bring up a vm, run puppet apply. From there, you can continue writing your puppet module (in puppet/modules/$module) and testing by running the above command.

Most the the test-kitchen option work with puppet, however make sure to see the kitchen-puppet documentation (even though the explanations aren't nearly as detailed as it needs to be).

Most information has been taken from here