Accommodate puppet exit codes

Puppet exits with value 2 if changes are successfully
applied. This patch prevents cloud-init from assuming
something has failed if puppet returns this.
Allow the control node to wait for compute nodes

Allow the control node to wait for compute nodes
and discover their IPs by eaiting for
connections to appear on OVS.
Add doc, add test to control node. Clean up pyc.
Allow the control node to wait for compute nodes

Allow the control node to wait for compute nodes
and discover their IPs by eaiting for
connections to appear on OVS.
Add doc, add test to control node. Clean up pyc.
Fix control wait script.

Will remove all the completxity from this later by
pre-allocating the ci network IPs for all nodes
Remove pyc
Move to yaml metadata to support lists
Fix hiera config list handling and path
Get rid of python unicode from yaml
Stop turning lists into strings now that we are using yaml
Add debug to control-wait-compute and sleep before test

Add a sleep before running the test to be sure that
the compute nodes are really ready.
Support user yaml move
continous append of operatingsystem to basic_tests.sh

use sed -i instead of >> to basic_tests when setting the
operatingsystem.

Signed-off-by: Loic Dachary <loic@dachary.org>
make it so /etc/resolv.conf always has a search

It is not enough to substitute the search domain. If none exist, one
must be added so that even older versions of facter return something
when called with fqdn.

Signed-off-by: Loic Dachary <loic@dachary.org>
make domain name configurable

This commit ensures that the domain
name can be made configurable. It removes
locations where it was hardcoded in both
setup.pp and Vagrantfile.
Add install scripts

This commit adds basic install scripts.

It also adds some basic docs for them.
move user.yaml to user.common

we need to be able to provide hard-coded user data
for our automated tests. And on occasion that data
needs to be specified per scenario (b/c different
data overrides are specific to certain scenarios).

This commit modifies the existing user data to
better accomplish this.

1. Adds user.common and user.%{scenario} to the
hierarchy. Allowing a place for common and
scenario specific user data for testing.

2. moves user.yaml to user.common. This assumes that
users can supply fresh user specific overrides
to user.yaml, and that user.common show examples of
things that a user may want to override. It is possible
that this will have to change and that
user.common should really be user.2_role
Dev

Support changed prefixes. Add metadata inspection command.
Support changeable domain name. Add factor env var export
from config.yaml. Merge runtime data into both user and config
yaml files.
Fix yaml load. Copy yaml to puppet dir.