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
Switch over to oslosphinx

oslosphinx is the new name of oslo.sphinx

Closes-Bug: #1277168
Change-Id: Ib30a4a5eb3a86ad5c03324a59e1a8ee4d4897a70
Add missing config values for vmwware_vmdk test

Import CONF.glance_api_version from cinder.common.config

Closes-Bug: 1290883
Change-Id: I9f64c2f60efe517ad8e4ee2a98ed8da4be257b47
Updated from global requirements

Change-Id: I84bf7d09746829a35e71a208abe2e3bfb70208d0
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
Use the error_out_volume from flow common instead

Instead of a custom piece of logic that errors out
a volume due to the driver not initialized issue
just use the same one that is used in other flows
to accomplish the same update.

Change-Id: I2c8f2fbb4d9bb25a19f26cba3dee5e87913d609b
Use six.moves.urllib.parse instead of urlparse

To keep Python 3.x compatibility, use six.moves.urllib.parse to
replace urlparse. tools/lintstack is changed to pass pylint test.

Partial-Bug: #1279611

Change-Id: I0ceaaccbf6c67b45609b4f2f5639c362b32d10ad
Ensure name is utf-8 when deleting rbd vol or snap

If the name supplied to librbd is not utf-8 e.g. unicode,
an exception is raised. This was previously fixed and
subsequently broken by commit cbe1d5f.

Change-Id: I29f5e9db87ceb5f9cfe3be43e76d3e860edaf6d7
Closes-Bug: bug 1292433
Merge "Ensure name is utf-8 when deleting rbd vol or snap"
Merge "Add missing config values for vmwware_vmdk test"
Merge "Updated from global requirements"
Imported Translations from Transifex

Change-Id: I639b951c583c008b9784e1ea89cc3cda205086a2
Fix create_export/remove_export in driver.py

1. There was a call to rpcapi.create_export which does not have a
matching volume manager function, causing volume migration to crash.
This call was not necessary because there is already an
initialize_connection RPC call, which calls the driver's create_export
function. Removed the create_export RPC call and function. Added better
error handling to that code in _attach_volume in driver.py as well.

2. The manager called remove_export from detach_volume, which was not
being called by these functions. I believe it makes more sense to call
it from terminate_connection. Moved it there, and fixed up the
corresponding code in _detach_volume in driver.py.

3. Remove leftovers of export code from create_volume manager flow.

Change-Id: I2b192630ebed54368f151db47b49cbc72601a8d7
Closes-Bug: #1285060
Merge "Switch over to oslosphinx"
Merge "NetApp api fix structure conversion methods"
Merge "Fix create_export/remove_export in driver.py"
Merge "Add snapshot related data to limits api"
Merge "Use six.moves.urllib.parse instead of urlparse"