]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
9 years agoEfficient volume copy for generic volume migration
Mitsuhiro Tanino [Mon, 27 Jul 2015 03:15:58 +0000 (23:15 -0400)]
Efficient volume copy for generic volume migration

Currently Cinder uses dd command for data copy of volume migration,
but the copy always copy full blocks even if the source data contains
many null and zero blocks. The dd command has an option conv=sparse
to skip null or zero blocks for more efficient data copy.

However, if the destination volume is not zero cleared beforehand,
we should copy full block from source to dest volume to cleanup dest
volume in order to avoid security issue.
If the volume pre-initilization(zero cleared) is ensured beforehand,
we can skip copy of null and zero blocks to destination volume by
using sparse copy.

In order to use this option properly, we have to check
sparse_copy_volume capability for destination backend driver via
RPC API before volume copy.

This patch also adds sparse_copy_volume capability flag into volume
stats of LVM and NFS drivers to enable efficient copy for these
backends.

Implements: blueprint efficient-volume-copy-for-cinder-assisted-migration
Change-Id: Ic343860d37276907724fce3a9c0f7c9d034c4aaa

9 years agoAdds framework for get_capabilities() feature
Mitsuhiro Tanino [Mon, 13 Jul 2015 15:17:00 +0000 (11:17 -0400)]
Adds framework for get_capabilities() feature

This patch adds a base framework of capabilities reporting
feature. The get_capabilities RPC API returns dictionary
which is consisted of two parts.

First part includes static backend capabilities which are
obtained by get_volume_stats(). Second part is properties
which includes parameters correspond to extra specs.
This properties part is consisted of cinder standard
capabilities and vendor unique properties. These properties
are created via these two methods.

* _init_standard_capabilities()
* _init_vendor_properties()

Since _init_standard_capabilities() only exposes cinder
standard capabilities into the properties dictionary,
each backend driver needs to expose their own properties
by overriding _init_vendor_properties().

ex. capabilities
{
   'host_name': 'block1',
   'volume_backend_name': 'lvm',
   'pool_name': 'pool',
   'driver_version': '2.0.0',
   'storage_protocol': 'iSCSI',
   'properties:' {
        'thin_provisioning': {
            'title': 'Thin Provisioning',
            'description': 'Sets thin provisioning.',
            'type': 'boolean'},
        'compression': {
            'title': 'Compression',
            'description': 'Enables compression.',
            'type': 'boolean'},
        'qos': {
            'title': 'QoS',
            'description': 'Enables QoS.',
            'type': 'boolean'},
        'replication': {
            'title': 'Replication',
            'description': 'Enables replication.',
            'type': 'boolean'},
        'vendor:compression_type': {
            'title': 'Compression type',
            'description': 'Specifies compression type.',
            'type': 'string',
            'enum': ["lossy", "lossless", "special"]},
        'vendor:minIOPS': {
            'title': 'Minimum IOPS QoS',
            'description': 'Sets minimum IOPS if QoS is enabled.',
            'type': 'integer',
            'minimum': 10,
            'default': 100},
   }
}

DocImpact
Implements: blueprint get-volume-type-extra-specs
Change-Id: I7a019f0296511bfda5b373e508071853d85e2376

9 years agoMerge "Port test_nfs to Python 3"
Jenkins [Thu, 27 Aug 2015 16:14:20 +0000 (16:14 +0000)]
Merge "Port test_nfs to Python 3"

9 years agoMerge "Implement function to manage/unmanage snapshots"
Jenkins [Thu, 27 Aug 2015 14:47:59 +0000 (14:47 +0000)]
Merge "Implement function to manage/unmanage snapshots"

9 years agoMerge "Remove unused dependency discover."
Jenkins [Thu, 27 Aug 2015 12:39:29 +0000 (12:39 +0000)]
Merge "Remove unused dependency discover."

9 years agoMerge "adds user_id to check_is_admin"
Jenkins [Thu, 27 Aug 2015 11:36:00 +0000 (11:36 +0000)]
Merge "adds user_id to check_is_admin"

9 years agoMerge "Replace urllib.unquote with urllib.parse.unquote"
Jenkins [Thu, 27 Aug 2015 09:35:25 +0000 (09:35 +0000)]
Merge "Replace urllib.unquote with urllib.parse.unquote"

9 years agoMerge "Update NetApp Drivers to use netapp_lib"
Jenkins [Thu, 27 Aug 2015 09:30:42 +0000 (09:30 +0000)]
Merge "Update NetApp Drivers to use netapp_lib"

9 years agoMerge "Add Cinder API wsgi application"
Jenkins [Thu, 27 Aug 2015 02:29:12 +0000 (02:29 +0000)]
Merge "Add Cinder API wsgi application"

9 years agoMerge "Nested Quota Driver: Get Project Hierarchy"
Jenkins [Thu, 27 Aug 2015 01:13:43 +0000 (01:13 +0000)]
Merge "Nested Quota Driver: Get Project Hierarchy"

9 years agoMerge "Filter out extra-specs from type get for non-admin"
Jenkins [Thu, 27 Aug 2015 00:25:42 +0000 (00:25 +0000)]
Merge "Filter out extra-specs from type get for non-admin"

