Add way to group exceptions in DependencyTaskGroup

DependencyTaskGroup currently aborts execution if any exceptions are
raised.  This commit provides a way of aggregating all the exceptions
during execution and re-raising them only at the end.

blueprint stack-check

Change-Id: I6af314cc112f9286c8b38739870c6fa8b4ba9b5a
Using _handle_not_found_exception in resources

This patch replace duplicate code in neutron resources on
function _handle_not_found_exception defined in parent class.

Change-Id: I7f86f52a8d00590c83aad01bc26507c78f01ddbb
Closes-bug: #1267729
Don't query for resource during stack creation

In Resource.__init__, we unconditionally make a query on the resource
table even if the stack hasn't been stored yet and stack.id is None. The
patch adds a simple conditon to skip it.

Change-Id: Ic8f915d6bb82c95db0a65b029b09b864c1348f3d
Fix comparison with singletons

Many plases in tests code use assertEqual(AA, None),
the same with True and False and negatives of such comparisons.

As comparison to singletons must use `is` operator, appropriate usage
is assertIs, assertIsNot, assertIsNone, assertIsNotNone

These assertions are provided by the `testtools` package,
so this change is not breaking backward compatibility with Python 2.6

This second patch inlcudes the other half of the files touched by these
changes to ease the review.

Change-Id: I9965ae158f3e0dc49b93b9357a32a302ac7dc735
Closes-Bug: #1259023
New middleware to handle SSL termination proxies

The Heat API doesn't behave properly if it is behind an SSL termination
proxy. If this is the case, the HTTP redirections and the links
returned in the REST response bodies are build using http protocol
instead of https.

To handle this situation, a new middleware was added. The purpose of the
SSLMiddleware is to update the wsgi.url_scheme environment variable of
the request with the value contained in an HTTP header that can be
configured in heat.conf (by default: 'X-Forwarded-Proto')

Change-Id: I418cd8cf2fb2a5fb3f630b4945084fb6eab57310
Closes-Bug: #1235555
Use oslo crypto

Use olso crypto as the new encryption solution.

Change-Id: I80b76dc5acef5362c49c437bdefdf88f08983fc4
Closes-bug: #1251647
Fix ceilometer alarm properties schema

The patch contains the following changes:

Type changes:
 - evaluation_periods from String to Integer
 - threshold from String to Number
 - period from String to Integer

Next options are not required now:
 - evaluation_period
 - statistic
 - period
 - comparison_operator

Change-Id: I645673ca7bf52649322e3f4adf851145b9d1a244
Closes-Bug: #1261390
(cherry picked from commit ffc913cb930748e0cba0df5b485255d4ec41d5ee)
Merge "Fix comparison with singletons"
Merge "Add way to group exceptions in DependencyTaskGroup"
Refactor MySQL long text support

Seperate Json into two classes: LongText and Json. So type LongText
can be reused in both models and migration, for example, reused by
software config model(config).

Change-Id: If6a8f77e656ad17ee465cb4724d5e28962c0efef
Turn block_device_mapping.volume_size to int

Integer instead of string will allow better constrain implementation
plus Nova expects such parameter to be an integer.

This change is backward compatible, as it still accepts string values.

Change-Id: I599ea2bf77a187cc53f864a9e1a42755142211ff
Closes-Bug: #1267889
Convert heat_keystoneclient user-create logic to v3 API

Migrate the calls to create the stack user and assign the
stack user role to the v3 API (still using the default domain)

Change-Id: I34d07cd6c61aa7fccbd386f01504cb18a1f09803
blueprint: keystone-v3-only
Convert heat_keystoneclient user-delete logic to v3 API

Migrate the delete_stack_user function to use the v3 API.

While making this change, the old retry workaround (which
IIRC was due to a Folsom-era keystone bug) has been removed
as testing indicates it is no longer required.

Change-Id: I6e04ecc3efbb230952ee269f560bdce1115fb9ea
blueprint: keystone-v3-only
Convert heat_keystoneclient user enable/disable logic to v3 API

Migrate the enable_stack_user and disable_stack_user functions
to use the v3 API.

Change-Id: Ieebc94cf09ba952d0ec0499091ba52906d6fe9cb
blueprint: keystone-v3-only
heat_keystoneclient migrate auth_token/service_catalog to v3 API

These work the same regardless of the client version

Change-Id: I2ee4a90f4ca5c58226abd2a9660c1a7bdabb1a08
blueprint: keystone-v3-only
Fix incorrect resource types in docs/comment/code

The template guide documentation references OS::Compute::Server in several
places, and there are similar errors in the environment code comments and
environment test code. Also there is a similar issue with template guide
reference to Rackspace::Compute::Server, and a minor typo/spelling issue.

Change-Id: Iafbf405a328bdd8222c277efe5b52d7f8f589635
Closes-Bug: #1270078
Merge "Don't query for resource during stack creation"
Merge "New middleware to handle SSL termination proxies"
Merge "Using _handle_not_found_exception in resources"
Merge "Convert heat_keystoneclient user-create logic to v3 API"