vmware: Remove deprecation warning from VC driver

The vCenter vmdk driver prints a deprecation warning for ESX vmdk driver.
This change removes that deprecation warning.

Change-Id: I90c00c08ae7b8e5507308de8d0bec32f8683a1d0
Closes-Bug: #1293960
Update tests to use CONF.set_override

This patch updates some tests that were overriding configuration
values by means other than CONF.set_override. It also removes any
left over references to the glusterfs_disk_util config option.

Closes-bug: 1284293
Closes-bug: 1284300

Change-Id: Id2d14cc3ff77322d017033f3558aed9cd637589b
Disable oslo.messaging debug logs

oslo.messaging debug logs are too verbose, turn them off. A similar patch
dropped nova-conductor logs in the gate down from 7MB to under 300K.

Cherry-Pick from oslo-incubator since we are in feature freeze:
Ia12c003dae196e2220a5f6ea768758a75f2ede23 and
Icc61964c6a2b002ac1c8566f174e6a5230674c75

Change-Id: I9e6456f1c979d9a57fc7fa93fb290c6a26017373
Fixes HostTestCase failures due to slow test run

Status check in _list_hosts() fails if tests take longer than the
service_down_time.

Stubbing utcnow() guarantees that status check passes for tests.

Change-Id: I188443730ce077a8117812f1089db36ece184e7a
Closes-Bug: 1292643
GET details REST API next link missing 'details'

When executing a pagination query a "next" link is included in the
API reply when there are more items then the specified limit.

See pagination documentation for more information:
http://docs.openstack.org/api/openstack-compute/2/content/
Paginated_Collections-d1e664.html

The caller should be able to invoke the "next" link (without
having to re-format it) in order to get the next page of data.
The documentation states "Subsequent links will honor the
initial page size. Thus, a client may follow links to traverse
a paginated collection without having to input the marker parameter."

The problem is that the "next" link is always scoped to the non-
detailed query.

For example, if you execute "/v2/<tenant>/volumes/detail?limit=1",
the "next" link does not have the URL for a detailed query and is
formatted as "/v2/<tenant>/volumes?limit=1&marker=<marker>". In this
case the "next" link needs to be scoped to "/v2/<tenant>/volumes/detail".

The user could work around this issue my manually inserting '/details'
into the "next" link URL.

Test code is included to verify that the '/details' URL is correctly added
when the "next" link is included in a detailed pagination query. Also,
existing tests were changed to ensure that the correct controller function
(ie, 'index' vs. 'detail) are invoked for the appropriate query
(ie, non-detailed or detailed) -- 'index' was previously alwayed invoked
for detailed URL requests.

Change-Id: Ib00d6deb25255fac1db0f7bf4ecd3c8d30e1c39d
Closes-bug: 1299247
Updated from global requirements

Change-Id: I0cf3c003d307ace43b09c0377fac3dec42151f42
Force detach should only be an admin api

Since force delete volume apis are only admin apis, force detach volume api
should also be an admin only api.  Currently, the force detach api,
which uses the default rule in policy.json, can be called by admins and owners.
This patch make force detach volume api an admin only api like force
delete volume.

Closes-Bug: #1303882
Change-Id: I12f927e816a5ba6809da9a27ac4ad150546286a1
Log initialize_connection error before remove_export

The way this code is currently structured, if
self.driver.remove_export() raises an exception, you see the
error message logged for that but the original exception
from initialize_connection() never gets logged.

Change-Id: I454c73e8fdc88e5a9542369a5bca33f29617f013
Fixes cinder error state volume delete on Windows

If the volume creation fails and the iSCSI disk is not created,
trying to delete the error state volume will fail on Windows.

Deleting the iSCSI disk must be skipped when it does not exist.

Change-Id: I2cd615e71fe457c241bea207c4bd8904c1ffd9cb
Closes-Bug: #1304516
Fixes HP LeftHand driver with Paramiko 1.13.0

With Paramiko 1.13.0, the method exec_command now returns Unicode.
This causes a problem when the driver tries to build the XML returned
from the LeftHand array. The XML header returned from the array defines
the encoding as encoding=UTF-8. Therefore, we must now ensure the
encoding passed to the parser is utf-8.

Change-Id: I7b504626e2d9a0ee2b62820b11f56eb136e31987
closes-bug: #1298608
GlusterFS: Delete active snapshot file on volume delete.

If a snapshot is taken of a volume that is attached to an active
instance, the volume file used by the instance will be switched to
the new snapshot file that is created.  When you delete the
snapshot, the base volume file will be merged with the snapshot
file and the base volume is deleted.  Upon a deleting the active
volume, the active snapshot file is not deleted because it does not
have the expected name that cinder is looking for, i.e.
volume-<uuid>.  Instead, the snapshot file has the name
volume-<uuid>.<snapshot-uuid>.  This patch looks at the volume info
file to find any active snapshot file and properly delete it when
the volume is deleted.

Change-Id: Ib0af4401d839ec3bd1eb3a81e1671811e0d4a288
Closes-Bug: #1300303
Merge "Log initialize_connection error before remove_export"
Check for silent failure of tgtadm remove

In order to work around a failure to remove targets that
had a reconnect the force flag was added to the tgt delete cmd.
    (https://bugs.launchpad.net/cinder/+bug/1159948)

It turns out there's a bug in tgt where some versions will
sometimes silently fail when using the force flag.
    (https://bugs.launchpad.net/ubuntu/+source/tgt/+bug/1305343)

The problem is that in the gates since we merged the force change
there's a very high number of cases where lvremove fails because
the device is still active.  It appears that this is a result of
the silent force failures in target.

This patch adds a simple check after the force target removal,
if it detects the target is still present it reverts back to the old
non-force method to catch the cases that don't actually need the
force option.

This is a work-around until the version of target in the distros
is updated and can be used reliably, but closes the gate issue
bug that was reported.

Change-Id: I9150669040815e4831bd570964d12676b83ecbc9
Close-Bug: #1304122
Merge "GET details REST API next link missing 'details'"
Inform about instance_uuid in volume usage notification

Change-Id: I6f43a2ef2401d6369ad0258f61fe2d3a8c168734
Merge "Updated from global requirements"
driver.create/remove_export() require elevated context

The volume manager should call driver.create_export()
and driver.remove_export() with an elevated context.

This is already done for remove_export() in some cases
but not in initialize_connection error paths, or for
terminate_connection.

This will at a minimum cause issues with the LVM LIO
driver as its create/remove_export methods uses database
queries requiring admin access (volume_get_iscsi_target_num,
iscsi_target_count_by_host).

Partial-Bug: #1300148
Closes-Bug: #1305197

Change-Id: I5c1091cf9720ebccefc328b64fbf2982b3aac397
Merge "Check for silent failure of tgtadm remove"
Merge "GlusterFS: Delete active snapshot file on volume delete."
Merge "driver.create/remove_export() require elevated context"