Implement get_volume_stats for GlusterFS driver

Implement get_volume_stats(), so that the GlusterFS driver
will work correctly with the scheduler.

Fixes bug: 1164038

Change-Id: Ib4db8bad897212227b39704e2e6cb5f07f2bb70e
(cherry picked from commit d59094f316f0c41aaa7be63ee4e25e2dea4fa0a9)
Fixed a volume creation re-schedule error

Don't see any reason to construct a list for request_spec['volume_id'].
And it indeed causes problems when the scheduler receives a reschedule
request with such a request_spec.

Fixes bug #1164857

Change-Id: I811e957d5bf9c814165d55ea0042833ea72c8de5
(cherry picked from commit 46b2a7dd3224c4ed00457520b95569442386d273)
Fix cinder-manage backup list to work with uuids

Fixes bug #1164922

Change-Id: I8ed7ff7ca334b983d60445d96cd1f6c368766407
(cherry picked from commit 9d359c01f383807846a8be2f7180641880d76952)
leave re-scheduled volume status to creating

A re-scheduled volume should not be exported and set to available

Fixes bug #1159027

Change-Id: Ie61d9132ce1bd6461d5e4d9836424ebf14100389
(cherry picked from commit b823de4370fb306de0416d8ec1c1a70ac224207c)
Fix backup manager formatting error.

ID was being printed as %d instead of %s, causing tests to fail. This
error was previously undetected.
In addition, NetApp tests are failing due to a bug in the suds
package, which is no longer actively maintained. This patch adds skips
to the problematic tests, which should be removed once the issue is
resolved.

Change-Id: I5645909f59aa2ea3dc536ed4707ea75754307050
Fixes: bug 1166600
(cherry picked from commit 23bd028ce39bebf0f5d2403df328ad55e6eb007e)
getLogger should be called after logging is configured

logging needs to be setup properly before we try to log
something. Fixed one spot from logging->LOG

Fixes LP# 1161038

Change-Id: I87743cff9062e47c1d5e989c2c0c05c3921b65c7
(cherry picked from commit 3a106f7e67e4b7f7c446058b98c33f8c71ca2868)
Mark sql_connection with secret flag

sql_connection contains the password in some setups and marking as
secret prevents accidental logging

fixes bug 1160680

Change-Id: I3704237d0923bb30138b5ece7e5c7bbda0a78b9b
(cherry picked from commit 9f8ee9d2981c5f317139e3743385b59956546d65)
Remove unused tools/rfc.sh

This has been deprecated in favour of git-review for quite a while now
and was removed from Nova 10 months ago.

Backport of git commit ae4aecdc7e554f78156c91c7c0b2436638bec5eb in
master.

This is a zero risk commit, as it removes something from tools that
isn't used. It also means removing the only GPL licensed file in the
whole of the cinder repository for 2013.1.1 release.

Change-Id: Ic4bfa1aee3a4b6a7588be3678ac033a1b13e2b18
Merge "Fixed a volume creation re-schedule error" into stable/grizzly
Merge "Mark sql_connection with secret flag" into stable/grizzly
Merge "getLogger should be called after logging is configured" into stable/grizzly
Merge "Fix cinder-manage backup list to work with uuids" into stable/grizzly
Merge "leave re-scheduled volume status to creating" into stable/grizzly
Merge "Implement get_volume_stats for GlusterFS driver" into stable/grizzly
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
(cherry picked from commit 168b7566a51807dfd42f873c810440472aed7171)
Fix update snapshot-quotas on delete.

The merge from stable to RC of the snapshot quota
fixes missed the new CONF usage and as a result the
setting was always ignored on delete and therefore
quotas were not decremented on delete.

This patch changes CONF back to FLAGS for that call and
resolves the issue.

Fixes bug: 1173365

Change-Id: I7af69d5078ebcc5547e08d543a2dcfd0ca3f6c4b
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
(cherry picked from commit a95a2149a5ba805451a6d961b792ccd5b9984bea)
Add stats reporting to Nexenta Driver

Nexenta driver was never updated to report stats.
This change doesn't include support for backend_name assignment
via configs, there's some other work that will need to be
done to enable that.

Fixes bug: 1166607

Change-Id: Id9cfff24df8815a67e42393aa18fd41ac1b9e6b3
(cherry picked from commit 781055bc1f30cebe08848130f3a40764f7f1bb4f)
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
(cherry picked from commit 0e3ea4e85dab00b7cecd5596f6daa65cc4d710b5)
Fixes 3PAR FC driver synchronization

While running  stress tests we found missing synchronized methods.
This patch added synchronized anotations around the necessary
methods.

Fixes bug 1172503

Change-Id: I8e475fe38d96ca663fbaac40c5a50420d791f5d5
(cherry picked from commit beacbd368124a656eaa4038fe1c35f1796e5dda4)