raw_template hot parameter type data migration

Changes were made to the hot syntax which prevent invalid templates
already present in the database from being loaded as part of a stack
list. This database migration forces the parameter schema type to
be lowercase.

Change-Id: Iaa4b16e9b5188e6e99cda95e1c7fb0dc11c206f7
Partial-Bug: #1274288
Ensure some properties update_allowed on port res

Adding update_allowed attribute for "name" and "device_id" properties on
the resource OS::Neutron::Port

Change-Id: I5fa9eab2493e7b60d1540fffc4f883ff362f4847
Closes-Bug: #1272207
Raise the default max header to accommodate large tokens

PKI tokens hit the default limit if there is enough
services defined in the keystone catalog.

Also the v3 catalog is larger than the v2 catalog which would explain
why this bug is being hit just now.

This change adds the configuration option max_header_line to each of the
API confurations which has a default of 16384.

Closes-Bug: #1190149
Change-Id: I5da09aa08a1242c5e356bd8bf532baa9347ce075
Translate constraint description in validation

The patch modifies format_validate_parameter to include constraint
description in the CFN compatible output.

Change-Id: I31c6a4dc025a782e8951280e42652b12070476b3
Closes-Bug: #1274994
Updates template_validate call to validate parameter_groups.

When calling template_validate, the parameter_groups will now
be checked for valid parameter references and parameter integrity
across groups.

Change-Id: I0cbca0d443b68b8932a155a637a9aedc8eb0c2f9
Implements: blueprint parameter-grouping-ordering
Implement HOT intrinsic function get_file

This function takes a single string argument and uses that as the key
in a lookup into the template files. The resulting content is substituted
as a chunk of text.

The files keys can be arbitrary and the files section can be built manually
when generating the API request. However by convention heatclient will use
the absolute URL of the file as the key.

Change-Id: I83a73b14e1fbf56545151da1d8a0d7afe89149a4
Adds Parameter Label to HOT spec and parameter schema

This change will add the ability to put a human readable label
in a HOT Template for each parameter. This label will be used
to provide a better form label in any user interface when
available.

Change-Id: I8d815d1cfceb71c1ea0a9907f2afeb06dc4fca09
Implements: blueprint add-parameter-label-to-template
Handle API limit exception in OS::Trove::Instance

troveclient raises a RequestEntityTooLarge exception when an API limit
is encountered.  Previously, this would cause the stack action to fail.
Log a warning instead.

blueprint improve-api-polling

Change-Id: Ia7e5e321d5e1284880ee71fa0457be5726860aad
Retrieve user_id from HTTP Headers to populate Context

We need the user_id within notifications sent by Heat to be able to
handle it in Ceilometer, currently only the username is provided which
can be non-uniq per tenant and could confuse the integrity of data.
The easiest way to do that is to populate the Context within the user_id
retrieved from Headers.
No need to store the user_id in Heat backend.

Related-Blueprint: send-notification

Change-Id: I88bd5612556d2000d72427308d17643f14d35306
Change access to ceilometerclient

This patch use ceilometerclient more common way: it creates versioned
ceilometerclient instead of importing it directly

blueprint common-client-library-2

Change-Id: Id1d3fd88ff8d1da332f85340377c6d756d5c749c
Provide region_name to trove-client

To create DBaaS instance in correct data center, need to provide
region_name to trove-client. This change updates clients.py in
contrib and passes region_name to trove-client.
Please note that, this is minimial change to fix rackspace Trove
resource and there is a blueprint(multi-region-support) to support
multiple regions.

Partial-Bug: #1261870
Change-Id: I8092b23923629e21b0ba9e487f64ce7f5c826015
Delete rackspace database resource

Rackspace database resource 'Rackspace::Cloud::DBInstance' is not
required anymore and 'OS::Trove::Instance' should be used instead.

Closes-Bug: #1261870
Change-Id: I875048995792aa9993febf1391039d3a82ec849d
Fix misspellings in heat

Fix misspellings detected by:
* pip install misspellings
* git ls-files | grep -v locale | misspellings -f -

Change-Id: I554143f00fe82154472e7eb6391291730dd3ddd4
Closes-Bug: #1257295
Closes-Bug: #1277515
Verify that parsed environment file maps to a dict

An internal unexpected exception is raised while create a stack with an
environment file which only has string content. We should handle the case
and raise the correct error message such as "The environment is not YAML
mapping".

Change-Id: Ie226d122593dd97c3607c269899c0743a9d917d3
Closes-Bug: #1273538
REST API for software config

This REST API creates one new base path to manage config entities:

* /{tenant_id}/software_configs

Implements: blueprint hot-software-config-rest

Change-Id: Ia1f11adbf9377f0a730ca48afcaaaee7bc3258b6
Remove TODO comments in create_resource

Since it's XML handling related and the ever having XML API intention
has been removed.

Change-Id: I7d7328f6d13caa861b7fc4b3fd22c4450b6097e5
Add a requirements file for contrib/rackspace/

This is so we have a common API for installing contrib plugins
from devstack.

Change-Id: Ib9bf2f7712be0e2112c9b44fc5579b25e609f2e2
See: https://review.openstack.org/#/c/71199/
Separate the Marconi client from the resource

Move Marconi client into its own module for consistency.

Change-Id: If240c1ddfc4ef3af3332c280da507d832a8b3246
Restructure Marconi plugin directory structure

Moving the queue resource under resources. This allows for the
separate doc generation between resources and other package modules

Change-Id: Icb402bde8e38114f4144252b93df0cb050d2e5f3
Don't try to stop a stack on a dead engine

Check that an engine is still alive before trying to stop the stack
during a stack-delete.

Change-Id: I3ce87dcefd5c4b5c542c3dc0d288655433bf69c4
Closes-Bug: #1279010