GPFS support for various volume attributes

Specify the following attributes when creating a new volume:

* The storage pool on which the volume is placed
* Number of block-level replicas
* Whether the physical blocks should be allocated locally on the node issuing
  the IO or striped across the cluster
* Whether writes to the volume should use direct IO
* Number of file system blocks to be laid out sequentially on disk to behave
  like a single large block
* Local storage attached to specific node(s) where the replicas of the
  volume should be allocated

Change-Id: I77bb7de32bbde5a125f8c6f9a727b538ea99bc18
Implements: blueprint gpfs-volume-attributes
Use FakeLoopingCall instead of the real one

Decrease the execution time in brick's tests.

Change-Id: Idef19e91f593c2c276015d5bf9f9cc85cd6094ad
Removed need for domain in 3PAR drivers

The 3PAR drivers need to support CPGs that are not part of a
virtual domain on the 3PAR backend. This patch removes the need
for the CPG to be part of a domain and changes a few of the commands
that took the domain as an option.

DocImpact

Change-Id: I7e472e19e484e837c9216ea01455a4b8a85b19e5
Fixes: bug #1212328
Standardize on ID for log messages

We have some places where logs use name to identify
a volume and others where we use ID.  Let's standardize
on the UUID here as that's typically the unique identifier
we use in most places anyway.  Even though name is a
derviative it seems better to be consistent with this
and use the UUID by itself.

Change-Id: Iaee3d146042780e4a526834db1e0be84a705f24b
Fixes: bug 1214140
Add root_helper param to get_connector_properties

This patch adds the ability to pass in a custom
root_helper for executing commands.  This is needed
for other projects that need a custom root-wrapper,
such as nova.

fixes Bug #1213135

Change-Id: Ie18276ae2e736bb2276d4e9c57385d2588441428
Merge "Standardize on ID for log messages"
Make the SolidFire driver api port configurable.

Making the SolidFire driver api port configurable allows it to be
placed behind a transparent proxy.

Change-Id: I976ecfd5df11797722776faf65777ca1ffa5b0c4
Fix Fibre Channel attach for single WWN

The code allowed for only a string of the WWN or a list of them.
Unfortunately unicode is also returned, for which the attach fails.
This patch allows for unicode as well.

Change-Id: I4d2809b41b24b2240e447a5c09f14e6438304cd6
Fixes: bug 1214413
Merge "Add root_helper param to get_connector_properties"
Merge "Use FakeLoopingCall instead of the real one"
Merge "Removed need for domain in 3PAR drivers"
Update Brick to use executor

modify existing modules in Brick
to make use of the Executor object,
so we don't replicated the same
set_execute() method everywhere.

Change-Id: Ib0363029557253ad86bae90e1db4fefd24a42df7
Merge "GPFS support for various volume attributes"
Merge "Make the SolidFire driver api port configurable."
Merge "Update Brick to use executor"
Merge "Fix Fibre Channel attach for single WWN"
Offline snapshots for GlusterFS volumes

Offline snapshots for the GlusterFS driver, based
on QCOW2 snapshotting.

This introduces the option to have volumes stored as
qcow2 files rather than raw files. (glusterfs_qcow2_volumes)

Bump driver version to 1.1.0.

This patch requires Nova to support loading qcow2 disks:
https://review.openstack.org/#/c/38321/

Online snapshot support (via Nova) is added in a
subsequent patch submitted in this series.

This patch also enables volume cloning for GlusterFS volumes.

Implements blueprint qemu-assisted-snapshots

Change-Id: I783a802574b835b495e343f555f7ecf9b46981dd
Guest-assisted-snapshots for GlusterFS volumes

Note: this still requires integration with Novaclient to
be complete

Coordinate with Nova to create and delete snaphots online for
GlusterFS volumes.

Cinder is responsible for creating a qcow2 file which Nova
will activate in the VM's snapshot chain.

Implements blueprint qemu-assisted-snapshots

Change-Id: I4a7f0c1bc08d88b0f75d119168dd2077487a62a0
Extend volume for GlusterFS

Add support for extend volume.

Change-Id: Ie9ba67d91de2da43e6b857b4256a445c5269c5cd