Ports depend on the subnets in the same network.

Without establishing this implicit dependency, the following
sometimes occurs:
- Ports get assigned to instances without any IP address
- Stack delete fails as ports still exist in subnets.

Fixes bug: #1192371

Change-Id: Ifd892cef4c2eebaea5568afbd320c8865c845d70
Fixup assert_has_keys.

This test helper had awkward code that didn't support users in
debugging tests, as it didn't report enough information. Additionally
some style issues were present, which I fixed up at the same time.

Fix bug 1195239.

Change-Id: If07e54ae0f2db1152dfea2012ff39b0291955dd7
Expose resource dependency required_by to REST API.

Each resource can generate a list of names of resources which
require this resource as a direct (non transitive) dependency.

This information is returned in the list as well as the show REST calls
so that a diagram of the running stack can be built with a single
request.

Other uses of exposing this information is:
- template authors debugging their own template dependency issues
- integration tests validating template dependencies

Change-Id: Ibe62345afa87e49c4e2152a5fcb74e5ee003124e
tests : remove duplicate suspend tests

A previous patch erroneously introduced two copies of the same
tests, remove the stackServiceTest duplicates as they already
exist in the stackServiceSuspendResumeTest testcase.

Change-Id: Iec00fd8dbe0d0bc6b2718b03cc4fe40b9ba481c3
Rework associations from vpc to quantum resources.

Metadata cannot be used to store the relationships between VPC
resources and the underlying quantum resources, since this prevents
VPC or Subnet refs from being passed in as parameters.

This rework results in no state being stored in metadata. Route table
relationships are inferred from the template. An assumption is made that
the quantum router associatiated with the VPC will have the same name
as the quantum net. The easiest way of ensuring that is to creat the VPC
in a different Heat stack.

Fixes bug: #1165050
Fixes bug: #1165056
Fixes bug: #1166779
Fixes bug: #1166787

Change-Id: I6fb087bfc63ed13703089a16ed57858e6911b7d8
implement stack metadata

make metadata and delete/update policy accessible to stack resource

Blueprint stack-metadata

Change-Id: I2251b730ce7fb70b8b28f065479b9b6a7e8a1f33
engine : perform periodic tasks with stored stack_context

The metadata update needs to be performed with the stored stack_context,
not the admin_context, which contains no credentials to e.g authenticate
with nova

Fixes bug #1196618

Change-Id: I0451604535a731de5ad57d2d52cdf183e58cf7b0
add missing gettextutils imports

Several files use the "_" function, but don't import it from
gettextutils - this leads to a "NameError: name '_' is not
defined" error if you try to import/use the modules from an
interactive python shell or standalone test-code.

Change-Id: Id28b45d71eeda64fbfaa6234b12cff45fcd2ce40
Rackspace cloud database resource provider

Change-Id: I0bdacb844d5e5999e70918352e58856c1b21692c
Merge "Expose resource dependency required_by to REST API."
Merge "add missing gettextutils imports"
Merge "tests : remove duplicate suspend tests"
Merge "Ports depend on the subnets in the same network."
Merge "Rackspace cloud database resource provider"
Merge branch 'master' into bp-dev/cloudlb-resource
Merge "implement stack metadata"
Merge "engine : perform periodic tasks with stored stack_context"
Merge "Fixup assert_has_keys."
Merge "Rework associations from vpc to quantum resources."
remove debugging

Change-Id: I801fd5ce4e3da44dda2e24ba419d0de115736346