Enable heat server to be run in SSL mode

This commit allows one to specify cert and key file
to run heat server in SSL mode.

Note: The flag use_ssl per se is not used in heat yet,
its purpose here it to verify collateral parameters.

Change-Id: I94d0b461adc752b028770aea71bf4e4612722539
(cherry picked from commit 025b8cb830d7fa476c4ab1a0b0228b88b5ba10c3)
Release 4.1.0

API change to add SSL support

Change-Id: I4b115ab837af5769d4abcde88dc60788feba80f0
Require Class['mysql::server'], not Service['mysqld'] when creating DB.

When using version >= 2.2 of the MySQL module, setting up the database
for Keystone depended on the MySQL service (Service['mysqld']). However,
if the service is not managed by Puppet (e.g. it is managed through
Pacemaker instead), this would cause catalog compilation to fail because
there is no Service['mysqld']. This is the case when the MySQL module is
called with service_manage => false. Requiring Class['mysql::server']
instead fixes this.

Change-Id: I4ba7932d679764576a46ea599499991a5c57fc56
Closes-Bug: 1349316
(cherry picked from commit 5837aaeaadb14fdc089b25e666cfd8d91f0f53a6)
Updates Example Manifest

The existing example manifest does not work. This patch updates
the example manifest so users can easily deploy Heat using Puppet.

Change-Id: I5b6f19760a7b629e0151f895ab4532af804a8af0
Merge "Updates Example Manifest" into stable/icehouse
Hide secrets from puppet logs

Currently secrets like rabbit_password or admin_password are laked

puppet logs when changed. This commit changes heat_*_config and
heat_*_ini types adding a new parameter that triggers obfuscation
the values in puppet logs.

Change-Id: Ib06a0f967dd5d5f8cc1c4dc7257c0e196786e8ae
Closes-Bug: #1328448
(cherry picked from commit 6a89a44f9d2c6114b3bb1a4a74eff62ec13f545e)
Fail when ssl parameters are missing and rabbit_use_ssl is set to true

This commit causes the run to fail is rabbit_use_ssl parameter is set
to true but the ssl related parameters remains undef.

Change-Id: If621de7ed4432c4ef79d18cee4da822ebadb0a4f
(cherry picked from commit 85a98e13e82e7c87549b92cbd3bb114d4afbde43)
Makes kombu_ssl_* parameters optional when rabbit_use_ssl => true

The kombu_ssl_* parameters should not be required when rabbit_use_ssl => true
Rather, rabbit_use_ssl must be set to true if the kombu_ssl_* parameters are
used.

Change-Id: If9cceb4f4090c8b39079aa1aae2f53640c9ac0ff
Closes-Bug: 1356083
(cherry picked from commit a4a20a9012114ee21ad175422d3a9d5f0ab41120)
Add extended logging options.

There is a range of extended logging options in Openstack services that use
openstack.common.logger (Ceilometer, Cinder, Heat, Keystone, Nova). Adding
heat::logging to support them. This change is identical to
<https://review.openstack.org/#/c/113560/> but it applies to puppet-heat
instead of puppet-ceilometer.

No blueprint/spec, as discussed in the IRC meeting on 08-11-2014.

Change-Id: Ia120b799d676e516d8e593088f93d44891c20cbd
(cherry picked from commit 2492ef5fb35258251b41fc692ff7e2b8043e9c0f)
Merge "Fail when ssl parameters are missing and rabbit_use_ssl is set to true" into stable/icehouse
Merge "Makes kombu_ssl_* parameters optional when rabbit_use_ssl => true" into stable/icehouse
Release 4.2.0

Changes:
- Added ability to hide secret type parameters from logs
- Fixed database resource relationships
- Added class for extended logging options
- Fixed ssl parameter requirements when using kombu and rabbit

Change-Id: Idf72e0b818141af893d9d1bfa00c46ff562a0da1