xenapi: remove propagate xenapi_use_agent key

The compute.api class will already propagate then xenapi_use_agent key
when required, so we can remove the xenapi specific code that tries to
propagate this value. The code did not correctly access the system
metadata, would have failed to propagate the key anyway.

Fixes bug 1204933
Change-Id: Ib291a265318d80705129e565155d4250fd704b75
Adds factory methods to load Hyper-V utils classes

Blueprint: hyper-v-wmi-v2

This patchset provides further decoupling between the ops modules
(e.g. vmops, volumeops) and the utils modules which handle the
interaction with the underlying OS.

The main reason for this refactoring is the need to provide an
implementation of the Hyper-V WMI V2 API (root\virtualization\v2)
that replace the initial version introduced with Hyper-V Server
2008.

Change-Id: I8a2dd8f7dea2e4044525866a0ab26211eb17bf99
Port server_usage API to v3 part 1

This changeset only copies the v2 files into the appropriate v3
directories unchanged. The copy as-is will not be loaded by either
the v2 or v3 extension loaders. The second changeset will then
make the changes required for it to work as a v3 extension.

This is being done in order to make reviewing of extension
porting easier as gerrit will display only what is actually
changed for v3 rather than entirely new files.

Partially implements blueprint nova-v3-api

Change-Id: Ie5cbde7d9a0d77e78c9f9cc577d8cbd36fb74188
Port server_usage API to v3 part 2

Ports the server usage extension and the corresponding
unittests to the v3 API framework

DocImpact

Partially implements blueprint nova-v3-api

Change-Id: Ic5c14ef83e0ec16f36672377f1daa046044dce78
Support setting block size for block devices

cinder now supports backend with different block sizes. Sometimes
we need to set a specific block size or operations against the
backend will result in I/O errors. Additionally its a good idea
to tune the block sizes to the correct size as it can improve I/O
performance.

The basic disk configuration for libvrit now supports setting the
logical and physical block size of devices.  The block size info
is stored in connection_info of the block_device_mapping table
for later use.

By default it does not set the block sizes which defaults to
512 bytes.

DocImpact:
This feature requires libvirt 0.10.2+ and the QEMU or KVM
hypervisor. If a volume has a custom block size, cinder considers
it required. As such the hypervisor and libvirt version are
checked during the attach_volume call. If the hypervisor is not
supported or the libvirt version is too old the attach is
aborted and an exception is raised.

Change-Id: I77adc96b340680218f82bbef8f9ec14711d26a7f
Fixes Bug #1195913
Fix formatting on scheduler documentation

Change-Id: Ifac98bbd9931d9bf75f73d4263aa77867cf52522
Removed scheduler doc costs section

Since commit 820f43fc (Change-Id
Ie3e7611347c334c359dea98d759345b97c66c9c1)
costs are no longer used, so all references to them have been removed.

Change-Id: I6e02bc47643be9f9dfe9d2e42b2335626bf039e7
xenapi: no image upload retry on certain errors

There are a few upload errors that glance plugin should
not retry upload on, as it will fail again. This patch changes
upload to not retry on the following conditions in addition
to the 401 error that it already handles:

- CONFLICT
- REQUEST_ENTITY_TOO_LARGE
- PRECONDITION_FAILED
- FORBIDDEN

Fixes bug 1203726

Change-Id: I538a4f9b133169b2e398e7dfcb3af58fef204f03
Fix instance_usage_audit_log v3 follow REST principles

Use query parameter 'before' instead of show.
BTW, add expected_errors decorator.

Partially implements bp v3-api-extension-versioning

DocImpact

Change-Id: If1168c01e6342675370acdf278e1c0317aff93d8
Fix typo in compute.rpcapi comments

Change-Id: I76a60b29352e023e5c72d546e144eb330b218b64
Enhance object inheritance

Objects could only inherit fields from the NovaObject base class.  This
patch fixes this so that any object subclassed from another object will
inherit all fields.

Related to blueprint unified-object-model

Change-Id: Iaf511be490a44d357b4f527d37a64f3794c60afe
Spelling correction in test_glance.py

Changed "deatils" to "details".

Change-Id: I7c0db12643227bd177fbe60c06748d38741d3f7a
Remove dead capabilities code

Although the scheduler.host_manager has logic to handle the
'allowed_vm_type' capabilities, no virt driver supports that capability.
So just remove the dead code.

Part of bp no-compute-fanout-to-scheduler

Change-Id: I223fc10a27291d88d0e12057504525233ab845ad
Update BareMetal driver to current nova.network.model

Update baremetal driver and vif to use classes from
nova.network.model instead of legacy "network,mapping" tuple.

Partly implement blueprint nova-network-legacy

Co-author: Amir Sadoughi<amir.sadoughi@gmail.com>
Change-Id: Ia66360f51e1d7a12273df2a080931958cc4f86b5
Remove unsafe XML parsing

Move to using xmlutils for all XML parsing. Resolves bug 1190229.

Change-Id: I43afb2e188bbea99ea30fe6cb2eb1aeedc4ddfd4
Fix deferred delete use of objects

Commit dce64683291ba2cdb5e6617e01ccc2909254acb4 added the want_objects
flag to compute_api.get to the _restore function for the V3 version
of deferred delete and the _force_delete function for the V2 version.

This changeset makes it consistent so the want_objects flag is
passed to both. The unittests are also updated accordingly. The inconsistency
was found by the integrated test_servers test which is not yet merged
for the V3 API.

Change-Id: I797f8da855fda8df823e9093cb51ef5da6bdcb0f
Check host exists before evacuate

Before an evacuate is attempted, there is no checks in
place to see if the host exists. This
results in rpc call being made to non existent host.

This patch adds a simple check to both v2 and v3 extensions
to ensure that the compute service exists before we attempt
to evacuate.

Fixes bug 1208369

Change-Id: I07103ecb8310d8a891ee5fb21a1f8aa7427e0d78
Merge "Remove unsafe XML parsing"
Merge "Remove dead capabilities code"
Merge "xenapi: no image upload retry on certain errors"