Add missing tests for nova.db.api.agent_build_* methods

blueprint db-api-tests

Change-Id: If8f8a3f02bc0ea73b9174caad60107c7d87f62c0
Raise AgentBuildNotFound on updating/destroying deleted object

Methods below should raise an exception when attempting to operate
with deleted AgentBuild objects:

 nova.db.sqlalchemy.api.agent_build_destroy()
 nova.db.sqlalchemy.api.agent_build_update()

Fixes: bug 1181967

Change-Id: If6df202afb7ea41634c35f7a52988e19677f4d65
Add node as instance attribute for notification

Fix bug 1181900

In havana release, node is not set as instance attribute and node
indicates the hypervisor where the instance reside in, we should
set node as instance attribute for notification.

Change-Id: I872fba626ef3e321d88cf60fc730df6cf4612c86
Fix config drive code logical error.

Image id has changed to uuid, so bool value can't be a image ID
any more, remove unnecessary test code.

fix bug #1181991

Change-Id: I420e4cdb848401375b347d43e06343efaa7bf5fc
No relevant message when stop a stopped VM

When user tries to stop a stopped VM, there is no need to stop it again,
and We need return it's vm_state.

Fixes bug 1181934

Change-Id: I71772dfcead440cb49b6ccdbb4e1a891475bb75e
Delegate authentication to quantumclient

Quantumclient can deal with authentication, getting the token and
refreshing it when needed. There should be no need for nova to do
those explicitly. Additionally nova can save some time not having
to recreate the Client object on each request.

Fix a couple of places that relied on the exceptions module being
imported inside quantumv2.

Part of blueprint fewer-networking-token-checks
Fixed bug 1177579

Change-Id: I007cef1f0bd688036fa45d79792e6e350c145f05
Support Cinder mount options for NFS/GlusterFS

When connecting to an NFS or GlusterFS volume, use
mount options specified in the "options" field of
the connection_info structure to perform the mount.

This allows the Cinder volume service to specify mount
options rather than only being able to configure them
on the Nova compute node.

Fixes: bug 1185180
blueprint cinder-volume-options

Change-Id: I81a50a2ceb4da4d639f6471b2114a904e5d1a42e
Fix colorizier thowing exception when a test fails

This failure in colorizier was hidding the actual error
in the tests. If we ran enough tests it also became difficult
to see which test had actually failed.

Fixes: bug 1183602

Change-Id: I806da8f13040b38258de7f3e0fa7b62700bdcead
Add base object model

This adds the base infrastructure for a unified object model in
Nova. It provides a somewhat-magical metaclass which serves to
automatically register objects that are capable of being remoted.
Magic remoting of methods happens via two decorators, allowing
a given nova service to globally declare that such actions should
happen over RPC to avoid DB accesses.

For more details, see blueprint unified-object-model

Change-Id: Iecd54ca22666f730c41d2278f74b86d922624a4e
Merge "Add missing tests for nova.db.api.agent_build_* methods"
Merge "Raise AgentBuildNotFound on updating/destroying deleted object"
Merge "Support Cinder mount options for NFS/GlusterFS"
Merge "Fix config drive code logical error."
Merge "Delegate authentication to quantumclient"
Merge "Add base object model"
Merge "No relevant message when stop a stopped VM"
Merge "Fix colorizier thowing exception when a test fails"
Merge "Add node as instance attribute for notification"