Removing locks from 3PAR FC and iSCSI drivers

Removed locks from the 3PAR FC and iSCSI drivers.  In high load
environments where many simultaneous volume creations/deletions
and attaches/detaches are happening errors occur periodically.

By changing the drivers to create a new connection to the 3PAR
backend whenever a volume request is made the errors are avoided
and performance is improved.

Closes-Bug: 1381190
Change-Id: Ie588a1d87cf5a22ddf2e890c440582e1fe67f2cb
Brick LVM: LV not found logging and error handling

Fix up two things in get_lv_info/get_volume:
1. ProcessExecutionError should be handled where we call the
   command.  We can just return an empty list for this case
   which makes things simple for callers and consistent with
   querying a VG.
2. Not found errors should be logged as info and not warning
   since this is generally not actionable by the admin (and not
   a problem).

Fix typo in lvm command output for not found test.

Add test for get_lv_info not found error.

Change-Id: Iebccf7b8f252303f586b36aad33b85945ea5c927
Related-Bug: #1390081
Remove Python 2.6 classifier

Cinder does not support Python 2.6 anymore starting with Kilo and might
not work correctly with it, so remove the classifier.

Change-Id: I47f5e3ba30c7d8950862bc0a0d67d33d90c7eecf
Add iSCSI Target objects as independent objects

This patch is a step in decoupling the target
methods and the Volume Driver's Control methods.

This adds the targets directory and the new target objects
that we use with the exception of IET (follow up for that later).
TgtAdm and LIO drivers have been tested with the new LVM object.

All existing drivers are still able to be specified and use the
same objects and code-path they were using previously.  New
connector objects are only used when specifying the new driver.

Next step will be mapping current ref LVM driver to the new
LVM object and target model and continued work on the unit-tests.

After that mark the "old" methods and objects as deprecated
and we can then begin working on some other improvements.

Change-Id: If02db137f936dc5b509fc81ca3c29ae4f87f1cb2
Partial-Bug: #1329139
Add limited retype support for rbd

This patch enables limited retype support for rbd. In addition to
basic retyping between volume types that only differ in their name,
retyping between volume types that imply a change of the qos_specs
are supported. This hence allows to adapt the quality-of-service
settings of a volume after its creation.

All other changes, such as host migration, change of encryption or
changes of settings as defined by the extra_specs are not supported
by this commit and left for later patches.

Implements: blueprint ceph-rbd-support-retype
Change-Id: Ib9edf83eb3ade1e6b2dcf1121a16a6f2e68753e1
Merge "Remove Python 2.6 classifier"
Merge "Brick LVM: LV not found logging and error handling"
Merge "Removing locks from 3PAR FC and iSCSI drivers"
Merge "Add iSCSI Target objects as independent objects"
Merge "Add limited retype support for rbd"