Refactor SSHPool.get() to use Pool.get()

In previous code of SSHPool.get(), we pasted the code
from Pool.get() and check if a connection is active before return
it.

However, it's much simpler and cleaner to just call the Pool.get()
and then check the connection before return. With this,we can free
ourselves from manually keeping up with code of Pool.get() in
upstream package eventlet

As a side effect,this patch fixed bug #1194393 which caused by a
previous bug in eventlet codes before revision 1072

fixed bug #1194393
Change-Id: Ic2bf2fa1ad82cf8669b6c491c955dcab39eb1510
Clone_image should return dict of vol properties, clone status.

The method will work fine in case of drivers not dependent
on volume properties like provider_location. It will fail to
restart in case of nfs drivers and also leave volume created as
result of clone_image functionality created in the
nfs share in dangling state after deletion as provider_location
is None. This fix requires dict of volume properties, cloned status
to be returned which facilitates passing back provider_location
in case of nfs drivers and hence resolves the issue.

bug 1200708

Change-Id: I590571e52d1c64b6dba7d7e76cd71badd74e51d1
Rename SolidFire driver for consistency

Rename driver to SolidFireDriver for consistency.

Fixes: bug #1136081
Change-Id: I83aef90706474e8a079ab5247b72b33c7a2c8472
Implement validate_connector for Storwize/SVC.

Implement the new validate_connector API for the Storwize/SVC driver.

Change-Id: I637f406c2592b158a7941da3657a0517972b0996
Fix indent in cincer/volume/configuration.py

Change-Id: I7d6e01de7dbc542ebe8fc35c0776de7a099f91e6
Fixes Opt types in cinder/backup/drivers/ceph.py

Changed backup_ceph_chunk_size, backup_ceph_stripe_unit and
backup_ceph_stripe_count from StrOpt to IntOpt.

Change-Id: I30a0b4d905b41f00e6450bc5cbfbf0c4d8593ab3
Fixes Opt type of use_multipath_for_image_xfer

Changed use_multipath_for_image_xfer from StrOpt to BoolOpt

Change-Id: Id02ba23b233d348885250ccb8c14fcf04667adec
Checks the volume_clear flag and just return if it is none

Refactors the clear_volume method in LVMVolumeDriver, checks the
volume_clear flag firstly and return directly if it is none.

Change-Id: Id2523cfaaf61c7d6dec51c0daf6255d9de5d50f3
Fixes race condition in LVMVolumeDriver create_cloned_volume method

When we create a clone volume, LVMVolumeDriver will firstly create a temp
snapshot for copying, the temp snapshot name is
"clone-snap-%s" % source_volume['id']. When we create multiple clone volumes
of the same volume simultaneously, which would trigger the race issuse.

I changes the temp snapshot name template to "clone-snap-%s" % volume['id'],
so temp snapshot name will be unique.

Fixes bug #1202139

Change-Id: I3a4f2585ea9e6f70b6f6f9889e900f19559b8176
Fix extend_volume error handling.

If the async call to the manager/driver failed, the API still updated
the quota and volume size in the DB. Solution is to move these tasks
down to the manager, where we know if the extend succeeded.

Change-Id: I668fd659830bd6d410be64a1f5116377b08a9e96
Fixes: bug 1201814
Tidy up the SSH call to avoid injection attacks in storwize_svc

Let the command and arguments form up a list and avoid the extra arguments
attackers inserted to the command string

fix bug 1192971

Change-Id: I72bb7ef137223381c9daa613e61f1fde4c3bc8ae
Delete snapshot metadata when snapshot is deleted

When a volume is deleted all rows in the volume_metadata table for that
volume are deleted as part of the database operation. This patch updates
the snapshot delete operation to delete corresponding rows in the
snapshot_metadata table.

Change-Id: I17543a82be370bed57d4165ad8756ccb390bc0d9
Imported Translations from Transifex

Change-Id: I71bcb713fc49faea2e1e442f08087800e0ea417a
Merge "Fixes race condition in LVMVolumeDriver create_cloned_volume method"
Merge "Fix extend_volume error handling."
Merge "Fixes Opt types in cinder/backup/drivers/ceph.py"
Merge "Rename SolidFire driver for consistency"
Fixes default value of use_default_quota_class

Changed 'True' to True

Change-Id: I69d5cefd888044b5544e41b34ab4f8974efb0a14
Merge "Implement validate_connector for Storwize/SVC."
Move copy_volume function to volume/utils.py.

There are several copy-pastes of running dd, so moved the most
correct one (LVM) to volume/utils.py, and also updated
BlockDeviceDriver to use it. Other drivers (e.g., NFS, GPFS, Scality)
should be updated as well. Volume migration for detached volumes
is a future use case.

Change-Id: I56c64c94eccf0a311e6f3d611738ad0403351971