Fixes cinder volume attach on Windows

The initiator name and the target name are inverted when passing
the arguments to the method which associates the iSCSI target to
an initiator. For this reason, this operation will fail.

Also, the connection to the iSCSI target cannot be initialized
properly as the method which gets portal information is missing
the return value.

Change-Id: I31034cd407d12d69a410f8c9e86a2e6821349dad
Closes-Bug: #1299131
(cherry picked from commit 23e820abb8685573f97f5e3764225a97dd695127)
Fix Jenkins translation jobs

The jobs cinder-propose-translation-update and
cinder-upstream-translation-update do not update from
transifex since our po files contain duplicate entries where
obsolete entries duplicate normal entries.

Remove all obsolete entries to fix the jobs.

Change-Id: I6d41dbdcc41646fcbd1ee84ce48cb0c461cd454c
Closes-Bug: #1299349
(cherry picked from commit c72cc4b2345e9e271205d1de00c9812d0a2684ec)
Merge "Fixes cinder volume attach on Windows" into milestone-proposed
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
(cherry picked from commit 601d54c9ef926fa2d8abfe0121019f7ad94eefd5)
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
(cherry picked from commit bf006ecb4a52db6300aa0fe1abe7df621e9f6174)
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
(cherry picked from commit d75a90ec1daff1444f20f6b68255890391bdb4e5)
_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
(cherry picked from commit da13c6285bb0aee55cfbc93f55ce2e2b7d6a28f2)
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
(cherry picked from commit d5c74a954b260567874c45c39b92904f3756b806)
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
(cherry picked from commit 5c336123d3252e7fc4e1aeabd853457ab05838be)
Merge "Allow deprecated volume update keys in v2" into milestone-proposed
Merge "Change iogrp property when retyping for Storwize/SVC" into milestone-proposed
Merge "Fixes cinder volume delete on Windows" into milestone-proposed
Append nas_opts to IBMNAS_NFSDriver configuration

'nas_opts' were added in the NFS Driver (nfs.py), but were not appended
to the IBMNAS driver configuration, causing failure with the multi-backend
configuration of driver.

Adding the missing configuration.

Change-Id: I55727566d03573908750d01ae1345c4b6276f131
Closes-Bug: #1298279
(cherry picked from commit adb43dab7072a7e452710ac5db346e9a2c99993f)
Merge "GlusterFS: Delete volume-<uuid>.info file when volume is deleted." into milestone-proposed
Merge "Append nas_opts to IBMNAS_NFSDriver configuration" into milestone-proposed
Merge "Adds ionice command permutations to rootwrap filters" into milestone-proposed
Updated from global requirements

Change-Id: I84c8bae9370f6b99d061ce1dc9519c6bec2b3cad
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
(cherry picked from commit f9519182f4a6e6573513d8dbc9438702fc7b8644)
driver.create/remove_export() require elevated ctx

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
(cherry picked from commit d09d12ab2ba72a9e7fe42852a7cf837231053590)
Merge "driver.create/remove_export() require elevated ctx" into milestone-proposed