Add API endpoint to query build information

This creates the '/<tenant_id>/build_info' endpoint and returns the build revision
as defined in the 'heat_revision' configuration option. This provides
both the revision of the engine and the api:

{
  "api": {
    "revision": <api revision>
  },
  "engine": {
    "revision": <engine revision>
  }
}

Implements: blueprint heat-build-info
Change-Id: Ibb2f5afda7c5d7c314e5e062d618405d9f4eb318
Migrate away from rackspace_resource

Having Rackspace specific resources subclass a the rackspace_resource
does not replace the clients system wide. Use the cloud_backend to
acomplish this. That way any special configuration done with pyrax
will be used in any client call.
Change-Id: Ia6d548e606a42c608135cb66876419d1b339a06c
Add a .coveragerc to exclude tests and oslo

This is to try produce more relevant output.

Change-Id: I08ebfacf19e4975e00ab79229cc18a3b57a1002a
run_test.sh -V --unit doesn't run using virtualenv

Before this change, when you called the script using the -V option, the tests
were run outside the virtualenv that the script creates.
To fix it, I modified the lines of the script that run the tests to run
inside the virtualenv using the $wrapper variable.

Change-Id: I5c202727e0b5214670d54e14c80a68cc8ebec400
Closes-Bug: #1251730
Make db API respect context show_deleted

Currently the soft-delete aware stuff in the DB api only respects
flags passed in directly, not the context.show_deleted, so align
the code with what is implied by existing comments and respect
the flag in the context too.

Change-Id: I88cd1a8862a2a53c314849e11d026182180bce9b
blueprint: request-scoping-policy
Return map parsed value at JsonParam.value

Currently, JsonParam returns String value as JsonParam.value.
However, SCHEMA_TYPES:MAP property doesn't support getting String value.
JsonParam have to return map value for to work properly.

Fixes bug #1256891

Change-Id: I5acc1aa95c0c0e7bebc760d8bf088971630696ec
Merge "Add a .coveragerc to exclude tests and oslo"
Restrict sort_keys for stack lists

We are only allowing users to sort stacks on a subset of columns that
are known to be indexed.  Currently allowed sort columns are:

created_at
updated_at
name
status

Change-Id: Ib4f955336edd7d86a1b6bf98e38378b0d495d0dd
Closes-Bug: 1252116
Fix bad resource schema for Volume

Change-Id: Id8faa530fc7cdd1f3fc287c033ed61aa87fd9807
Openstack Trove (DBaaS) resource

Implementing Database as a Service (Trove) resource.

Implements: blueprint dbaas-trove-resource

Change-Id: I8a925ba586f4e29a5208797d97d0b5d9d05aa1e3
Merge "Add API endpoint to query build information"
Merge "Fix bad resource schema for Volume"
Merge "Restrict sort_keys for stack lists"
Merge "Migrate away from rackspace_resource"
Merge "Openstack Trove (DBaaS) resource"
Merge "Make db API respect context show_deleted"
Pass the files correctly though the update mechanism

By "files", we mean the TemplateResource templates that get
passed into stack create and update.

The files are critical to the definition of TemplateResources
so we need to have the correct version of them in each stage
of the update.

Within the update there are 3 stacks:
- existing (stack been updated)
- newstack (the goal state)
- previous (a snapshot of the initial stack)

To update TemplateResources we need the existing stack to have access
to the new "files" but the previous stack must contain the old set (or empty).
This way the TemplateResource can get access to the new template and find the
difference to the previous template.

Note: although there are no tests in this patch, a following fully uses
and tests this functionality.

Partial-bug: #1254966
Change-Id: I803a385940759a4eb04df1eccce166be24ee333c
Handle TemplateResouces with the wrong template extension

Change-Id: Ifcd7a5728fcdb61146ad6461697756ea46e9ab96
Merge "run_test.sh -V --unit doesn't run using virtualenv"
Merge "Pass the files correctly though the update mechanism"