Port agent API to v3 Part 2

This patch contains the changes required to adapt the agent
extension and the corresponding unittest to the v3 framework

Partially implements: bp v3-api-extension-versioning

Change-Id: I6baa379ede41a1627f69d5d1a719cf2c6d7e9d9e
Clear out service disabled reason on enable

When a service gets re-enabled, clear out the 'disabled_reason' column.

Fix bug 1197423.

Change-Id: I78c9e40c65e96fbc6eff0e3426cfd87b0810cd69
PowerVM resize and migrate test cases

Resize and migrate functionality for the PowerVM driver
was landed without tests.

Fixes bug 1133058

Co-authored-by: Matt Riedemann <mriedem@us.ibm.com>
Change-Id: I9b46f092ebaab630fe80e0306ea32bda5a4c1d2f
Refactors select_destinations to return HostState objects

This is needed because we will need to pass 'limits'
(resource oversubscription values for the compute host)
attribute along with filter_properties to the compute manager.

Partially implements bp cold-migrations-to-conductor

Change-Id: Ide3a9781f66f961ff4aceadc00275de91c6c1030
Merge "update xen/vmware virt drivers not to hit db directly"
Refactor compute_api reboot tests to be unit-y

This follows previous efforts to unittest-ify the reboot
tests for compute_api. This makes the cells testing much
cleaner, and will massively simplify testing with objects.

Related to blueprint compute-api-objects

Change-Id: I5883f74c613888ed5f112ac1b7b1521f43644768
Make instance_update() string-convert IP addresses

Since postgres is strongly typed, it gets annoyed if we pass our
netaddr.IPAddress objects to it for an update. This makes the
instance_update() operation string-convert those before passing
them to the sqlalchemy save method.

Related to blueprint compute-api-objects

Change-Id: Ie9d4a59f50e59e80e88a8bb88575b89ce2e59091
hyperv: Fix vmops.get_info raises InstanceNotFound KeyError

Fixes a problem with the nova.virt.hyperv.vmops.get_info method raising
an InstanceNotFound with the wrong key for the exception message.  Also
adds a test case to make sure it works.

Fixes bug 1197506

Change-Id: I393951ff7bf6e28ce5d7a060cdd0011fe8ecc9ad
Imported Translations from Transifex

Change-Id: I73a6082d13d107460fe24e046f6b1656b46b3a39
Make flavors is_public option actually work

When you create a flavor, you can set an is_public flag to be True or
False.  It is True by default.  When False, the intention is that the
flavor is only accessible by an admin, unless you use the flavor_access
API extension to grant access to specific tenants.

Unfortunately, the only place in the code where this was being enforced
was when listing flavors through the API.  It would filter out the
non-public ones for a non-admin.  Otherwise, the flavor was accessible.
You could get the details, and you could boot an instance with it, if
you figured out a valid flavor ID.

This patch adds enforcement down in the db layer.  It also fixes one
place in the API where the context wasn't passed down to enable the
enforcement to happen.

Fix bug 1194093.

Change-Id: I5b37fa0bb19683fe1642fd81222547d4a317054e
Merge "powervm: make get_host_uptime output consistent with other virt drivers"
Merge "Fix grizzly compat issue in conducor rpc api"
Merge "Clarify the compute API is_volume_backed_instance method"
Merge "Sync rpc from oslo-incubator."
Merge "xenapi: Add configurable BitTorrent URL fetcher"
Merge "Added functionality for nova hooks pass functions"
Merge "Imported Translations from Transifex"
Fix power_state lookup in confirm_resize

Previously the compute manager's confirm_resize method was trying to get
the current power_state of the resized/migrated instance from the
hypervisor layer to account for a case where the user migrated from a
stopped instance and then powered it on via the hypervisor (below
openstack) to test it before confirming the migration.  This doesn't
work in the migrate case because the confirm_resize request is serviced
on the source compute node, and the instance no longer lives there so
_get_power_state results in an InstanceNotFound.  The vm_state would
then be set to ACTIVE even though the instance's power_state is still
SHUTDOWN.

This patch fixes this problem by just getting the instance power_state
from the database since the scenario of powering on the migrated
instance outside of openstack is not supported.

Fixes bug 1197514

Change-Id: If2ea83cd317aa8897b7b6bd6b43a2067e1074e33
Merge "Remove locals() from compute directory"
Merge "Fix binding of SQL query params in DB utils."