NetApp eseries iscsi driver implementation

This change introduces the iscsi
driver for NetApp eseries family of storage
systems. E-series is another  storage
solution offered by NetApp.

Related-Bug: 1278567
Implements: blueprint netapp-eseries--cinder-driver
Certification results: https://launchpadlibrarian.net/166301064/eseries_cinder_certification.log

Change-Id: I8b55d1f1c8de12052281c7cae0c2f89a9d2c3dd1
Sync log.py from oslo

This change syncs log.py from oslo-incubator with the
following commit:
* Backport 'ident' from python 3.3 for Oslo's SysLogHandler
  79e8a9a08daf563aa8a8d9280c9a6a27dcafc8f2
* default connectionpool to WARN log level:
  1978114030c275c571a1786644a5e0d51ada29c0
* Fix deprecated messages sent multiple times
  52b64466177b58c8e80bc72c5ce1e940782c969a
* Remove None for dict.get()
  86707cd5c01a2de6b9ba386d7ea4f72c9c7286b1
* Rename Openstack to OpenStack
  61ff7a66fef51ba2a783a5ed87e14256a6e9432c
* Use ContextFormatter for imparting context info
  dda47c9cef19c5d8f050cf5081535b4061024457

Change-Id: I14c3d7eccc596783e380ebd57110337d3ce49038
Closes-bug: 904307
Quota delete operation in cinder

This change adds the quota-delete operation to cinder.

It is adding the api and the tests, using the methods already
implemented in the db to destroy all the quotas for a specific
project.

Implements blueprint quota-delete

DocImpact

Change-Id: Ia040a20abb831c311eb13624ddecbbf0f12fdd9f
GlusterFS: Set permissions on qcow2 snapshot files

The GlusterFS driver sets specific permissions on the
volume file when volumes are created.  Setting them on the
snapshot files at snapshot creation time is also required,
otherwise volume attaches will fail for volumes with snapshots
when using QEMU's libgfapi functionality.

This does not weaken the current security model in any
significant way, as it only lines up the permissions used
for snapshot files with those already used for volume files.

This will eventually be addressed by functionality in libvirt:
https://bugzilla.redhat.com/show_bug.cgi?id=1052014

Closes-Bug: #1286376

Change-Id: I93944724c557c907eb3821a061e7434f09ff20bc
Check if snapshot is deleted cleanly.

This patch added a check in delete_snapshot to make sure the
snapshot is deleted cleanly.  Without this check, if someone
tries to delete the source volume immediately after the snapshot
deletion, it will fail with error that the volume still has
snapshot.

Closes-Bug: #1286699

Change-Id: Idf4508025b403fa572584e5204b3891375fed6c6
Add EMC VNX Direct Driver in Cinder

This patch implements a driver based on the Cinder iSCSIDrver.
It performs volume operations on VNX using the NaviSecCLI command
line tool.  It supports all required driver features.

Implements blueprint emc-vnx-direct-driver

Change-Id: Iec1786612cc19452aca806b41c6be664680a923b
Remove str() from LOG.* and exceptions

This commit removes the use of str() from LOG.* messages
and exceptions.

The reason we need to remove str() is because str() will fail if
it gets a Unicode string that has something that doesn't translate
to ASCII in it.  If such a situation is encountered you will lose
the message string in question.  In most cases, the use of str() is
unnecessary for LOG.* and exception messages.  Using %s is smart
enough to figure out what to do with what it is passed.  It first
tries to str() it, if this fails it falls back to using unicode.  Either
way, the result will then be something that gettextutils can
handle and translate.

Change-Id: I6eb81043edd9fa5e035d81ee81e8439340546d24
Closes-bug: 1274245
Related-bp: i18n-messages
Merge "NetApp eseries iscsi driver implementation"
Merge "Check if snapshot is deleted cleanly."
Merge "Quota delete operation in cinder"
Merge "Remove str() from LOG.* and exceptions"
Merge "Add EMC VNX Direct Driver in Cinder"
Merge "GlusterFS: Set permissions on qcow2 snapshot files"
NetApp implementation for copy offload in clustered nfs driver

The Copy offload binary is a special RPC implemented in Ontap that
allows NFS clients to ask the server to copy data between
volumes in the same cluster efficiently. The special
binary will be developed by NetApp and distributed to its customers.
It will address two copy cases after efficient image clone failed.
First when image cache file is present in a different share than
the one holding volume. Second when glance is backed by nfs share
which is on the same cluster as nfs driver backend. Instead
of regular http download the copy offload workflow will be used to copy
image to share and volume. Resubmitting it as there was a problem
with build in previous submission.

Change-Id: I0847d47cecdec8be2ade06d0ea944cc3fa6f476b
Implements: blueprint copyoffload
Fix HP LeftHand Performance issue with AO

Setting AdaptiveOptimization (AO) to ‘true’, the default value,
at volume create time significantly slows down the operation on
the LeftHand array. If at create time, AO is set to ‘true’, it
will result in an update operation following the create operation
to set this value. Therefore, it is best to not specify the value,
when ‘true’, and let it default to ‘true’.

Change-Id: I2c8860e3f25a7bcaa2d2efefeffc1c11319f33e2
Closes-Bug:#1285925
Include next link when default limit is reached

The /volumes and /volumes/details APIs support pagination and a
"next" link should be included when more data is available. When
the default "osapi_max" limit is reached then the "next" link is
not included in the API reply. In this case, the caller cannot
determine if there are any more volumes and has no marker value
such that they can retrieve the rest of the volumes.

The fix for this is to include the "next" link when the number of
volumes being returned is the maximum limit, even if the "limit"
parameter is not supplied.

Change-Id: I2f04192e67f80232b4019194f718625dbaf78fa6
Closes-bug: 1288429
Merge "Fix HP LeftHand Performance issue with AO"
Merge "Include next link when default limit is reached"
Clean Up EMC VNX Direct Driver in Cinder

This patch cleans up issues discovered during the review of
EMC VNX Direct Driver.

https://review.openstack.org/#/c/73672/

Implements blueprint emc-vnx-direct-driver
Closes-Bug: #1287944

Change-Id: I4002ef9ea14e2d843dd8cbccffa025997a54c738
Merge "Clean Up EMC VNX Direct Driver in Cinder"