Add support for Purity Protection Groups to PureISCSIDriver

We will be needing access to the Protection Group features of Purity to
enable features like Replication and Consistency Groups. To do this we
need to add new helpers for the FlashArray object for the required REST
API methods.

DocImpact: To bring in pgroup support we will need to bump up the
required REST API version to 1.2+ and remove support for 1.0 and 1.1

Implements: blueprint pure-iscsi-add-pgroup-support
Change-Id: Ia446615e0c03b91fc1da75489855e77c29639efa
Fix files in Cinder with execute bit set

I noticed there were a number of files in the cinder/volume
directory tree that have the execute bit set for no apparent
reason.  I think in all cases it was because that was just
they way the permissions on the file were originally set based
on the user's umask settings.

This patch changes the permissions to be consistent with the other
python files in the cinder/volume directory.

Change-Id: Ib52cbe16ed426392c3b296b56b4d2592b4808e65
encryption_id needs to be non-nullable

DB2 10.5 doesn't support primary key constraints over
nullable columns, so we have to make this column
non-nullable.

Change-Id: I3f6ded20cd8cf1902347f58f91c05446739b48f5
Closes-Bug: #1404303
rtstool on Ubuntu installs in /usr/local/bin

The cinder-rtstool which is required to use LIO iscsi_helper
installs in /usr/local/bin on Ubuntu and /usr/bin on RHEL
variants.  Currently the rootwrap.conf only has /usr/bin
configured, as a result LIO can't be used on Ubuntu without
modifying the rootwrap file.

This patch just adds /usr/local/bin to the rootwrap.conf; Honestly
I'm not sure if this is good, bad or doesn't matter.  May be able
to address this via documentation, or upstream in the packaging of
cinder-rtstool instead?  Not sure what's preferred.

Change-Id: I577e10df25181c7d4ca8189b10640a8e6e39b047
Closes-Bug: #1402076
Sync install_venv_common from oslo-incubator

The install_venv_common modules hasn't had a sync done
since early in the icehouse release.  This sync brings
Cinder's version up to date with the latest code.

Current HEAD in OSLO:
---------------------
commit 36b0e8570b449129d6d474c03b02ceb62edb78df
Date:   Thu Dec 11 11:27:08 2014 +0100
We shouldn't replace `oslo-incubator` in comments

Change being merged with this patch:
---------------------
fe3389e5 - Improve help strings

Change-Id: I66fd66650a7106b8d20e4fc483dabb91184922f9
LVM: Volume is deleted unexpectedly during volume migration

When using LVMISCSIDriver, a volume is unexpectedly deleted during
volume migration operation. This problem only occurs when the
volume_group of backend A and backend B is same value such as
misconfiguration. Even if the configuration is wrong, cinder should
not delete the volume unexpectedly for user.

Closes-Bug: 1404013
Change-Id: I010be0c70589459a488cdef7cd83380eab27c61c
Mock leaked _execute() calls in driver tests

Some drivers have _execute() calls being linked, causing tests to prompt
for password and eventual fail for time out. This prevents those
_execute calls from happening.

Closes-Bug: #1404414
Change-Id: I43a11c065799efe6f5b81dc15e1f7232c80d1070
Merge "Sync install_venv_common from oslo-incubator"
Merge "rtstool on Ubuntu installs in /usr/local/bin"
Merge "encryption_id needs to be non-nullable"
Merge "Add support for Purity Protection Groups to PureISCSIDriver"
Merge "Mock leaked _execute() calls in driver tests"
Merge "LVM: Volume is deleted unexpectedly during volume migration"