Storwize/SVC: Optional CHAP authentication

The Storwize/SVC driver doesn't work with Nova drivers that don't
support CHAP (e.g., HyperV). This patch makes CHAP optional.

DocImpact

Closes-Bug: #1224334
Change-Id: I22df4b916b2800a53c1e4968913f7e95965eaf4b
Fixes vol restore discard final bytes unzeroed

When doing a volume restore with Ceph backend to a non-rbd volume
that is greater in size that the backup volume, we write zeroes
the extraneous extents but we are not zeroing the final few bytes
in the case where the destination volume is non-rbd.

Also fixed up internationalisation on a number of log messages.

Change-Id: Iac1ff98a75e9164f8865c2f7d998454205e049d4
Fixes: bug 1226555
GlusterFS: Use image_utils for qemu-img calls

Code added for GlusterFS snapshot support in Havana included
new code to parse qemu-img output.  This removes this code
and uses image_utils qemu_img_info instead.

Add test to image_utils for parsing a different style of
qemu-img info output.

Improve GlusterFS driver test coverage with tests for cloning,
create from snapshot, and initialize_connection.

Closes-Bug: #1224030
Change-Id: I8f1811b400c06edb3cd7416c52aa297921841e54
GlusterFS: Copy snap from correct source file

The GlusterFS driver's copy_volume_from_snapshot was previously
not parsing the snapshot information to determine which backing
file to copy from, instead copying from the active file at all
times.  This would result in the wrong data being supplied when
a volume is cloned from a snapshot.

Add a test for the copy_volume_from_snapshot method.

Closes-Bug: #1222907
Change-Id: Ib829ca1a6812b61845f3b2eb9c5507779fa6ec15
Fix over-indent in compute/nova

There are two lines in compute/nova.py that uses 8 spaces indent,
this simple patch correct those to 4 spaces.

Change-Id: I8f7849385ef59a085b5e3cc45954a2f2a19442ee
Merge "GlusterFS: Use image_utils for qemu-img calls"
Merge "GlusterFS: Copy snap from correct source file"
Merge "Fix over-indent in compute/nova"
Require assisted_volume_snapshots from novaclient

The "QEMU-assisted-snapshots for GlusterFS volumes" patch currently
does a try/except ImportError for the new assisted_volume_snapshots
extension in novaclient.  That functionality is now in novaclient
2.15.0, so Cinder should consider this a hard requirement rather
than allowing it to be absent.

Change-Id: I5d5b4918f17f26706bed361cbbe8b369b10b0b98
Merge "Require assisted_volume_snapshots from novaclient"
Merge "Storwize/SVC: Optional CHAP authentication"
Merge "Fixes vol restore discard final bytes unzeroed"
LVM volume_clear: error on unexpected inputs

Currently if a user configures
volume_clear='non_existent_volume_clearer' in cinder.conf,
the LVM driver will silently delete a volume and not wipe it.

Instead, the delete operation should fail, leaving the volume
in the 'error_deleting' state.

Also fail if the volume reference does not contain either a
'size' or 'volume_size' field.

Closes-Bug: #1225194
Change-Id: I78fec32d7d5aeaa8e2deeac43066ca5e2e26d9ca
Disable driver if misconfigured during volume_delete

If volume_delete fails because the driver is not configured correctly,
disable that backend by setting the driver to "not initialized".