Add OS::Neutron::RouterL3Agent for router.py

This resource supports part of "agent management and scheduler
extensions" in Neutron. It associates router with l3-agent.

see related-bug: #1245366

Closes-bug: #1259845
Change-Id: I781645e62beb4fe60e064d61ad298834e551142d
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
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
Convert Instance to new Schema format

Also, the HA Restarter.

blueprint property-schema-conversion

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

blueprint property-schema-conversion

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

blueprint property-schema-conversion

Change-Id: I96f2b5b5c3529280ff420328115d7e1ec2592a0a
Don't pass swift headers as None

If we set an header as None for a container swiftclient would just pass
it to httplib which convert it to string and set the None string into
it. This could not be changed in swiftclient to keep backward
compatibility lords happy so make sure that heat doesn't do that.

Closes-Bug: 1259571
Change-Id: Ida1d2cec87e44264f9a7d69a1e220b544b33b63c
Add support for rebuild --preserve-ephemeral.

This new extension going into Nova permits preserving the ephemeral
partition during a rebuild, getting enough functionality to preserve
state - e.g. on baremetal instances - without Cinder.

DocImpact
Change-Id: Ibc4c24bb2efb82c11699231ae76e2755a753a706
Merge "Add OS::Neutron::RouterL3Agent for router.py"
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
Prevent tempest from failing upon ActionInProgress

Jenkins occasionally fails in the 'check-tempest-dsvm-postgres-full'
test.  The tempest tests sometimes try to delete the same stack twice
and an ActionInProgress exception is raised.  This results in ERROR
messages in the log file, which causes the tempest test to fail.

The fix is to decorate the StackLock.acquire method with
client_exceptions, which "allows the declaration of expected exceptions
that the RPC layer should not consider fatal, and not log as if they
were generated in a real error scenario."

Closes-Bug: #1261433
Change-Id: I0692b9d5cf03501ba532b40abf4e567134cda057
Merge "Prevent tempest from failing upon ActionInProgress"
Merge "Don't pass swift headers as None"
Merge "Add support for rebuild --preserve-ephemeral."
Add an external gateway property to neutron router

Deprecates existing RouterGateway resource and adds external_gateway property
to neutron Router resource to set up the gateway.

Change-Id: Ic61a817e699d2a005c4eb2c5d7b23ae9a70567c0
Closes-Bug: #1246064
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 first patch inlcudes roughly half of the files touched by these changes
(up to and including test_n* sans `contrib` code) to ease the review.

Partial-Bug: #1259023

Change-Id: If6779c9230cf73ab93165a00040d1ca32d087c80
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