Test for remote directory creation before shutting down instance

This patch moves the creation of the directory on the migration target
earlier in the code path so we can catch failures like missing or incorrect
keypairs on the source and destination node.

This fixes part of bug #1061024 but not all of it yet.

Change-Id: I097cf007cdd8de0c9c3a9390cbc6dc202eddb2b5
Don't update DB records for unchanged stats.

Change-Id: I6eb0adba12676cf057c92fb0b54431cfe6a76210
Fixes encoding issues for nova api req body.

* Ensure utf-8 encoding for POST/PUT body for api requests
* As per https://wiki.openstack.org/wiki/Encoding.

Fixes bug #1180344

Change-Id: Iea0f16b0c024795fb3aee1cd38bb54ee9da6d90d
Fix error in instance_get_all_by_filters() use of soft_deleted filter

Change-Id: I7c2fab48944e34765b3fff8ce10bc64a5cd826c8 introduced the
'soft_deleted' filter to the above method to tweek the behavior of the
existing 'deleted' filter. In doing so, an error was introduced that
changed the original behavior of the 'deleted' filter when used by
itself, in how it treated both soft- and hard-deleted instances the
same.

The original merged patch did not include test coverage for the changes
made to the db api. This change fix the error so that the original
behavior of the 'deleted' filter is restored while also adding full
test coverage for the modifications to the db api that has already
merged.

Finally, the support method create_instances_with_args() used by the
new tests was renamed create_instance_with_args() to reflect that
when called, it just creates a single instance.

Resolves bug 1181865.

Change-Id: Ibb82af09d3876904455ca7c93e14e9722ed31d35
Fix missing argument to logging warning call

Change-Id: I04ff613e785b6b39476b7766b94c831d7e22148a
Optimize SecurityGroupsOutputController by len(servers)

The following patch adds an optimization for _extend_servers() so that
it calls get_instance_security_groups() when len(servers) == 1, and
get_instances_security_groups_bindings() when > 1. In addition, this patch
adds a return statement if not len(servers) as there is no reason to
perform a query if there are no servers.

Fixes bug 1182730

Change-Id: I149bf32176d60e72d76576168d15995f7215b657
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
Using unicode() to handle image's properties

Replace str() to unicode() to allow nova-api work well with the fix I
did in glanceclient (https://review.openstack.org/#/c/29245/6).

Fixes: Bug #1180377

Change-Id: I31e532bb50e12e355b9dd26c9ce1e129da858cbe
Signed-off-by: Zhi Yan Liu <lzy.dev@gmail.com>
Remove path_exists from NFS/GlusterFS drivers

mkdir -p will not throw an error if the path already exists,
so this method is unneeded in these classes.

Change-Id: I65a67cb75f83f65a6f80c7a90f77c2c5133bd41b
Delete a quota through admin api.

Added 'extended-quotas' extension that has provides ability for admins
to be able to delete a non-default quota (absolute limit) for a tenant,
so that tenant's quota will revert back to the configured default.

Implements blueprint admin-api-for-delete-quota
Change-Id: I7375420a466823b3e099aebff71a8f7d7f922afb
vmwareapi: Move tests under tests/virt/vmwareapi/

Change-Id: I9665c650cc41c8dc1f3983ad85fdac9ebddc52d0
Remove tempest hack for create/rebuild checks

A bug in Tempest required us to check quotas before requesting image
information. Now that this has been fixed upstream, we can remove our hack to
get around this.

Change-Id: I7ef1cd2f4f641fb5616945b66740820a4003b66d
update mailmap

Reflect new email address that I will be committing under.

Change-Id: I7358c5c8e47b4c77c8d885fe30f79c757ca943b2
Add missing tests for db.api.reservation_*

blueprint db-api-tests

Change-Id: Id191363e00f51d2c8ae0f2bac6a9c6672dfbdd65
Fix log message.

Fix a missing key in the log format.

Change-Id: I275f5e5fbfb6465b39d9ed7b4a9ace045ded4b5d
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
xenapi: make the xenapi agent optional per image

This adds the ability to decide, per image, if xenapi should use
the agent for servers created from that image.
This opens up the path to using config drive or the metadata
service with cloud-init to perform tasks like file injection

It uses the image properties that are copied into system metadata
to detect if "xenapi_agent_present"="true" on the image the server
was created from.
If the tag is not present, it defaults to the value
of the new conf setting "xenapi_agent_present_default".

Becuase the above setting defaults to False, it means that
the xenapi driver no longer waits for the agent by default.

DocImpact
fixes bug 1178223
part of blueprint xenapi-guest-agent-cloud-init-interop
Change-Id: Ie51a9f54e5b2e85fe4ebebb0aff975db296ba996
fix a misleading docstring

GroupAntiAffinityFilter was introduced to filter a set of hosts,
howerver the docstring saying filter a set of instances which need to be
fixed.

Change-Id: Icf66a3ad15b4135c06e2e2ccc62837a346fcfdf7