Fixed a problem in iSCSI multipath

Multipathing for attach volume and detach volume operations
doesn't work properly if there are different targets
associated with different portals for a mulitpath device.

Change-Id: Iab316526cf64de60325d90043f73fa3e83fafb4e
Closes-Bug: #1266051
Fixed check in image cache unit test

Before the fix assert checked nothing bacause .sort() sorts
provided list and has no return. Comparison of two None objects
is always true.

Change-Id: I3d453a29b5913cd24ce8d9e4a2324c7ad8d138b7
Add V3 api for pci support

All pci passthrough code is merged into nova, but the APIs are not supported.
This patch provides a resource: endpoint to show PCI information. This is a
part of PCI APIs, for more information see the blueprint.

Partially implement blueprint pci-api-support

Change-Id: I05c502cb7564b8b71f12d8f06249124b3d2b370f
Remove XML support from schemas v3

The XML support was removed from the V3 API plugins,
this part of the code was not used again.

Partially implements blueprint remove-v3-xml-api

Change-Id: I7bc3ed2386d8d678eb13ac4592e4cce2ba8a1602
Fix copyright messages after admin actions split for V3 API

Adds copyright messages that were accidentally not duplicated
in the new files during the code separation.

Partially implements blueprint v3-api-admin-actions-split

Change-Id: Icc3be739f86be740ae06aecba9e5166cc49ef1e2
Fix assertEqual parameter order post V3 API admin-actions-split

Post admin-actions-split cleanup to fix the order of parameters
in assertEqual tests for the testcases split out during the
bp v3-api-admin-actions-split.

Was originally part of https://review.openstack.org/#/c/73724 but
was split out into a separate patch at the request of a reviewer.

Partially implements blueprint v3-api-admin-actions-split

Change-Id: I28332d595c073e518e1bcd4a3f945492904df5d3
Refactor driver BDM attach() to cover all uses

Add separate flags to allow the execution to skip the
volume_api.check_attach step, and to be able to call the
driver.attach_volume if needed. This will make the method modular enough
to be used in all cases where we actually "attach" volumes to instances.

Check attach should always be done in the API, followed immediately by a
reservation, to minimize the chance of a race. However currently we
do the check_attach step on the compute side during boot, so it needs to
stay. Other operations like attach_volume will have it reserved causing
this check to fail on the compute side, so we lay down the groundwork to
be able to skip it when calling attach().

Likewise, when booting, we don't need to call the virt driver
attach_volume method, as all the devices will be taken care of by the
boot code path.

Part of blueprint: use-new-bdm-format-in-attach

Change-Id: Iff3890e39a8c75b1693df0918084ecf4492c4e91
Merge "Remove XML support from schemas v3"
Merge "Add V3 api for pci support"
Fixed spelling errors in nova

Change-Id: I2d9fc7278c96bcd9f7d50a1af6db6df56df28111
Remove __del__ usage in vmwareapi driver

The vmwareapi driver uses __del__ in an inappropriate way, which
causes spurious errors to be displayed at inconvenient times. The
python docs clearly detail the caveats of using __del__ (and even
provide a big red warning). This removes the offending code, which
can't work reliably anyway.

Closes-bug: 1262288
Change-Id: I50acb4f1e85650f4c6dffe1a1d25842601be96bf
Make floating_ips module use FloatingIP for associations

This makes the network.floating_ips module use the FloatingIP
object for association operations instead of direct database
access.

Related to blueprint nova-network-objects

Change-Id: I71db51e2ad3a79665140ef21b5960c1ff9ff3a05
Merge "Refactor driver BDM attach() to cover all uses"
Fix option indenting in compute manager

This patch fixes some indenting problems in the compute/manager.py
config option blocks.

Change-Id: I1f68e1393f1a171a7909a206f570b4eebcd4d2d9
Mark XML as deprecated in the v2 API

Log a warning the first time a server gets encoded as XML.
I didn't see an immediately obvious place to put this warning,
but anyone actually using XML will hit this code path, so it
seems fine to me.

Implements blueprint deprecate-xml-in-v2-api

DocImpact

Change-Id: I4acc15ce5f487738bb34a95c2261a5d05d827d8d
Partially revert "XenAPI: Monitor the GC when coalescing"

This partially reverts commit 270d4f1d6b100c802a65b31d35e406528aa7fd27.

The plugin has been left so the plugin version is not made incompatible
by removing a call, but the call to it from vm_utils has been removed.

I expect this call will be re-introduced in future when we have identified
the cause of the race condition and the appropriate usage.

The original fix was made to fix bug 1258169 where the number of attempts
made were not sufficient, so this revert does not reduce the number of
attempts.

Change-Id: I473b81b9970990b877d1886bb28a96888cc05f98
Closes-bug: 1282822
Periodic task poll_bandwidth_usage can use slave

Host instance lists will be retrieved from a slave
if the deployment has one configured. If no slave
 is configured behavoir remains the same.

There is still some more slaveification that can be
done with the bw_usage_cache queries. I've made notes
and also made a few changes to the db_api so that these
can be used when we get the necesssary bw_usage_cache
object created.

Change-Id: I4286f545573bf81cb036c29d48afa39a14cfad61
Partially-implments: bp-periodic-tasks-to-slave
Fix instance_get_all_by_host to actually use slave

This was not fully plumbed out in the original commit,
thus any calls to this method were not actually making
it to a slave.

Original commit: 62e9829c19e099e3a10b2b54954163b5e780363b

Change-Id: If5b807ff9b6801e6038501220e7b6a42bb6132dd
stop throwing deprecation warnings on init

We are directly subclassing object, which takes no args on __init__,
and indeed need not have __init__.  If we decide to, for some reason, add a
parent class to this method we might want to add this back, but we won't so we
don't need to care about that.

Change-Id: If58885515b9ae5c682d743dba8e4dfe6c9a5d1d9
Merge "Fixed check in image cache unit test"