9 years agoMerge "Parameter osapi_max_limit is always used by default"
Jenkins [Thu, 27 Aug 2015 00:09:07 +0000 (00:09 +0000)]
Merge "Parameter osapi_max_limit is always used by default"

9 years agoMerge "Add pagination to snapshots"
Jenkins [Wed, 26 Aug 2015 22:08:00 +0000 (22:08 +0000)]
Merge "Add pagination to snapshots"

9 years agoMerge "TemporaryImages to inspect image before conversion"
Jenkins [Wed, 26 Aug 2015 16:12:08 +0000 (16:12 +0000)]
Merge "TemporaryImages to inspect image before conversion"

9 years agoMerge "Dont eager load volume type specs on volume list"
Jenkins [Wed, 26 Aug 2015 16:02:45 +0000 (16:02 +0000)]
Merge "Dont eager load volume type specs on volume list"

9 years agoMerge "Cleaning up CONF.register_opts() in compute/__init__.py"
Jenkins [Wed, 26 Aug 2015 16:02:23 +0000 (16:02 +0000)]
Merge "Cleaning up CONF.register_opts() in compute/__init__.py"

9 years agoMerge "Fix backup list all_tenants=0 filtering for admin"
Jenkins [Wed, 26 Aug 2015 12:46:55 +0000 (12:46 +0000)]
Merge "Fix backup list all_tenants=0 filtering for admin"

9 years agoMerge "Fix nimble storage volume stats reporting"
Jenkins [Wed, 26 Aug 2015 12:32:21 +0000 (12:32 +0000)]
Merge "Fix nimble storage volume stats reporting"

9 years agoMerge "Add more Rally scenarios to run"
Jenkins [Wed, 26 Aug 2015 11:21:23 +0000 (11:21 +0000)]
Merge "Add more Rally scenarios to run"

9 years agoReplace urllib.unquote with urllib.parse.unquote
Vipin Balachandran [Wed, 26 Aug 2015 10:42:53 +0000 (16:12 +0530)]
Replace urllib.unquote with urllib.parse.unquote

This patch replaces urllib.unquote with urllib.parse.unquote
in the vmdk driver.

Commit d08c7ffe52e3ee211e425c363200998704726e58 replaced
urllib and urllib2 with six.moves.urllib and changed urllib.
unquote to urllib.parse.unquote but missed one call site
in the vmdk driver since the code which introduced it was
under review at the same time. Due to this, if we set an
optional parameter 'vmware_cluster_name', the driver init
will fail with AttributeError.

This patch also adds a unit test which would have caught
this error during gate check.

Change-Id: I310456f5d677c6e100a91efc6228c533cb5bf208
Closes-Bug: #1488916

9 years agoRemove unused dependency discover.
Robert Collins [Wed, 26 Aug 2015 09:08:23 +0000 (21:08 +1200)]
Remove unused dependency discover.

Change-Id: I271fe5958411f20f24eecebdfc9af2be238aa9e6

9 years agoMerge "Add https options and minor code changes"
Jenkins [Wed, 26 Aug 2015 07:36:43 +0000 (07:36 +0000)]
Merge "Add https options and minor code changes"

9 years agoImplement function to manage/unmanage snapshots
wanghao [Wed, 31 Dec 2014 04:06:53 +0000 (12:06 +0800)]
Implement function to manage/unmanage snapshots

1. Add snapshots manage action in contrib api and unmanage
action in API extension.
2. Implement manage_existing_snapshot in manager and flow
to import existing snapshots.
3. Add manage/unmanage support in the LVM driver

Implements: blueprint support-import-export-snapshots
DocImpact
APIImpact
Similar to volume manage/unmanage.
Change-Id: Ib6cf8392b0bc99f803316991f31a75788677e9cf

9 years agoMerge "Assisted volume migration for Oracle ZFSSA drivers"
Jenkins [Wed, 26 Aug 2015 06:06:47 +0000 (06:06 +0000)]
Merge "Assisted volume migration for Oracle ZFSSA drivers"

9 years agoDont eager load volume type specs on volume list
Cory Stone [Wed, 26 Aug 2015 00:05:36 +0000 (19:05 -0500)]
Dont eager load volume type specs on volume list

Some drivers need extra specs loaded on create and the session could be
closed by the time they access them. However for a volume list, eager
loading these attributes causes a severe performance penalty.

Move the eager load to the single volume get case.

Change-Id: I6fbf5508684a01a7df7930d4f1b4a47adeefe521
Closes-Bug: 1486289

9 years agoFilter out extra-specs from type get for non-admin
John Griffith [Wed, 19 Aug 2015 17:42:40 +0000 (17:42 +0000)]
Filter out extra-specs from type get for non-admin

Currently when a get_volume type call is made to the
db api, we don't check context and auto-fill the
extra-specs info for that type.

Extra specs are intended to be admin only info, but anybody
that calls the API directly to list or get volume-types is
also given this info which is not intended.

This patch just adds a context check to the db api's
private extra-specs builder method.  In the case of
non-admin, we just skip adding the extra-specs.

Change-Id: Ia46695a6c890c06d94e6903ed9c54794107fa132
Closes-Bug: #1351971
Closes-Bug: #1475285

