Clone_image method added image_id as parameter.

Clone_image method contains volume and image_location
as parameters. It needs to add additional image_id
as a parameter for driver implementations to introspect
internal image stores or registry for efficient image cloning.

blueprint clone-image-imageid

Change-Id: I20ae519492d73abecb1d0efc3b8e7204d2b2a4cb
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
tox.ini: Change sitepackages to False

To avoid issues with tox, we should use packages installed in the venv
instead of one from local system.

Fix bug #1206947

Change-Id: I8fb2a7c36c92882dc0427706ac7b470a3f3fcf42
Added glance_request_timeout config option.

The glanceclient supports a timeout for http/https
connections but this is not configurable in cinder.
This patch adds a glance_request_timeout
option to cinder.conf. If unset, None is applied thus
allowing glanceclient to use its default value (600).

Change-Id: Ic689ecb5d5ee8257964b341b5a7980d5733343dc
Fixes: bug #1206992
Co-authored-by:  Takahiro Shida <shida@intellilink.co.jp>
Move resource usage sync functions to db backend

Resource usage sync functions was declared in cinder/quota.py, and
using db.api public methods. This functions was moved to database
backend implementation, so now sync functions can use private
methods of database backend, and session attribute can be removed
from this public methods.

Blueprint: db-session-cleanup

Change-Id: If5386e3dc1e0d6e3127732aeb5b35bbd96bc93f0
Add support for API message localization

Add support for doing language resolution for a request, based on the
Accept-Language HTTP header.

Using the lazy gettext functionality from oslo gettextutils, it is now
possible to use the resolved language to translate an exception message
to the user requested language and return that translation from the API.

Partially implements bp user-locale-api

Change-Id: Ib2c8360372996d53b50542df54a52d92b07295ca
Ignore purge_props for v2 Glance api and fix upload

The V2 Glance API image schema does not contain
purge_props. While this may be a bug in Glance,
we will ignore this property in cinder when
glance_api_version=2. This will not change behaviour
since Glance defaults this property to True, Cinder
never sets it to False and the v2 client appears to
ignore it anyway.

Also fixed image upload which is a seperate client
call to update in v2 (v1 update does both).

Change-Id: I0ba1d7d920984cface57795ace160ec300ff75e2
Fixes: bug #1210467
Upgrade Scality driver to match minimum features

The Scality driver needs an upgrade to match minimum features:
- Havana: Clone Volume
- Icehouse: Extend Volume

Also, some features (Copy Image to Volume, Copy Volume to Image) already work but need automated tests.

Change-Id: Iac5ac2c58fd5ce62823f829a0a014decb4ad4958
Fixes: bug 1210240
GPFS support for various volume attributes

Specify the following attributes when creating a new volume:

* The storage pool on which the volume is placed
* Number of block-level replicas
* Whether the physical blocks should be allocated locally on the node issuing
  the IO or striped across the cluster
* Whether writes to the volume should use direct IO
* Number of file system blocks to be laid out sequentially on disk to behave
  like a single large block
* Local storage attached to specific node(s) where the replicas of the
  volume should be allocated

Change-Id: I77bb7de32bbde5a125f8c6f9a727b538ea99bc18
Implements: blueprint gpfs-volume-attributes
Fix signature of _create_volume() in ThinLVMVolumeDriver

create_volume_from_snapshot will call _create_volume() with the
wrong parameters when using ThinLVMVolumeDriver.  It should be
compatible with LVMVolumeDriver's _create_volume() method.

Fixes bug: 1210853

Change-Id: I18f7baf60601b3bcf01425b505a0579a826f072e
Merge from oslo-incubator for notifier

Goal: merge oslo-incubator change
I282d4ae3311bc3fcda6be8e5a1fceecfc8ddb115

Done via:
python update.py --nodeps --base cinder --dest-dir ../cinder \
 --modules notifier

Change-Id: I0cb982b3b45eb63941f9bfe5407c93af280c452a
Fix handling ImageUnacceptable in create_volume

In the create_volume flow ImageUnacceptable exceptions are
not properly handled.  _copy_image_to_volume can receive an
ImageUnacceptable exception from copy_image_to_volume if fetch_to_raw
is used.  Currently the ImageUnacceptable exception is changed to
a generic ImageCopyFailure exception which does not make the cause
of the excpetion clear.

This change adds handling and raising ImageUnacceptable exceptions
in _copy_image_to_volume.  It also adds the exception to
no_reschedule_types as it doesn't make sense to keep retrying the
copy if the image was found to be unacceptable.

fixes bug 1209021

Change-Id: I9aacf23dfaaa1a4df0a869d1c9544c376488f01b
Merge "Upgrade Scality driver to match minimum features"
Remove Brick iser dependency on cinder

This patch removes the brick iser.py's dependency
on cinder exceptions and volume_utils.
This required moving some exceptions out of cinder's
exception.py that the iser.py raises.  Also had
to create a BrickException and refactor existing
brick exceptions to use the new BrickException model.

Fixes Bug #1210312

Change-Id: I672375807fed4952e5321fbcd9b57b9ef369f68f
remove Brick deps on cinder.exception

This patch removes more cinder.exception
dependencies from brick.  This involves
moving some exceptions into brick's
exception module.

Change-Id: I577d403f02c2fd0d727d2694776008e1e9791453
Merge "Move resource usage sync functions to db backend"
Merge "Remove Brick iser dependency on cinder"
Merge "remove Brick deps on cinder.exception"
Add unit tests for cinder/api/contrib/quotas

Add tests for serializator in QuotaTemplate class

Add tests for the following functions in QuotaSetsController class:
    -show
    -update
    -defaults

Change-Id: I615440277a54140eb245651d87a225231151083a