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
(cherry picked from commit 5f00cad02da1093d71f636add0810a538cbd444f)
Re-raise exceptions in upload-to-image

This patch catches any exceptions returned from Glance during an
upload-to-image operation and re-raises them so that the user can see
the failure message and make the appropriate adjustments.  More
specifically, this addresses an invalid container format.

For example, the following command:

    $ cinder upload-to-image --container-format foobar ...

Goes from:

    ERROR: The server could not comply with the request since it is
           either malformed or otherwise incorrect. (HTTP 400)
           (Request-ID: req-f19bad2f-c39d-40a2-a3cc-6db9b9fe64cd)

To:

    ERROR: 400 Bad Request
    Invalid container format 'foobar' for image.
        (HTTP 400) (HTTP 400)
        (Request-ID: req-47cb2772-78c4-48b7-87ce-fb124ecfa989)

Closes-Bug: #1308689
Change-Id: If18851e0b9f5c242f84b1eab928b42d809335d80
(cherry picked from commit 6673a1d6b33ca72062d35450f97de43bf550b705)
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
(cherry picked from commit 131777688562b1ec020327067d89da1535b99640)
Fallback to None on missing Glance image attrs

It's possible for glance images to be missing attributes like name and
checksum. We'll just set those to None by default to avoid missing key
exceptions being raised.

Closes-Bug: #1308058
Change-Id: I85c42f8351763da201021a22f5ff0ebd62c6b2db
(cherry picked from commit 993facb3bf753d23332236dc05b397850bf99144)
Ensure that lun_id is an int

The map_vol_to_host function was treating the lun number
as a string rather than an int.  This was causing attempts
to mount storwize_svc volumes to Hyper-V nodes to fail as they
were checking an integer type against a unicode type which
would fail.

This change casts result_lun to an integer after the value has
gone through the ssh injection attack check.  This way Hyper-V
is able to verify if the found LUN is the target LUN, enabling
mount of storwize_svc volumes to Hyper-V.

Change-Id: I96d179f2a58e5948c8ba6c9ae618daad7b8d4c86
Closes-bug: 1269915
(cherry picked from commit 861e93a671f4ca4a7d8b08b05055bab9b9e141f8)
Fix wrong exception reference

iscsi.py should catch cinder.exception.NotFound instead of
cinder.brick.exception.NotFound.

Change-Id: I77134683712e9706619a7f7fe82caed42ede5887
Closes-Bug: #1300136
(cherry picked from commit 115b8447618073d3383bbd612ebd2fc68c8c5d28)
Fix solaris_execute in SolarisISCSIDriver.

A previous refactor [1] of SolarisISCSIDriver and SanDriver renamed
the `_execute` function to `san_execute`. However, SolarisISCSIDriver
still called the _execute function, which no longer exists in it's
parent classes.

This change calls san_execute instead of _execute in
super(SolarisISCSIDriver, san).

[1] https://review.openstack.org/#/c/38194/

Closes-Bug: #1318108
Change-Id: I4cafefdb3eef8f3c2c345907d7eabd4e8f88ef65
(cherry picked from commit a7f24f0a2395594ead7eb8a5cef894b257cd7e4f)
Storwize/SVC driver crashes when check volume copy status

Storwize/SVC driver does not clear up property of _vdiskcopyops
when deleting a volume. So if a volume which under async copy is
deleted before sync completed, the driver will crash.

When delete a volume, add a check for _vdiskcopyops, if volume
is in the dict, remove it.

Change-Id: I4905404b72a7ac8f90bd92fa4345ba771a78418b
Closes-Bug: #1304115
(cherry picked from commit 0c4a94eac94399a524ff758fa7046e98b07951ae)
Fix retyping volume that has volume type None

Modified volume_types_diff to work when one volume type is None.

Fixed _fix_encryption_specs so that the new dictionary is returned.

Change-Id: Iaba3032317f4d0649c917fb92403c4e9146fe3e9
Closes-Bug: #1311058
(cherry picked from commit 8ce85e4fd40e9def337daadfdc92aca7b064efff)
Properly initialize rpc in cinder-volume-usage-audit

When RPC isn't initialized, any RPC based notifiers will fail, which
renders cinder-volume-usage-audit mostly useless.

Closes-Bug: #1316483
(cherry picked from commit e52445681400ff1f8a78a39dca07d4d9711dfe52)

Change-Id: Ib6b9b1fdc76f289e9a44de520eeccbf99e28f40b
Updated from global requirements

Change-Id: I9b071e0c3e630d81963197961820e3a8aac38df6
Update cinder.conf

This is mostly just a sanity check, we're revmoving
this whole check from the gate, but we've had
conflicting versions of the truth here and I'm trying
to figure out why.

This patch is a fresh run of generate_sample, which differs
from https://review.openstack.org/#/c/96784/

Change-Id: Ia2d6ca01beb1d2c42084100990129dadbb32b22c
(cherry picked from commit 8965f168f4d26999538cf4694691916c285d5689)
Merge "GlusterFS: Delete active snapshot file on volume delete." into stable/icehouse
Merge "Fallback to None on missing Glance image attrs" into stable/icehouse
Merge "Updated from global requirements" into stable/icehouse
Merge "Fix solaris_execute in SolarisISCSIDriver." into stable/icehouse
Merge "Re-raise exceptions in upload-to-image" into stable/icehouse
Merge "Fixes cinder error state volume delete on Windows" into stable/icehouse
Merge "Storwize/SVC driver crashes when check volume copy status" into stable/icehouse
Merge "Properly initialize rpc in cinder-volume-usage-audit" into stable/icehouse