9 years agoAdd pagination to snapshots
Gorka Eguileor [Fri, 31 Jul 2015 18:07:30 +0000 (20:07 +0200)]
Add pagination to snapshots

Currently snapshot list does not provide pagination like volume does.

This patch adds pagination for snapshots in the same way that volume
does, using marker, limit, sort_keys and sort_dirs.

DocImpact
APIImpact: Use marker, limit, sort_keys and sort_dirs
Implements: snapshots-and-bakcup-support-pagination-query
Implements: blueprint extend-limit-implementations
Change-Id: I21edac6d29abf7fc2f446111a7d6888db9ab6eba

9 years agoParameter osapi_max_limit is always used by default
Yuriy Nesenenko [Tue, 25 Aug 2015 10:55:56 +0000 (13:55 +0300)]
Parameter osapi_max_limit is always used by default

Default value max_limit is initialized before a value is read from
the config file. Default parameter values are always evaluated when
the “def” statement they belong to is executed. So parameter
osapi_max_limit is always used by default even it's set in the
configuration file.

Change-Id: I1414667d30e98b56c5eb1b09b802bab823b37e2d
Closes-Bug: #1487510

9 years agoUpdate NetApp Drivers to use netapp_lib
Goutham Pacha Ravi [Thu, 13 Aug 2015 07:47:53 +0000 (03:47 -0400)]
Update NetApp Drivers to use netapp_lib

Like other vendors, NetApp has published a storage controller
client library to PyPI for use by its OpenStack drivers. This
patch updates the NetApp Cinder drivers to use the new library.

The new library, when downloaded from PyPI, provides the REST
and ZAPI interface code that the driver references.
This code was previously part of the driver code tree in
Cinder: netapp/dataontap/client/api.py and netapp/eseries/client.py.
This patchset removes the relevant code from these files
and also modifies the unit tests to work in the absence
of the new library.

Implements: blueprint netapp-use-pypi-client-library

Change-Id: If51c13ade0497c8e89b044bebb393b52da62029a

9 years agoFix nimble storage volume stats reporting
Jesse Keating [Tue, 25 Aug 2015 15:33:32 +0000 (08:33 -0700)]
Fix nimble storage volume stats reporting

Capacity now needs to be reported in a pool, to support pool-aware
scheduling which was introduced in the Juno development cycle.

Change-Id: I1a3ea2c75bc0296868e281a3fbfb6636ab0f0e3e

9 years agoTemporaryImages to inspect image before conversion
Tomoki Sekiyama [Fri, 14 Aug 2015 18:13:10 +0000 (14:13 -0400)]
TemporaryImages to inspect image before conversion

This intruduces TemporaryImages utility class which enables
download images to temporary file for inspection before they are
used for format conversion. Using this utility, we can get image
information such as virtual size, which is required to implement
image cache, before calling fetch_to_raw() etc., without
downloading the image twice nor changing APIs of image_utils.

Change-Id: I6c2d48bca60e5b9e1615bbe10602d925ae6d75ff
Partially-implements: blueprint image-volume-cache

9 years agoEfficient image transfer for Glance cinder store
Tomoki Sekiyama [Fri, 8 May 2015 23:52:19 +0000 (19:52 -0400)]
Efficient image transfer for Glance cinder store

This adds an implementation of clone_image which offloads
the image copy when the image is stored in Glance Cinder store.
It uses "create_clone_volume" method to create a new volume
from an image that is placed on a cinder volume.

To enable this feature, glance_api_version in cinder.conf must be
set to 2, and allowed_direct_url_schemes must contain 'cinder'.
In glance-api.conf, show_multiple_locations must be set to True.
Also the Cinder store must be enabled.

In addition, if image_upload_use_cinder_backend is set to True,
upload-to-image in raw format will create a cloned volume and
register its location to the image service.
If image_upload_use_internal_tenant is set to True, the image
volume is stored in the internal tenant. Otherwise it is placed
in the current context's tenant.

This also changes LVM driver implementation to enable
image upload. Especially for thin LVM, it modifies
create_cloned_volume method to create thin snapshot LV.
Note that the thin snapshot LV can be treated as the normal
LVs; it can be read/written and can survive after the parent
volume is deleted.

Only raw format image is supported. Otherwise, normal image
upload/download method is used.

Currently Glance Cinder store does not support upload and
download, so the image created by this feature cannot be used
by other projects than Cinder. Patches to provide access to
images stored on Cinder are proposed here:
  glance-specs: https://review.openstack.org/183363
  glance patch(adding rootwrap): https://review.openstack.org/186201
  glance_store patch: https://review.openstack.org/166414

Note that this change works even without Glance patches.

Change-Id: I2cb68749f194d0cd597b7258a317afb982236aea
Implements: blueprint clone-image-in-glance-cinder-backend
DocImpact

9 years agoMerge "Move import and export backup metadata to object"
Jenkins [Tue, 25 Aug 2015 13:09:05 +0000 (13:09 +0000)]
Merge "Move import and export backup metadata to object"

9 years agoadds user_id to check_is_admin
Brent Roskos [Sun, 16 Aug 2015 12:41:48 +0000 (08:41 -0400)]
adds user_id to check_is_admin

A small tactical update to allow cinder to consider user_id
when checking for admin.

This is needed in the field until the larger changes around
admin scoping are completed. Checking for role only is not
sufficient in a multi-domain configuration.

