Fixes cinder volume delete on Windows

Because of the fact that an iSCSI target is not created anymore
at volume creation time, not all volumes will have a corresponding
target. For this reason, when removing an iSCSI target we must
first check if the target actually exists.

Change-Id: I8e571397df6d9a2eeb05e883b7da8494d4bfa1ad
Closes-Bug: #1299124
GlusterFS: Delete volume-<uuid>.info file when volume is deleted.

glusterfs creates a file named volume-<uuid>.info to hold volume
data, mapping cinder snapshot UUIDs and filenames. When the
volume and its associated snapshots are both deleted, this file
remains. This patch deletes the volume-<uuid>.info (if one exists)
when the volume is deleted.

Change-Id: Iefc8bd4768b30a75c648c4689d935daeab3afe98
Closes-Bug: #1299182
Adds ionice command permutations to rootwrap filters

When setting volume_clear_ionice, the ionice command is prepended to a dd
command before executing it.  Previously, this would have failed because it
wasn't allowed through the default rootwrap filters.  This commit fixes this
problem.

Note that due to the way that the RegExpFilter works, we need three different
expressions to cover all cases.  This is because the various options result
in a different number of arguments.  And this filter will fail immediately
if the number of arguments is incorrect.

Change-Id: Ie29f7fa21b34982ed5394c2c8f38c3e066ef0112
Closes-Bug: #1300496
_translate_from_glance() can cause an unnecessary HTTP request

After returning from a get() call to python-glanceclient, cinder runs a
translation function on the returned Image to get the data it wants. Part of
this process is checking for an expected set of attributes, one of which is
the deletion time ('deleted_at'). However, if the image has not been deleted,
deleted_at key will not exist. This forces another call to glance to occur for
the same image. A similar problem exists for the checksum attribute, which does
not exist before an image is active. The fix here is to only consider
deleted_at and checksum if they are expected to be present.

This change was made in nova as change I67b7dd16

Change-Id: Iedc16cb9316f9610fdb8ac03f448bc375a4e6bfa
Closes-Bug: #1275173
Allow deprecated volume update keys in v2

Keys like display_name and display_description were deprecated for other
actions in v2 like creating volumes, so for consistency they should work
with updating.

DocImpact
Closes-Bug: #1301172
Change-Id: I19bc7c85352578bb57fa9fdaf1817f78e0ee2f2a
Merge "Fixes cinder volume delete on Windows"
Merge "GlusterFS: Delete volume-<uuid>.info file when volume is deleted."
Merge "Allow deprecated volume update keys in v2"
Change iogrp property when retyping for Storwize/SVC

If need migration when retyping, Storwize/SVC driver will add a copy
of the volume first, and then start a task to check volume sync
progress which will run each 10 mins. At last delete the origin copy
when sync finished.

But iogrp property is not a parameter of addvdiskcopy, so the iogrp
of the copy volume is the same as the origin. If iogrp property is
diff between the old and new volume type, the property will not
change when retyped.

Change-Id: Ie4414bcf95fa6e61d7d618618f48837eef740da4
closed-bug: #1298247
Merge "_translate_from_glance() can cause an unnecessary HTTP request"
Merge "Adds ionice command permutations to rootwrap filters"
Merge "Change iogrp property when retyping for Storwize/SVC"