Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

scripts to automate puppet manifest compliation

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 README.md
Octocat-spinner-32 manitest.rb
README.md

Manitest compiles a manifest using another hosts facts

Usage: ./manitest.rb

Manitest compiles a manifest using another hosts facts.

-v, --verbose                    Output more information
-d, --debug                      Output the full puppet debug
-e, --environment                Override node environment
-t, --tmpdir DIR                 Where to write temp files - defaults to /tmp
-n, --node FILE                  YAML node file to use
-c, --class CLASSA,CLASSB        node classes to use
-h, --help                       Display this screen

example runs:

verbose mode

$ ./manitest.rb -n /var/lib/puppet/yaml/node/hostname.yaml -v
Setting up environment: development
Setting up facts:
The manifest compilation for hostname is OK
$ echo $?
0

debug mode

$  ./manitest.rb -n /var/lib/puppet/yaml/node/hostname.yaml -d -e global_puppetmaster
Setting up environment: global_puppetmaster
Setting up facts:
puppetmaster=>puppet
...

/usr/bin/puppet --config /tmp/.tmp_puppet.conf --certname hostname --debug /tmp/.tmp_node.pp 2>&1

Could not find class xyz in namespaces zzz at /etc/puppet/modules/zzz/manifests/init.pp:7 on node hostname
The manifest compilation for hostname is broken

known limitations

It seems that this script will work only on the same architecture, as puppet internally tries to load the provides automatically, I'm not sure if its possible to run a Solaris manifest on a Linux host.

When not using external nodes, the class information must be specified manually with the -c option - e.g. ./manitest -c ntp::server,ssh::client etc.

Something went wrong with that request. Please try again.