Add heat encryption key

The heat::engine class requires an encryption key. This
patch adds a sample one.

Change-Id: I3b80d8bf0e7e6931c64d571f7e1e3c807ffe4371
Add glance cache pruner job

On nodes where we set up glance, we currently don't set up a
glance cache pruning job.  This is a recommended practice as
it can allow glance images to take up more disk space than
they should be allowed to by the image_cache_max_size setting
(refer to http://docs.openstack.org/developer/glance/cache.html).
This patch adds glance::cache::pruner to the glance_all
class group so that a pruner job gets added to nodes running
glance.

Change-Id: I9cf46057f7cf436a54c121b5364a2d17ebc9fbb8
Implements: blueprint add-glance-cache-pruner
Update Cisco package repo setup parameters

Cisco OpenStack Installer recently introduced a change to remove
redundancy in the package repository setup routines used to set
up both the package repositories set up by Puppet agents running
on already-provisioned nodes as well as those introduced as part
of the preseed template for nodes being provisioned by Cisco's
hooked-in Cobbler process.  This patch creates a mapping between
parameters that should be set to the same values in the coe and
coi classes, sets nonvendor defaults in common.yaml, and provides
vendor overrides in vendor/cisco_coi_common.yaml.
It also substantially beefs up the inline comments to make it more
apparent to the end user what these settings are doing.

Change-Id: I4dd37e8a3ae2d3a23c7a2886c2233e7c5e29e96f
Partial-Bug: #1269856
Removed puppet master command

The install.sh script originally had a command to start a puppet master.
The command was malformed and likely never worked.
After testing, it was found to be unneeded as apache is started elsewhere.

Change-Id: I55eaa3b9e0d2f02d9821e5b841069f6a870673e3
Add heat templates for 2_role scenario

This commit adds some heat templates that can be used
in conjunction with scenariobuilder to create stacks that
deploy puppet_openstack_builder in VMs on an openstack
cloud.

The template and bootstrap cannot be used on their own,
as user and global config is must be inserted into
the metadata fields of each node informing them of the
desired configuration.

Two sample config files are provided under contrib to
help users get started.

Change-Id: I1b9365a8d6e5afc96e720836aadc07df5595d965
Merge "Update Cisco package repo setup parameters"
Merge "Add glance cache pruner job"
Add glance cache cleaner job

On nodes where we set up glance, we currently don't set up a
glance cache cleaning job.  This is a recommended practice as
it can allow glance images to take up excess disk space due to
images that are in invalid/stuck state remaining in the cache
(refer to http://docs.openstack.org/developer/glance/cache.html).
This patch adds glance::cache::cleaner to the glance_all
class group so that a cleaner job gets added to nodes running
glance.

Change-Id: Ifb6b66857ff891840517e18c9794963f80b0409e
Implements: blueprint add-glance-cache-cleaner
Replace dpkg --purge call with apt-get

dpkg --purge leads you into a morass of dependencies and as is
written now does not function. Replace it with a simple
apt-get remove --purge --yes call.

Change-Id: I3c20371d0a63955aaca44957f8f988eb1da4141f
Use a public ntp server

Replace the private Cisco NTP server with the public pool

Change-Id: If58d65de08e10b4f1429fbe1acd707b9fdf5dce3
Merge "Add heat templates for 2_role scenario"
Merge "Use a public ntp server"
Merge "Replace dpkg --purge call with apt-get"
Implements: set ownership of puppet

This commit fixes a ownership issue which exists that causes
the puppet plugin download to fail. It changes ownership of all
/var/lib/puppet to puppet prior to that run.

Change-Id: Iede9b2bb0cdd66dab064d8b56efa3eb507ba6c44
Add -y to apt-get command

The apt-get command that installs puppet modules when using a package-
based install lacks the -y flag.  On most systems this doesn't
seem to be a problem since dependencies are already installed.
However on some systems this can cause the install to fail out
if a dependency is needed (thus cause apt-get to interactively
ask the user if it's ok to install the dependency as well).

Thanks to Jon Skarpeteig for reporting the issue.

Change-Id: I9dddde04cf7f8ef2e777ff9f1bc9feed1cfd6c83
Merge "Add -y to apt-get command"
Keystone access from Horizon fails in full_ha

In full_ha horizon is currently configured to access keystone via
localhost, but keystone is configured not to bind to localhost. As
a result, authentication to horizon fails.

Add a parameter to full_ha scenario specifying the location of
keystone for horizon to use.

Change-Id: I1333069f7f6994908deae50b78ae8252593502d8
Closes-Bug: #1273934
Don't map controller_hostname to an IP address

The current data mappings set coe::base::controller_hostname
to an IP address.  This results in an invalid entry in
/etc/hosts containing two IP addresses rather than an IP address
and a hostname.  The problem doesn't affect the full_ha
scenario as it overrides the setting in user.full_ha.yaml.  This
patch removes the broken mapping and adds a similar config to
user.common.yaml, resulting in a clean /etc/hosts file.

Change-Id: Ibdb436ce0f5d08fd6acbadebc7323ac374a46207
Partial-Bug: #1274263
apt-get dist-upgrade needed after adding repos

apt-get dist-upgrade is needed after adding a vendor repo to ensure
that any packages in the vendor repo which need to override "baseline"
packages get in place.

Change-Id: Id70ff9200ce0a19cf4900eaafda5bb3c8c5ee480
Partial-Bug: #1273777
Add a bunch of inline documentation

Users of puppet_openstack_builder are often befuddled by the lack
of inline data in the files they are most commonly expected to
modify (e.g. the user.x.yaml files where things like hostnames,
IP addresses, and passwords are typicall entered).  This patch
provides inline documentation to make the files less mysterious
to new users.

Change-Id: I1ece3c968dfc74ff7fd636ef1c0bf9e67d567a41
Partial-Bug: #1270381