Allow complex scheduler hints for AWS Instance

Nova supports providing several values for the same scheduler hint,
in which case the hint value is formed as a list. This functionality was
missing in AWS::EC2::Instance resource.

Change-Id: Id05e4f2ebe89871c1f27f8d97441f3b6cf469dd3
Closes-Bug: #1297667
Order imports in alphabetical order (5/9)

This patch is one in a series to re-enable H306 style check rule
(imports are in alphabetical order).
It touches engine files (without resources).

Implements: blueprint reduce-flake8-ignored-rules (partial)
Change-Id: Ifd36fc49199c48af891bd8e7cc2d2262a53032eb
Update contrib docstrings to match guidelines

Per http://docs.openstack.org/developer/hacking/
and http://www.python.org/dev/peps/pep-0257/

Without extra blank line in multi-line docstrings
based on http://lists.openstack.org/pipermail/openstack-dev/2014-February/028156.html

Blueprint: reduce-flake8-ignored-rules

Change-Id: I0050d382369d3013280f3d90df87fb530bc6c939
Update status section to indicate HOT is supported

This updates the status section of hot_spec.rst to indicate
Icehouse is supported and reliable, and indicate that future
versions will allow versioning of the template language.

Change-Id: I70455f71362babcea746831dd730f8c33ef51745
Closes-bug: #1304145
Expounded on global environments.

Explained that the effective environment used for a stack is the
combination of the user-supplied environment and the provider-supplied
"global" environment.

Change-Id: I0e005dad6efb80a76ecff6337454e2e891e692ca
Partial-Bug: #1297060
Sort requirement files in alphabetical order

This makes code more readable, and can check whether specific library
in the requirement files easily. We also enforce the check in pep8.

Change-Id: I032c3c3d29522ce85f64b21d6428d975e46cc701
Closes-Bug: #1285478
Fix missed whitespace in attribute description

Change-Id: I763800de395331ce24b8e7d8442ac0f9644aa9f3
Cherry pick oslo-incubator db fixes

The patch cherrypicks 2 fixes related to utf8 migration:

 * Ib5c0f93c788afda92aad862e50dc086dc39605f1: Ignore migrate versioning tables in utf8 sanity check

 * I7f271d846141ac72dde3fb0d12159b125018eb2c: Make table utf-8 charset checking be optional for DB migration

Change-Id: Icb811e846c05f863a42611054f2e3f30a47573db
Closes-Bug: #1301036
Remove unused variable for UpdateReplace exception

Base class Exception have not attribute "_message" and variable
"message" has default value in init method, so attribute "_message"
could be removed.

Change-Id: I304e13d1923ef043f04f03477b94f88cea4bc52f
Remove testscenarios load_tests

A load_tests call sneaked in test_provider_template, but it's become
useless since we switch to a base heat test class that provides what's
needed.

Change-Id: Ie5665cbbafb46a7ed63ada37a3f4aa5c74cdb8b6
Merge "Cherry pick oslo-incubator db fixes"
Allow NotFound to be created without args

It appears that the serialization used to wrap RPC exceptions
requires that the class be instantiated without any arguments.

Since the NotFound exception required a msg_fmt it could not be
deserialized in heat-api, which lead to no mapping in the FaultWrapper
so a 500 was raised instead of a 404.

This change adds a default value for msg_fmt for the NotFound exception.

The classes Error and ResourceFailure likely have this issue too, but it
is not as serious since they will raise a 500 error anyway.

Config/deployment API tests now check that NotFound can be deserialized by
calling to_remote_error, and checks that FaultWrapper converts that to
HTTPNotFound.

Change-Id: Ieb8de26465cb26aa015f15c134f80a06ebcae95c
Closes-Bug: #1301657
Related-Bug: #1304743
Add documentation for creating a resource plug-in

Change-Id: I229316c6f4c634c18fc33b0f5ffd3ce5d194b383
Merge "Update contrib docstrings to match guidelines"
More specific exceptions when validating params

In addition to the example cited in the bug, this updates a few other
exception messages to indicate the name of the parameter that is failing
validation.

Change-Id: I1b7729305988444dc15abd6e5d958f443efc091d
Closes-Bug: #1294295
Merge "Update status section to indicate HOT is supported"
Add missing test coverage for XMLResponseSerializer

Currently we have no direct coverage of this, so add some tests
prior to refactoring in a subsequent patch.

Change-Id: I20242e60b84f9265cdc7afef2deabee8235e287c
Related-Bug: #1291079
Refactor to separate serializers from wsgi controller

Remove the serializers from heat.common.wsgi, so we break the
circular import which happens if you want to import
heat.api.aws.exceptions to do a determination based on exception
type, which is required to avoid the faultwrap exception disguise
which is not applicable to the CFN API.

Partial-Bug: #1291079

Change-Id: I7498d78f8ec6098b28fb183eaaa04aa81fced3eb
Don't disguise CFN API exceptions

The exception disguise wrapper is for the native API which uses
the faultwrap filter to process the response. For HeatAPIException
subclasses (which are only raised by the CFN/CW API's) we need to
raise the unwrapped exception or the client sees a 500 response.

Change-Id: Iebfbc76d5cb26aa9ee61c5192d7fecc596aa83b9
Closes-Bug: #1291079
Merge "Remove testscenarios load_tests"