juno-backport-potential
kilo-backport-potential

closes-bug: 968696

Change-Id: I0cb99186bd833c4c32964490c4bc6da9ad42d320

9 years agoFix backup list all_tenants=0 filtering for admin
Gorka Eguileor [Tue, 18 Aug 2015 09:29:15 +0000 (11:29 +0200)]
Fix backup list all_tenants=0 filtering for admin

When a user with admin role lists backups specifying all_tenants=0 in
the request, it will not behave as expected, it will return backups for
all tenants just as if all_tenants=1 had been specified.

This patch fixes this issue and will only return all tenants in backup
listings if all_tenants is set to a value meaning True (1, true, yes,
y).

Change-Id: Ia74bc258a86f6dc48483dfe17bf5a312aec4058d
Closes-Bug: #1485900

9 years agoAdd Cinder API wsgi application
Anton Arefiev [Fri, 10 Jul 2015 13:44:59 +0000 (16:44 +0300)]
Add Cinder API wsgi application

This change adds cinder API application, so cinder API can be run
under wsgi server(Apache, Nginx, etc). Eventlet will still be used
by default.

Cinder API with eventlet as a webserver and wsgi application
managing has some cons:

* Cinder API is deployed in other way as a common web application.
Apache/Nginx is generally used web servers for REST API application.

* Cinder API is run as a separate service. It means that cloud
operators need to configure some software to monitor that the API
is running.

* Apache/Nginx works better under the real heavy load than eventlet.

To use c-api deployment under Apache in devstack assign
devstack var CINDER_USE_MOD_WSGI="True".
Related changes in devstack:
 https://review.openstack.org/#/c/204643/

Cinder documentation on how deploy cinder API under Apache:
 https://review.openstack.org/#/c/207020/

Patch for Infra to make it tested:
 https://review.openstack.org/#/c/208498/

DocImpact
Implements: blueprint: non-eventlet-wsgi-app

Change-Id: If877d700b0efaa5406efa8f8f17c5816928e83ce

9 years agoMerge "Cinder replication V2"
Jenkins [Tue, 25 Aug 2015 08:31:52 +0000 (08:31 +0000)]
Merge "Cinder replication V2"

9 years agoMerge "Add volume retype support for Huawei driver"
Jenkins [Tue, 25 Aug 2015 08:31:41 +0000 (08:31 +0000)]
Merge "Add volume retype support for Huawei driver"

9 years agoMerge "Port 3PAR drivers to use ABCMeta driver model"
Jenkins [Tue, 25 Aug 2015 01:58:55 +0000 (01:58 +0000)]
Merge "Port 3PAR drivers to use ABCMeta driver model"

9 years agoCinder replication V2
John Griffith [Thu, 9 Jul 2015 21:11:54 +0000 (21:11 +0000)]
Cinder replication V2

This adds a scaled back replication implementation
that leaves the bulk of the work up to the driver.
We just provide basic admin API methods to do things
like enable/disable and fail-over.  Set up and
specification of replication targets for a specific
back end are now intended to be part of the cinder.conf
in the driver section itself.

Replication targets are configured via the cinder.conf
file in their associated driver section.  See the devref
doc included in this commit for details on the format.

The next step in configuration is to create a volume-type
with replication info in the extra-specs.
    extra-specs = replication=enable, volume_backend_name=foo

This instructs the driver to utilize replication, default is
up to the driver but would suggest single way rep and in the case
of multiple targets, driver could choose or have a default.

If the back end doesn't report replication=enabled in it's stats
updates the scheduler will fail to place the volume due to invalid
host, or no hosts available.

Vendors can easily modify extra-specs or their own config settings
to modify this behavior, any vendor-unique adaptation can be
provided through the use of scoped keys.  Suggested examples
will be published in docs.

See doc/source/devref/replication.rst for more info

Implements BP: replication-v2
DocImpact

Change-Id: I406390e4d5f3c9947df1c4f2de68821e0fd7f75b

9 years agoMerge "Dell SC: Added logging for the find_wwns functions"
Jenkins [Mon, 24 Aug 2015 20:34:14 +0000 (20:34 +0000)]
Merge "Dell SC: Added logging for the find_wwns functions"

9 years agoAssisted volume migration for Oracle ZFSSA drivers
kedar-vidvans [Fri, 7 Aug 2015 21:23:46 +0000 (17:23 -0400)]
Assisted volume migration for Oracle ZFSSA drivers

The Oracle ZFSSA drivers will migrate the volume directly from the
source host to the destination host if both hosts are configured
with Oracle ZFSSA. This type of volume migration will bypass the
cinder host and will directly transfer the volume to the destination
backend.

The ZFSSA iSCSI driver will use zfssa's remote replication service
to move the the volume to the destination zfssa.

Implements: blueprint oracle-zfssa-volume-migration
Change-Id: I4de8108e3c6c0969c83e87eac139f04b4fe8c7ac

9 years agoAdd https options and minor code changes
nikeshm [Fri, 21 Aug 2015 20:39:51 +0000 (02:09 +0530)]
Add https options and minor code changes

Adds https options x_verify_certificate and x_verify_certificate_path
in DotHill and rebranded drivers.

