Remove Flags usage from cinder.volume.driver

cinder.volume.driver was using a mix of FLAGS and the
new conf options for multi-backend.  The result was failure
of multi-backend configrations to set the iscsi_helper
option.

This updates the driver.py file to use the OSLO.cfg and fixes the
check for iscsi_helper check in the initialize_connection call,
which was undefined.

Fixes bug: 1169928

Change-Id: Ia1678893f32a9d08a695f055f59f7296e17d9d78
Use a SSH pool to manage SSH connection

Use a SSH pool to hold all SSH clients.It allows 4 SSH clients
at most to connect to the SSH server at the same time.
This patchset also enables every SSH client connect to the other
controller when they failed to connect to the current controller.
For example,failed to A,then to B,or,failed to B,then to A.

Fixes bug: 1162251
Change-Id: I86f7f684639034be97ddf2031e61ac6bf3a196ad
Add parsing to extra-specs key check

When using the filter scheduler which is now the default,
we can no longer pass in extra-specs like: {minIOPS:500, ....},
because the capabilities filter will reject this because there is
no host reporting minIOPS:500 capabilities.

We now need to scope the keys (ie qos:minIOPS:500....), but
that unfortunately requires a fix to the SolidFire driver.

This change add a check for the ':' in the key, and parses
on it if it's there.

Also fixes backend_name and uses VERSION var instead of
generating string in stats reporting.

Fixes bug: 1167141

Change-Id: Ie7fd7d231af78cb18a13f44a4379b44d3c3385df
Use VERSION var for volume_stats version (Gluster/NFS)

Establish a formal version number to help with maintenance.

Change-Id: Iffe1a6f809ec9385c7407efac25ca39eff0d1329
NetApp: Fix failing NetApp tests

The tests were failing due to an upgrade in the testing framework
(possibly due to upgrade of nose package from 1.2.1 to 1.3.0).
The actual reason was a bug in the suds client. A simple
workaround is utilised here, which sets the logging level of a
suds file to INFO instead of DEBUG.

Some 'FutureWarning' warnings from the test output were also
fixed.

Change-Id: Ia67476c23bffa91264cf79f6a26944b450c4f4fc
Add capabilities reporting to ThinLVM driver

ThinLVM driver was missing the newly required capabilities reporting
and inheritance from the parent LVM driver doesn't work because the
capacity reporting methods between regular LVM and Thin LVM are not
compatible.

This patch add the basic requirements needed in the capabilities reporting
to make it usable by the filter scheduler.

Fixes bug: 1166572

Change-Id: I471dcc31d07516e71bcd2d3ae03e0405e0594697
Add missing space to "volumes already consumed" message

Change-Id: I48728def59ecb2f139fa523cfe429aab076bfa88
Merge "Use a SSH pool to manage SSH connection"
Merge "NetApp: Fix failing NetApp tests"
Merge "Add missing space to "volumes already consumed" message"
Merge "Add capabilities reporting to ThinLVM driver"
Merge "Add parsing to extra-specs key check"
Merge "Remove Flags usage from cinder.volume.driver"
Rename duplicate test method

test_get_method_unknown_controller_action was defined twice,
checking however for different things. Rename the 2nd instance
to test_get_method_undefined_controller_action instead, otherwise
it gets overwritten later and not run. Increases test coverage

Change-Id: I64b62560d6db9f6378df8fbc21bd9fada5088b89
iscsi: Add ability to specify or autodetect block vs fileio

When using block devices to back iSCSI logical units it is
advantageous to use blockio as it decreases latency and
increases throughput, effect is especially pronounced with
faster backing storage devices.

Change-Id: Ia8cba5ddfe140cb5732c2b9ad882831e812a44bc
Merge "iscsi: Add ability to specify or autodetect block vs fileio"