Fix cinder error for deprecated Netapp drivers

We deprecated some NetApp drivers in
this release. This change fixes c-vol
breakdown in case of cinder configured for
deprecated drivers and helps
in upgrade scenarios between releases
by printing appropriate warning and
suggestion message for deprecated drivers.

bug 1217220

Change-Id: I533d42257d93f706303b475fb4f222adcc0df3ed
NetApp storage service feature support

This change introduces storage service feature for
NetApp drivers. It reports back supported service
features like mirroring, deduplication, compression
etc. to the scheduler which can be used to shortlist
backends. It accepts extra_specs defined
in volume type with the service features and provisions
volumes based on the requested spec.

blueprint cinder-nfs-driver-qos

Change-Id: I0706af2fe39b2db111a6d98b016307fc63f74dc6
Set bootable flag for volume cloned from image

In previous code we don't set the bootable flag for volume
cloned from image. This does not appear to break booting
from volume at present but the status displayed by the cinder
client is broken.

The bug is reported and fixed several months ago(bug #1185533)
but the author doesn't provide unit test with the patch. Now it
has been broken again by somebody else.The patch re-fixed this
bug together with unit tests.

Also add a function named _handle_bootable_volume_glance_meta,
it is a combination of enable_bootable_flag and glance_metadata
handling. There are 3 kinds of volume creation tasks may required
to copy/fetch the glance metadata. In previous code every kind of
task have its own handling code, this patch consolidate them together
to share some common code.

fixed bug #1211272
fixed bug #1185533

Change-Id: I86007e26efbebe58dc0c5995b6f14f68258144b5
Re-enable a lot of cinder scheduler tests

This highlight and fixes a NoneType exception in the schedulers
_get_weighted_candidates method

This was originally added to get around the fact that the filter tests
required that cinder was correctly installed on the system. But the
is_cinder_installed condition always returning False and this hid
problems of old packages been installed in our system. Also
930f5891b0815e1b49b9b2cc840e0c24b2796e84 added the setup.py automatically
to run_tests.sh so we can remove this.

See https://review.openstack.org/#/c/20213/ for history.

Fixes bug: 1213226

Change-Id: I86fee802c0543355471ddbd712e52ccec750cea0
Move the frequently injection task to the base folder.

Key/value injection is a typical way to bootstrap a
dependency based system (as there needs to be an
initial set of values to depend on). Since this inject
task is frequently used to accomplish this we should
just move it to the base file.

Change-Id: Ib49e949f319bc18744fc95f8a02fab1eade0fb6a
Sync execute() related exceptions with oslo

Cinder has its own ProcessExecutionError exception defined which
already exists in processutils.py. This was done to have minimal
editing when applying processutils.execute() to Cinder. As a result,
new instances are being created for each exception raised during
cli processing using execute()

As for the first step to remove the redundant excptions, this
patch syncs ProcessExecutionError and UnknownArgumentError
with that in processutils to ease the transition.

Change-Id: I88d9b86a0486f5d91fdcb664c99a9a2cd1392460
Ignore stmf target must be offline exception

Patch to ignore

"NexentaJSONException: : Unable to add member to targetgroup:
  stmfadm: STMF target must be offline"

This error happens when targetgroup is already configured and busy.

fixed bug 1209305

Change-Id: I2441118c0968a7a373b5990db6782129291c3051
Imported Translations from Transifex

Change-Id: Ia2f3a9a0a9b706143f122a091926d75cb37f1c2e
Merge "Move the frequently injection task to the base folder."
Merge "Imported Translations from Transifex"
Imported Translations from Transifex

Change-Id: I2b2ca85c56e774d40437cca45b60103d6f840734
Merge "Ignore stmf target must be offline exception"
Ensure that qpid connection is closed (from oslo)

This is commit a9bc62814d in oslo-incubator

Fixes bug 1172922

When reestablishing a session and a connection already exists the
existing connection will be closed prior to opening the new one.

Change-Id: I9a25800fe4b56eba89d550e3461ce095bf902f0a
Offline snapshots for GlusterFS volumes

Offline snapshots for the GlusterFS driver, based
on QCOW2 snapshotting.

This introduces the option to have volumes stored as
qcow2 files rather than raw files. (glusterfs_qcow2_volumes)

Bump driver version to 1.1.0.

This patch requires Nova to support loading qcow2 disks:
https://review.openstack.org/#/c/38321/

Online snapshot support (via Nova) is added in a
subsequent patch submitted in this series.

This patch also enables volume cloning for GlusterFS volumes.

Implements blueprint qemu-assisted-snapshots

Change-Id: I783a802574b835b495e343f555f7ecf9b46981dd
Extend volume for GlusterFS

Add support for extend volume.

Change-Id: Ie9ba67d91de2da43e6b857b4256a445c5269c5cd
Merge "Re-enable a lot of cinder scheduler tests"
Sync up with global requirements

This is a pull from openstack/requirements.

Note that pep8, pyflakes and flake8 are now specified
as deps in hacking, so we can remove those here.  Also
if we don't remove them then we run into version conflicts
when hacking tries to set things up.

Quick!!!  Before it changes again!

Change-Id: Ib35b58c01f8d5d066d559e8afe4ea02adf55db5d
Merge "Offline snapshots for GlusterFS volumes"
Remove deprecated code from Nexenta Exception class

Change-Id: I4242fce8b3f10c863d38cd2f81c2aab9fea77e24
Merge "Set bootable flag for volume cloned from image"