Fix missing argument to logging warning call

Change-Id: I04ff613e785b6b39476b7766b94c831d7e22148a
get_instance_security_groups() fails if no name on security group

The following patch fixes a bug in get_instance_security_groups() where
it tries to access security_groups['id'] but security_groups is a string.
This patch also removes some stubs that were not needed in a few unit test.

Fixes bug 1182738

Change-Id: Ia64db2e40d4a0e163344b4234112dbde71b1e132
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
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
update mailmap

Reflect new email address that I will be committing under.

Change-Id: I7358c5c8e47b4c77c8d885fe30f79c757ca943b2
Remove locals() usage from nova.virt.libvirt.utils.

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

blueprint db-api-tests

Change-Id: Id191363e00f51d2c8ae0f2bac6a9c6672dfbdd65
Removed superflous eval usage.

It was being used as a hex string parser, which is not necessary given
that the int builtin can do this.

Change-Id: I710093fc83c175ac08d827bb93ba878703ee817a
removes project_id/tenant_id from v3 api urls

Adds a new APIMapper for V3 that doesn't prefix every
url with the project_id/tenant_id.

Partially implements blueprint v3-api-remove-project-id.

Change-Id: I547a94e2db0dd967852b3cb8532dd0adb11e693b
Merge "Remove locals() usage from nova.virt.libvirt.utils."
Merge "Removed superflous eval usage."
Merge "removes project_id/tenant_id from v3 api urls"
Merge "get_instance_security_groups() fails if no name on security group"
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
Cells: Add filtering and weight support

This adds filtering and weighing support to the cells scheduler.

Adds the following config options to the 'cells' group:

scheduler_filter_classes -- list of filter classes
scheduler_weight_classes -- list of weight classes

Adds a couple of weighing modules as defaults (which removes the random
cell selection):

ram_by_instance_type: Select cells with the most capacity for the
instance type being requested.
weight_offset: Allows modifying the DB to weight a particular cell
(useful for disabling a cell)

Adds a filter class (TargetCellFilter) that allows specifying a scheduler
hint to direct a build to a particular cell if you're an admin.

DocImpact

Implements blueprint cells-filter-scheduler

Change-Id: I027c5734e3d6134127fcd4dd28b8ff39047416dc
Enable flake8 E721

We already pass the test, so just remove from ignore list

Change-Id: I28bfeb99d9841532133a3825f7336e7b712d6561
Enumerate Flake8 Fxxx ignores

Instead of ignoring all Fxxx errors, ignore only the failing ones, so
its easy to fix each one separately.

Change-Id: I4ccc1d38247fb76b6dad4388b76c6e8d696f081f
Merge "vmwareapi: Move tests under tests/virt/vmwareapi/"
Pull binary name from sys.argv[0]

Instead of inspecting the top of the stack to find the binary name, just
use sys.argv[0].  This is little cleaner then inspecting the stack.

Co-authored-by: Mark McClain <mark.mcclain@dreamhost.com>

Change-Id: I18d5233b6b0bd0ccaeeab5b7ce5006adcf4a8d40