Minor cosmetic changes like replacing 'realstor' with 'virtual'
and 'wbi' with 'api'. Adding default value for 'x_backend_type'
and 'x_api_protocol' options. Minor code optimization for
finding array iSCSI addresses.

Here 'x' stands for dothill or hpmsa or lenovo.

DocImpact
Change-Id: I7a5924bbd56053aee6d652842b48e913c54ae7dd
Closes-Bug: #1486160
Co-Authored-By: Lakshman <lakshminarayanat@vedams.com>
Co-Authored-By: Chris Maio <chris.maio@dothill.com>
9 years agoMerge "Fix bad except clauses order"
Jenkins [Mon, 24 Aug 2015 16:30:10 +0000 (16:30 +0000)]
Merge "Fix bad except clauses order"

9 years agoMerge "Add version columns to services table"
Jenkins [Mon, 24 Aug 2015 15:53:40 +0000 (15:53 +0000)]
Merge "Add version columns to services table"

9 years agoMerge "Fix URLs to admin-guide-cloud"
Jenkins [Mon, 24 Aug 2015 15:50:46 +0000 (15:50 +0000)]
Merge "Fix URLs to admin-guide-cloud"

9 years agoMerge "Add backup/restore methods to Sheepdog driver"
Jenkins [Mon, 24 Aug 2015 15:16:20 +0000 (15:16 +0000)]
Merge "Add backup/restore methods to Sheepdog driver"

9 years agoFix bad except clauses order
masahiro ikeda [Fri, 21 Aug 2015 05:31:24 +0000 (14:31 +0900)]
Fix bad except clauses order

In wbem_request() method, 'socket.error' superclass of exception
class ' socket.sslerror' has already been caught.

Moved the except 'socket.sslerror' block up above 'socket.error'
so that if there is any error due to ssl it is caught correctly.

Closes-Bug: #1487320

Change-Id: I1de1642e47fc7ba39e6666fca1aa6e8d0dde57d7

9 years agoAdd volume retype support for Huawei driver
zhongjun [Tue, 14 Jul 2015 10:06:51 +0000 (18:06 +0800)]
Add volume retype support for Huawei driver

Add retype volume function for Huawei driver, including
SmartQos, SmartTier, SmartPartition and SmartCache,
SmartThin/Thick.

This commit adds the following qualified extra-specs:
  * capabilities:smarttier='<is> True'
    smarttier:policy='X'(X:0,1,2,3)"(default value is 1)
  * capabilities:smartpartition='<is> True'
    smartpartition:partitionname=test_partition_name
  * capabilities:smartcache='<is> True'
    smartcache:cachename=test_cache_name
  * capabilities:thin_provisioning='<is> True'
  * capabilities:thick_provisioning='<is> True'

Implements: blueprint huawei-driver-support-retype
Change-Id: I6bd1d39aca5a368594ca39c75c86eaf6ab20b00c

9 years agoFix URLs to admin-guide-cloud
Andreas Jaeger [Sun, 23 Aug 2015 08:48:20 +0000 (10:48 +0200)]
Fix URLs to admin-guide-cloud

The content of the admin-guide-cloud has been changed and thus URLs are
moved. Replace outdated URLs with current ones.

The reorg of admin-guide-cloud was done as part of
http://specs.openstack.org/openstack/docs-specs/specs/liberty/reorganise-user-guides.html.

Implements blueprint reorganise-user-guides

Change-Id: I6f980021824e57df973e62d6023b27feb0fa703b

9 years agoMerge "Prevent volume already in CG to be added to another"
Jenkins [Sun, 23 Aug 2015 15:07:01 +0000 (15:07 +0000)]
Merge "Prevent volume already in CG to be added to another"

9 years agoNested Quota Driver: Get Project Hierarchy
Erickson Santos [Mon, 27 Jul 2015 18:01:47 +0000 (15:01 -0300)]
Nested Quota Driver: Get Project Hierarchy

We are making calls to keystone in order to know the project hierarchy
and check whether a project is a root project or not.

Co-Authored-By: Vilobh Meshram <vilobhmm@yahoo-inc.com>
Change-Id: Ic749fd56d7c6b41f720f8e86bf62066c6a63122b
Partially-Implements: bp cinder-nested-quota-driver

9 years agoMerge "Fix Pure create volume from cgsnapshot"
Jenkins [Sun, 23 Aug 2015 04:44:22 +0000 (04:44 +0000)]
Merge "Fix Pure create volume from cgsnapshot"

9 years agoMerge "Update provider_id column on SolidFire init"
Jenkins [Sat, 22 Aug 2015 18:52:16 +0000 (18:52 +0000)]
Merge "Update provider_id column on SolidFire init"

9 years agoMerge "EMC VMAX Create CG from CG Snapshot"
Jenkins [Sat, 22 Aug 2015 18:47:57 +0000 (18:47 +0000)]
Merge "EMC VMAX Create CG from CG Snapshot"

9 years agoMerge "Add missing space to logged error in create volume"
Jenkins [Sat, 22 Aug 2015 17:32:55 +0000 (17:32 +0000)]
Merge "Add missing space to logged error in create volume"

9 years agoMerge "Add ability to update provider_id during init"
Jenkins [Sat, 22 Aug 2015 11:39:15 +0000 (11:39 +0000)]
Merge "Add ability to update provider_id during init"

