NetApp api fix structure conversion methods

This fixes the issue in api element creation
when data structures are supplied to be converted
into NaElements. It could not handle multiple
keys with same name and also not converted different
types properly into NaElement. This change fixes the issue.

Change-Id: I84f1ee97a73bbad88bbb64d4a9ac4e1b29cad741
Closes-bug: #1287643
Add snapshot related data to limits api

When calling the limits api we can only get Volume and Gigabyte data,
the snapshot related limit value should be returned too.

Change-Id: I6a5e1e2d1aa6abbac5d5dacd042223ce49207c1f
Closes-bug: 1282924
GPFS unit tests: increased coverage, uses mock

Increased unit tests coverage for the GPFS driver 100%.
All tests make usage of mock.
This helped to uncover bugs in the error path (see 1289382).

Closes-bug: 1290921

Change-Id: Ic78ac9b49c6e22231b966052f65d8ae07824379e
Fix exception message of CoraidESMConfigureError

Since 'message' is the same name as the second argument to the
constructor of CinderException, 'message="Oorah"' is not a keyword
argument.

Therefore, "message = _('ESM configure request failed: %(message)s.')"
doesn't work correctly.

Then, remove the redundant period.

Change-Id: Iafc457197fc3993f9f942babcdda0cd79b7bd518
Closes-Bug: #1290627
Switch over to oslosphinx

oslosphinx is the new name of oslo.sphinx

Closes-Bug: #1277168
Change-Id: Ib30a4a5eb3a86ad5c03324a59e1a8ee4d4897a70
Fixes cinder-volume service startup on Windows

The Windows service fails due to missing non-blocking IO features
in eventlet. This fix adds a conditional path on Windows to execute
the service accordingly.

This bug had already been fixed by this this commit:
https://review.openstack.org/#/c/44744/ but it had been reverted
here, causing the Windows service to fail again
https://review.openstack.org/67031

Fixes bug: #1219896

Change-Id: I46c6b332e614b6a84ec8372dbec3ee9fb09336de
get volumes with limit and filters does not work

The /volumes and /volumes/detail REST APIs support filtering. Currently,
all filtering is done after the volumes are retrieved from the database
in the API.get_all function in /cinder/volume/api.py. Therefore, the usage
combination of filters and limit will only work if all volumes matching
the filters are in the page of data being retrieved from the database.

For example, assume that all of the volumes with a name of "foo" would be
retrieved from the database starting at index 100 and that you query for
all volumes with a name of "foo" while specifying a limit of 50.  In this
case, the query would yield 0 results since the filter did not match any of
the first 50 entries retrieved from the database.

This patch removes all filtering from the volume API layer and moves it
into the DB layer.

Test cases were added to verify filtering at the DB level.

Change-Id: Ia084e1f4cf59ea39bf8a0a36686146a315168cbb
Closes-bug: 1287813
cinder-rtstool imports a not existing module

cinder.openstack.common.gettextutils should be imported
in cinder-rtstool instead of gettextutils.

Change-Id: I6ce047100c967d72dc31ced0903bc4ad38fecaa4
Add missing config values for vmwware_vmdk test

Import CONF.glance_api_version from cinder.common.config

Closes-Bug: 1290883
Change-Id: I9f64c2f60efe517ad8e4ee2a98ed8da4be257b47
Fixed some FCZM unit tests hacking issues

This patch is a follow up to a review that merged
included and had some issues raised after it was merged.
This patch includes some hacking cleanup and some
unit test cleanup for the Fibre Channel Zone Manager.

Change-Id: Ibb6974b2279f08720c2469893245bc888d35899c
Closes-Bug: #1285029
Use debug level logging during unit tests

When unit tests fail we need to debug, so we should have debug level logging on.
We use fixtures FakeLogger during testing, to enable debug logging pass
in log level as a parameter.

http://bazaar.launchpad.net/~python-fixtures/python-fixtures/trunk/vi
ew/head:/lib/fixtures/_fixtures/logger.py#L68

Taken from nova (Change-Id: I70790aa39c0774726de71e5fa5751c45e7e34ffd)

Change-Id: I24bcce3a9a50322f20f06670d1fe95d929aa2e72
Updated from global requirements

Change-Id: I84bf7d09746829a35e71a208abe2e3bfb70208d0
Imported Translations from Transifex

Change-Id: Id72f32cac941e6b65b03d91bfccdb4d5b508c976
Don't send untextified exc to webob

As part of commit cbe1d5f5e22e5f792128643e4cdd6afb2ff2b5bf I
accidentally removed the str() from exceptions that were being
passed out of OpenStack to webob.  This broke the contract with
webob which was expecting strings (text) to be sent.  This
resulted in webob doing bad things if we encountered an exception,
like trying to create a duplicate volume type.

This commit replaces the str()'s that shouldn't have been removed
with six.text_type() which should be used in place of str() to
resolve this issue.  There was one instance where a message was
instead being unicoded, this also was changed to use six.text_type.

This commit also fixes one message that should have been translated
but was not.

Change-Id: Iad6a81108f58c1bfd13397479022c4c4ad1ccc56
Closes-bug: 1290715
Merge "cinder-rtstool imports a not existing module"
Sync latest Oslo code for imageutils

This sync pulls the latest Oslo imageutils code over to cinder
to fix QemuImgInfo parsing needed by NFS drivers.

-> b455fac Enable decimal value input in imageutils.QemuImgInfo
--> cinder/openstack/common/imageutils.py

Oslo version:
-> 0e98afd Re-raise exception of unloadable library
-> Date:   Tue Mar 4 17:26:40 2014 +0100

Change-Id: I770b0f534c6949c2ff6995a03923a21ed26e04da
Closes-Bug: 1285764
Revert "Re-enable lazy translation"

This reverts commit 6338d4656cb71aeeee2e1a9facb22278e208aa00

Change-Id: I078217b96b2d5fcca78b57c8827883a4b15ef9f0
Merge "Use debug level logging during unit tests"
Merge "Fixes cinder-volume service startup on Windows"
Merge "Fixed some FCZM unit tests hacking issues"