Adds parameter_groups to HOT specification.

The ability to group and order parameters in the template is
currently missing. This patch allows for a new section of the
template, parameter_groups, to be added by the template author
to explicitly define the expected behavior.

Change-Id: I6d8dc4e6490fbfe9cc45f6ca9cb1ac2826e13273
Implements: blueprint parameter-grouping-ordering
Fix misused assertTrue in unit tests

one additional case of misuse of assertTrue was found

Change-Id: If62f5800566921433fc098dbba0188f69fbb6eb1
Closes-Bug: #1226374
Convert numeric values in instance metadata to strings

Prior to this patch, if the following was in a template as a
"OS::Nova::Server" resource property, the user would see a "BadRequest"
error from the remote API:

metadata:
  a: 1

Fix this issue by converting the value of each metadata entry to a
string before passing the metadata to the novaclient create call.

Closes-Bug: #1260476
Change-Id: I89d60620a3b852a7fcdd2f41135b1f12fbd428d8
Add support for multiple encryption methods

We use only one encrypt() method but it returns the method to decrypt
the data. This way we can change the encryption mechanism but
always have a way to know how to decrypt whatever is stored.

Change-Id: I2315a33105a8766f69d02f0617af39a9dae19ddf
Partial-bug: #1251647
Remove useless validate methods

Remove the validate methods of s3 and swift resources, as they don't
provide any value and hide validation of properties.

Change-Id: I5b9f7aef828d5e4d7cdebfd2bd550feaae545c90
Closes-Bug: #1260643
Use property name constants in Ceilometer alarm

blueprint property-schema-conversion

Change-Id: Id0b3877e18cff7c37da1ded3802480c6f5355d7d
rackspace: Convert Scaling resources to new Schema format

blueprint property-schema-conversion

Change-Id: I292b638e31cc4de9690d8680824a20662a902bcd
rackspace: Convert CloudLoadBalancer to new Schema format

blueprint property-schema-conversion

Change-Id: I1b322041dc3c746cc67a38da2b1395ce6bd59f98
Add a schema for the AWS::EC2::Instance Volumes property

Change-Id: I1d2e6854d0fe81d5d0b9272f65502d71a39ad511
Convert [Cinder]VolumeAttachment to new Schema format

blueprint property-schema-conversion

Change-Id: I93eeab88683d380c6dfe3433918792e328e71dd2
Use property name constants in CinderVolume

blueprint property-schema-conversion

Change-Id: I38719a21ec89bbc8b74f57184a83a92c1cfb7dda
Convert AWS network resources to new Schema format

blueprint property-schema-conversion

Change-Id: I96f2b5b5c3529280ff420328115d7e1ec2592a0a
Add nested resource references to resource group

Originally, there was no way to get references to the
resources inside the resource group. This prevented
things like attaching volumes to instances in the group.
This patch allows both aggregated as well as indexed
access to ref id's of the nested resources.

Closes-Bug: #1259830
Change-Id: Id13eb6edd91bfc34d8bab05f429e761fe89ed799
rackspace: Convert resources to new Schema format

blueprint property-schema-conversion

Change-Id: I2aa4c86b6b7d8931e6526fdb9a56b4b982045270
Correct create_trust_context docstring

The docstring in heat_keystoneclient create_trust_context incorrectly
references a test on deferred_auth_method which ended up happening in
parser.Stack, so correct it to accurately reflect the code.

Change-Id: I0d763b44a57e9b9e641e36c418445441702db07e
Add sanity check to ensure user_id can be trusted

Due to bug #1239303 the wrong user could be used when obtaining a
trust-scoped v2 token, so add a sanity check to ensure we can rely on
the user_id, using the trustor_user_id (which we currently store but
don't use) to ensure impersonation is working as expected.

Change-Id: I0481a4d96c514d0d61676d27f615c735e89ad03e
SignalResponder, set resource_id in the correct place

If there is an error creating the ec2 keypair, but we have created
a user, we will lose track of the user id and be unable to delete

Change-Id: Ib8704f1054dd16003849700c659d0fea83c13916
Closes-Bug: #1262177
SignalResponder store access/secret in resource data

We need to stop relying on the logic in heat_keystoneclient which
assumes there is only one keypair per user, as this assumption
may not remain true in future.

So instead, store the access/secret key in the DB as resource data,
which is probably better from a performance perspective anyway, and
will also allow SignalResponder subclasses to potentially override
the default credentials implementation more easily.

Change-Id: I7952181f30c94848acf358ab34cf17b6281d43ac
Partial-Bug: #1089261
blueprint: instance-users
wsgi.Resource exception handling to not log errors

In order to not log some exceptions as errors, the
wsgi.Resource.__call__() was modified.
Instead of check if an exception is a HTTPBadRequest or a HTTPNotFound,
now all the exceptions that are not childs of HTTPError are raised
directly, without logging, translation or disguise.
If the exception is a child of HeatException, then the exception is
tranlated but not logged as an error. When this exception reaches the
Fault Wrapper Middleware it is logged as debug.
Some unused, or only use in test, exceptions were removed.

Change-Id: I105eeb74a55dcabc79cd3926dd88da0e19d1e1f1
Closes-Bug: #1231133
Merge "Fix misused assertTrue in unit tests"