9 years agoMerge "Validate value when user update quota"
Jenkins [Sat, 22 Aug 2015 07:08:17 +0000 (07:08 +0000)]
Merge "Validate value when user update quota"

9 years agoMerge "Avoid returning volume metadata in DotHill driver"
Jenkins [Sat, 22 Aug 2015 01:27:16 +0000 (01:27 +0000)]
Merge "Avoid returning volume metadata in DotHill driver"

9 years agoMerge "Return multiple iSCSI portals in VNX Cinder driver"
Jenkins [Fri, 21 Aug 2015 23:55:22 +0000 (23:55 +0000)]
Merge "Return multiple iSCSI portals in VNX Cinder driver"

9 years agoDell SC: Added logging for the find_wwns functions
Tom Swanson [Fri, 21 Aug 2015 22:00:23 +0000 (17:00 -0500)]
Dell SC: Added logging for the find_wwns functions

Added additional LOG.debug() statements to find_wwns and associated
functions.  Right now there aren't enough bread crumbs to easily triage
a problem with the return for the FC intitialize_connection function.

Change-Id: Ia283ae16b028395bbb699da5c38f355e6cb24cfe

9 years agoAdd missing space to logged error in create volume
Eric Harney [Fri, 21 Aug 2015 21:23:20 +0000 (17:23 -0400)]
Add missing space to logged error in create volume

Currently this reads:
  Originating source volume status must
  be one of'available, in-use' values

Change-Id: I5c387ff83670672e882ee7f155edceb4d8a8a7f8

9 years agoCleaning up CONF.register_opts() in compute/__init__.py
Kendall Nelson [Fri, 21 Aug 2015 18:15:25 +0000 (13:15 -0500)]
Cleaning up CONF.register_opts() in compute/__init__.py

This patch makes the import of oslo_config and registration
of _compute_opts consistent with all other imports and
registration statements in other files. In a future patch
that dynamically generates Cinder config options, it will now
be possible to get the options being registered in this file.

Change-Id: Ifaae49dd6d0163b5cde44df7b3ca904fb550f211

9 years agoMerge "Fix _LI() to _LW() in LOG.warning message"
Jenkins [Fri, 21 Aug 2015 17:48:47 +0000 (17:48 +0000)]
Merge "Fix _LI() to _LW() in LOG.warning message"

9 years agoUpdate provider_id column on SolidFire init
John Griffith [Thu, 20 Aug 2015 19:09:57 +0000 (19:09 +0000)]
Update provider_id column on SolidFire init

This patch just implements an init routine to update
the cinder db with provider_id mappings to known/active
volumes on the SolidFire cluster.

Now that we have added a mapping feature in the DB, we need
to go back and populate these columns on an upgrade.  It's
also helpful to have this mechanism for internal mappings on
init, that's why it's here as an init routine instead of part
of an upgrade migration or cinder-manager script.

Change-Id: I1e4da2adff2ae85a3020b38167c8c63fc56b8417

9 years agoAdd ability to update provider_id during init
John Griffith [Thu, 20 Aug 2015 16:45:03 +0000 (10:45 -0600)]
Add ability to update provider_id during init

During the Liberty release we added the ability to store
a provider_id for a volume in the Cinder database.  This
simplifies a number of things for back ends when accessing
volumes.

One missing piece here however is that we have no way to
populate this data for existing deployments if/when they
upgrade.

This patch provides a simple solution that issues an update
call to the drivers on host init.  It works by fetching a
list of volumes for the specific host, and passes those in
to the driver.  The driver can do nothing, or it can go
through and sync up the Cinder ID's with it's internal
ID's and return the provider update info.

Change-Id: Ib3b078a6f492afada24e534f380f5f014033d603

9 years agoMerge "Update deprecated version of novaclient"
Jenkins [Fri, 21 Aug 2015 09:54:57 +0000 (09:54 +0000)]
Merge "Update deprecated version of novaclient"

9 years agoMerge "Add SolidFire svip to config options"
Jenkins [Fri, 21 Aug 2015 09:54:33 +0000 (09:54 +0000)]
Merge "Add SolidFire svip to config options"

9 years agoMerge "Switch to the oslo_utils.fileutils"
Jenkins [Fri, 21 Aug 2015 09:54:00 +0000 (09:54 +0000)]
Merge "Switch to the oslo_utils.fileutils"

9 years agoMerge "RemoteFS: Fix doc for locked_volume_id_operation"
Jenkins [Fri, 21 Aug 2015 07:25:33 +0000 (07:25 +0000)]
Merge "RemoteFS: Fix doc for locked_volume_id_operation"

9 years agoFix _LI() to _LW() in LOG.warning message
Furuta Tomonori [Thu, 23 Jul 2015 08:33:28 +0000 (17:33 +0900)]
Fix _LI() to _LW() in LOG.warning message

Closes-Bug: #1477535
Change-Id: If33cc839d6d3ac5b479cfeaabc50405c9274f7cb

9 years agoMerge "Parse out SolidFire account from api response"
Jenkins [Fri, 21 Aug 2015 03:49:05 +0000 (03:49 +0000)]
Merge "Parse out SolidFire account from api response"

