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
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
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
Remove spurious tracebacks from tests

Some tests were deleting stacks in the background, thus provoking
tracebacks displayed later on during tests run. The patch waits for the
delete threads to prevent that.

Closes-Bug: #1278836
Closes-Bug: #1278937
Change-Id: I4b90eb6f90168803445039f9588a3052def6636a
Fix errors in hot_spec doc

allowed_values is not written properly in an example, and fix a
sentence.

Change-Id: I6544033365b937e1e0fc33d23c143d6a3291273b
Use integer when appropriate in autoscaling schema

The patch starts using integers in the autoscaling schema, removing the
needs to cast everywhere we use the properties in the code. We now
provide a backward compatible cast so we should be fine.

Change-Id: I828557dff4b08247b6b441bb3dff1b82153cf5cb