Added rjil::contrail::server

Added class rjil::contrail::server to call contrail module.

Added contrail dependancy packages to Puppetfile and .fixtures.yml.

Added rabbitmq test in contrail::server.
Merge pull request #46 from amar266/master

Tests for manifests/db/instance.pp
Parameterize ports for ha

In order to make the code a little more
flexible.
Update revision to apache

The previous version of apache led to dep failures
when installing mod_wsgi.

This patch updates the revision of the upstream
apache module to include a patch that I added
that resolves this dep issue (where .conf files
for a module were added before the package
was installed)

This also requires that we update the version of
concat to 1.1.1 to get a fixed bug.
improve nagios checks and testing for keystone

Improves our validation checks for keystone.

- adds a test_user to keystone that can be used
  to authenticate on each client for proper
  validation tests
- move keystone tests to a regular class so that
  we can parameterize the bind addresses to connect
  to based on hiera data
- create a keystone node to use for testing
Improve load balancer testing

Add testing code to validate that keystone
functions through the load balancer.
Add status validation and service discovery

This commit adds two feauters to our script
that calls out to Puppet.

1. status checks so that we can keep track of
   two types of failures.

   * when Puppet fails
   * when validation checks fail

2. service dicsovery (this is a much bigger
   feature)

Adds a feature where each service can register itself,
and other services can discover registered services
to figure out how to confgure themselves.

Services can register themselves using the class

    rjil::profile

which adds single line to the local file

    /var/lib/puppet/profile_list.txt

This file is used to determine what services
a node will register itself for.

Before any node runs Puppet, it calls the

    python -m jiocloud.orchestrate cache_services

which write the file services.yaml into hiera.

Since an array may be written into hiera and we
want to perform recursive lookups, this commit
also adds a custom hiera backend that can
perform two kinds of lookups:

    lookup_array : performs a recursive lookup of
    and array

    lookup_array_first_element : retrieves the first
    element of an array via recursive lookup

3. also fixes a bug so that hiera data is copied
   across when we perform a from source installation.
Add extra restart to etcd

for some reason, etcd needs a little nudge
with an extra restart to function.

I'm not sure if we want to merge this patch,
but etcd does not work after the initial restart
. For my testing, this is absolutely required.
Merge pull request #47 from hkumarmk/contrail

Added rjil::contrail::server
Merge pull request #48 from bodepd/param_haproxy_ports

Parameterize ports for ha
Merge pull request #49 from bodepd/fix_apache

Update revision to apache
Merge pull request #50 from bodepd/test_keystone_and_haproxy

Test keystone and haproxy
Merge pull request #51 from bodepd/service_discovery_and_status

Add status validation and service discovery
Merge pull request #53 from bodepd/nudge_etcd

Add extra restart to etcd
Add data and config for 4 node deployment

Adds the config and data for my first realish
multi-host deployments that uses the service
discovery and registration feature.

This code adds data for depoloying

- 1 db
- 1 haproxy
- 2 keystones
- 1 etcd

where all of the interconnectivity information
is figured out out runtime using the previously
implemented discovery system based on etcd.

Conflicts:
	site.pp
Merge pull request #52 from bodepd/4_role_deploy_code

Add data and config for 4 node deployment
Update documetation

The intention is to get the README robust enough
that people can start implementing their own custom
build processes for use with deploy.sh although it
definitely has a bit further to go.
Merge pull request #54 from bodepd/deploy_readme_update

Update documetation
Exit if validation fails

Currently, it is still proceeding
which means that the running version can
be updated even when a failure occurs.
Merge pull request #55 from bodepd/exit_on_failed_validation

Exit if validation fails