9 years agoMerge "Rename free_virtual in capacity filter"
Jenkins [Fri, 21 Aug 2015 03:43:35 +0000 (03:43 +0000)]
Merge "Rename free_virtual in capacity filter"

9 years agoValidate value when user update quota
wanghao [Thu, 2 Jul 2015 09:41:17 +0000 (17:41 +0800)]
Validate value when user update quota

Cinder currently doesn't check the existing resource
when user lowers the quota sets. It should have an optional
action that doesn't allow to update the quota of resources
lower than current usage.

This patch adds code to validate the update value of quota and
ensure the value can't be lower than existing resource.

APIImpact
Add an optional boolean argument 'skip_validation' with default value True.
{
  "quota_set": {xxxx},
  "skip_validation": 'True'/'False'
}
If skip_validation=False and the update value is lower than existing resource,
API will return 400 Bad Request.

Change-Id: I24428ce53e5d10e77235f372bb6d0b70ea672412
Closes-Bug: #1304234

9 years agoMerge "Dell SC: Better exception handling in init_conn"
Jenkins [Fri, 21 Aug 2015 01:37:00 +0000 (01:37 +0000)]
Merge "Dell SC: Better exception handling in init_conn"

9 years agoAdd SolidFire svip to config options
John Griffith [Thu, 20 Aug 2015 21:49:59 +0000 (15:49 -0600)]
Add SolidFire svip to config options

The SolidFire driver uses a simple method of gathering
the Storage Virtual IP, it just queries the Cluster and
asks for the SVIP. This is great almost all the time,
BUT it doesn't take into consideration that the deployer
may be using VLAN's and accessing the cluster from multiple
clouds, or multiple networks.

This patch just adds a config option to specify an SVIP
if the admin has configured VLANs in their environment and
on their cluster.  The default behavior is to still use the
global SVIP.

Change-Id: I10b784f903cd8d16580110f01d338a3ad867eada
Closes-Bug: #1487194

9 years agoReturn multiple iSCSI portals in VNX Cinder driver
Tina [Wed, 5 Aug 2015 03:15:03 +0000 (23:15 -0400)]
Return multiple iSCSI portals in VNX Cinder driver

Return multiple iSCSI portals (using keys target_portals, target_iqns
and target_luns) in VNX Cinder driver whether the multipath option
is used or not. A single portal is continuously being returned in
target_portal, target_iqn and target_lun for drivers other than
libvirt driver.

Change-Id: Ibfd989d10a65a3b87647f3d7a4ff3596d822eec9
Closes-Bug: #1482017

9 years agoAvoid returning volume metadata in DotHill driver
nikeshm [Thu, 20 Aug 2015 20:47:12 +0000 (02:17 +0530)]
Avoid returning volume metadata in DotHill driver

DotHill driver returns volume metadata on create volume.
It is not needed and causing CI failures.

Change-Id: Idbe16fcff60ed0c3cfa1f4ba66ca549c6dd9a1d8
Closes-Bug: #1487165
Co-Authored-By: Lakshman <lakshminarayanat@vedams.com>
9 years agoPort 3PAR drivers to use ABCMeta driver model
Kurt Martin [Thu, 20 Aug 2015 15:37:19 +0000 (08:37 -0700)]
Port 3PAR drivers to use ABCMeta driver model

Use new ABCMeta driver model for 3PAR drivers.

Change-Id: I51051afbe9aa6135a34dfb927ed0153482810187
Implements: blueprint abc-driver-update

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Thu, 20 Aug 2015 11:20:08 +0000 (11:20 +0000)]
Updated from global requirements

Change-Id: I7614637649ed8f31862a240cb1be71529a501248

9 years agoMerge "Adds the random option to cinder retry function"
Jenkins [Thu, 20 Aug 2015 10:06:11 +0000 (10:06 +0000)]
Merge "Adds the random option to cinder retry function"

9 years agoSwitch to the oslo_utils.fileutils
Sergey Vilgelm [Wed, 8 Jul 2015 12:18:13 +0000 (15:18 +0300)]
Switch to the oslo_utils.fileutils

fileutils is graduated in the oslo.utils library.
Use the open function from builtins instead of fileutils.file_open.
Change the test_backup_volume (test_scality module) and
test_restore_backup (test_scality, test_volume) functions to use
mock library instead of mox.

Implements: blueprint graduate-fileutils[1]
[1] https://blueprints.launchpad.net/oslo-incubator/+spec/graduate-fileutils

Change-Id: I7abf0273bf2b90c72f51ebf4896808eaabb91969

9 years agoMerge "Update devref unit tests doc"
Jenkins [Thu, 20 Aug 2015 07:14:21 +0000 (07:14 +0000)]
Merge "Update devref unit tests doc"

9 years agoMerge "Make migration's volume source deletion async"
Jenkins [Thu, 20 Aug 2015 05:45:51 +0000 (05:45 +0000)]
Merge "Make migration's volume source deletion async"

9 years agoMerge "Refactor to remove duplicate code"
Jenkins [Thu, 20 Aug 2015 04:34:28 +0000 (04:34 +0000)]
Merge "Refactor to remove duplicate code"

9 years agoMerge "Remove duplicate keys from dictionary"
Jenkins [Thu, 20 Aug 2015 03:26:46 +0000 (03:26 +0000)]
Merge "Remove duplicate keys from dictionary"

9 years agoMerge "Corrects the order of AssertEquals params in Quobyte tests"
Jenkins [Thu, 20 Aug 2015 03:25:53 +0000 (03:25 +0000)]
Merge "Corrects the order of AssertEquals params in Quobyte tests"

9 years agoParse out SolidFire account from api response
John Griffith [Wed, 19 Aug 2015 21:07:49 +0000 (21:07 +0000)]
Parse out SolidFire account from api response

In the SolidFire create-cache account routine we broke the response
check and are trying to use the entire api response as if it were an
account object.

This patch just pulls the actual account object out of the response
instead of using the entire API response.

Change-Id: Ief2d9ae494475f5ba3688c521e11d51a244b5c28
Closes-Bug: #1486744

9 years agoMerge "Test whether sample config generation works"
Jenkins [Wed, 19 Aug 2015 19:59:16 +0000 (19:59 +0000)]
Merge "Test whether sample config generation works"

9 years agoDell SC: Better exception handling in init_conn
Tom Swanson [Tue, 18 Aug 2015 19:36:38 +0000 (14:36 -0500)]
Dell SC: Better exception handling in init_conn

Now re-raising VolumeBackendAPIExceptions in initialize_connection.
And logging any other exceptions as VolumeBackendAPIException.  This
preserves the actual failure in the logs.

Also updated the version history.

Change-Id: Ib2421a9b701445e14095bea2415d7bbfaf54854c

9 years agoPort test_nfs to Python 3
Victor Stinner [Tue, 18 Aug 2015 23:22:20 +0000 (16:22 -0700)]
Port test_nfs to Python 3

testtools.ExpectedException(exc_class, regex) expects the exact
exc_class class, wheras the
test_setup_should_throw_exception_if_mount_nfs_command_fails() test
raises a PermissionError on Python 3.3+ instead of OSError. Replace
testtools.ExpectedException() with self.assertRaisesRegex() to port the
test to Python 3, this method accepts subclasses of exc_class.

Replace also testtools.ExpectedException() with self.assertRaisesRegex()
in other tests.

Blueprint https://blueprints.launchpad.net/cinder/+spec/cinder-python3
Change-Id: If5a74529e5ac68a2118afa8ecfd86bf24307b0b7

9 years agoMerge "Adds manage/unmanage methods for HNAS drivers."
Jenkins [Wed, 19 Aug 2015 17:01:24 +0000 (17:01 +0000)]
Merge "Adds manage/unmanage methods for HNAS drivers."

9 years agoMerge "Tests: Fix zfssa TestRestClientURL.test_request"
Jenkins [Wed, 19 Aug 2015 16:52:24 +0000 (16:52 +0000)]
Merge "Tests: Fix zfssa TestRestClientURL.test_request"

9 years agoCorrects the order of AssertEquals params in Quobyte tests
Silvan Kaiser [Wed, 19 Aug 2015 13:42:25 +0000 (15:42 +0200)]
Corrects the order of AssertEquals params in Quobyte tests

Closes-Bug: 1486566

Change-Id: I29bd0ea93d0c432da97d761d7955336a80fff2de

9 years agoAdds the random option to cinder retry function
Adriano Rosso [Mon, 10 Aug 2015 19:19:31 +0000 (16:19 -0300)]
Adds the random option to cinder retry function

The current retry functionality in Cinder, always uses fixed
numbers to define the time to wait before performing the next
attempts. This behaviour can make the retries of multiple
requisitions to collide in each attempt as they will wait the
same amount of time and try to use the same resource together
again.

This patch changes the behaviour of cinder.utils.retry() to
receive a parameter that allows the function to implement
randomly generated wait intervals.

Change-Id: If746434e4a19895d649529e9e9f267410a1a1c48
Closes-bug: 1486142

9 years agoMerge "Dell SC: Fix error causing missed log message"
Jenkins [Wed, 19 Aug 2015 09:24:43 +0000 (09:24 +0000)]
Merge "Dell SC: Fix error causing missed log message"

9 years agoMerge "Configure space reservation on NetApp Data ONTAP"
Jenkins [Wed, 19 Aug 2015 07:01:48 +0000 (07:01 +0000)]
Merge "Configure space reservation on NetApp Data ONTAP"

9 years agoMerge "Register the volume_opts config options in remotefs.py"
Jenkins [Wed, 19 Aug 2015 07:01:22 +0000 (07:01 +0000)]
Merge "Register the volume_opts config options in remotefs.py"

9 years agoMerge "LeftHand driver is ignoring reserved_percentage"
Jenkins [Wed, 19 Aug 2015 07:01:10 +0000 (07:01 +0000)]
Merge "LeftHand driver is ignoring reserved_percentage"

9 years agoRemove duplicate keys from dictionary
Yuji Hagiwara [Tue, 18 Aug 2015 05:00:49 +0000 (14:00 +0900)]
Remove duplicate keys from dictionary

There are several places where duplicate keys are added in the dictionary.

Remove all such occurrences throughout the code.

Change-Id: Ib1e6cccb82fdfcde9e3080afca7bebdb61d6f5ad
Closes-Bug: #1485846