]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
8 years agoFix some warnings about 'unused variable' for XIO
Javeme [Tue, 29 Dec 2015 06:57:14 +0000 (14:57 +0800)]
Fix some warnings about 'unused variable' for XIO

Fix some warnings about 'unused variable' in xio driver and xio unit test.

Change-Id: Iab5d81800330e13f72705f8e689bb6b8f5126761

8 years agoMerge "Fix to allow RBD delete an unprotected snapshot"
Jenkins [Tue, 29 Dec 2015 00:04:30 +0000 (00:04 +0000)]
Merge "Fix to allow RBD delete an unprotected snapshot"

8 years agoMerge "Remove the deprecated ibmnas driver"
Jenkins [Tue, 29 Dec 2015 00:03:37 +0000 (00:03 +0000)]
Merge "Remove the deprecated ibmnas driver"

8 years agoMerge "Rename Huawei drivers"
Jenkins [Mon, 28 Dec 2015 23:47:46 +0000 (23:47 +0000)]
Merge "Rename Huawei drivers"

8 years agoMerge "Quota API is now compatible with keystone API v2"
Jenkins [Mon, 28 Dec 2015 23:26:14 +0000 (23:26 +0000)]
Merge "Quota API is now compatible with keystone API v2"

8 years agoMerge "Updated violin driver check for volume objects"
Jenkins [Mon, 28 Dec 2015 23:25:30 +0000 (23:25 +0000)]
Merge "Updated violin driver check for volume objects"

8 years agoMerge "Making NFS _find_share efficient"
Jenkins [Mon, 28 Dec 2015 23:24:47 +0000 (23:24 +0000)]
Merge "Making NFS _find_share efficient"

8 years agoMerge "Do not use api-paste.ini osprofiler options"
Jenkins [Mon, 28 Dec 2015 23:24:05 +0000 (23:24 +0000)]
Merge "Do not use api-paste.ini osprofiler options"

8 years agoMerge "Modify VO so that obj.get always defaults to None"
Jenkins [Mon, 28 Dec 2015 22:46:48 +0000 (22:46 +0000)]
Merge "Modify VO so that obj.get always defaults to None"

8 years agoMerge "Retyping volume got error under max vol limit"
Jenkins [Mon, 28 Dec 2015 22:35:41 +0000 (22:35 +0000)]
Merge "Retyping volume got error under max vol limit"

8 years agoFix to allow RBD delete an unprotected snapshot
Yuriy Nesenenko [Mon, 28 Dec 2015 13:35:47 +0000 (15:35 +0200)]
Fix to allow RBD delete an unprotected snapshot

RBD creates snapshots and marks it as protected. Before deleting,
RBD tries to 'unprotect' a snapshot. In the case when the snapshot
was already marked as 'unprotected' RBD failed to remove it. This
patch allow RBD delete such a snapshot.

Change-Id: Ic1ea72cc107c2eb949c5748a309f0a8956ea8082
Closes-Bug: 1529626

8 years agoMerge "Wrong usage of "a""
Jenkins [Mon, 28 Dec 2015 17:04:22 +0000 (17:04 +0000)]
Merge "Wrong usage of "a""

8 years agoMerge "Add config option to enable reporting discard"
Jenkins [Mon, 28 Dec 2015 16:58:35 +0000 (16:58 +0000)]
Merge "Add config option to enable reporting discard"

8 years agoMerge "Enhance the stats reported from the Pure Volume Drivers"
Jenkins [Mon, 28 Dec 2015 05:41:16 +0000 (05:41 +0000)]
Merge "Enhance the stats reported from the Pure Volume Drivers"

8 years agoRemove the deprecated ibmnas driver
Jay S Bryant [Thu, 17 Dec 2015 17:53:45 +0000 (11:53 -0600)]
Remove the deprecated ibmnas driver

The ibmnas driver has been deprecated since the Liberty release.
In the Liberty release, NFS capabilities were added to the IBM
GPFS driver with commit:  bf4ca3bcf099760ef145571b975badc80d42b2d6 .
The ability for the GPFS driver to use NFS based shares rendered
the ibmnas driver redundant.

This commit removes the ibmnas driver and its tests.  The commit also
updates the opts.py file to remove reference to the ibmnas options.

Release notes are included with this commit.

DocImpact

Change-Id: Iac4a2f1770f7d02979eec1d8d5866d9fc4b6d18c

8 years agoWrong usage of "a"
hgangwx [Sat, 26 Dec 2015 12:45:17 +0000 (20:45 +0800)]
Wrong usage of "a"

Wrong usage of "a" in the mesages:
"Convert list of dicts to a indexted dict"
"Attempt to create a initiatorGroup"
"Return a empty"
"Return a object containing the parsed output"
"where volume is either a dict or a oslo_versionedobject"
"this is a update from legacy driver"

Should be:
"Convert list of dicts to an indexted dict"
"Attempt to create an initiatorGroup"
"Return an empty"
"Return an object containing the parsed output"
"where volume is either a dict or an oslo_versionedobject"
"this is an update from legacy driver"

Totally 6 occasions in Cinder base code.

Change-Id: I209fa7817f531107ae15a980f81c02fe63dd557e

8 years agoRename Huawei drivers
Wilson Liu [Wed, 21 Oct 2015 12:51:59 +0000 (20:51 +0800)]
Rename Huawei drivers

Rename Huawei18000ISCSIDriver and Huawei18000FCDriver
to HuaweiISCSIDriver and HuaweiFCDriver.

DocImpact
Implements: blueprint huawei-driver-rename
Change-Id: I21f5a2d5bbf9a0af9e9b01878c271e9329f44cff

8 years agoMerge "Updated from global requirements"
Jenkins [Wed, 23 Dec 2015 23:38:27 +0000 (23:38 +0000)]
Merge "Updated from global requirements"

8 years agoMerge "Add pagination support to Qos specs"
Jenkins [Wed, 23 Dec 2015 23:15:55 +0000 (23:15 +0000)]
Merge "Add pagination support to Qos specs"

8 years agoMerge "Backup snapshots"
Jenkins [Wed, 23 Dec 2015 20:29:22 +0000 (20:29 +0000)]
Merge "Backup snapshots"

8 years agoMerge "Update Pure REST API supported version numbers in Pure driver"
Jenkins [Wed, 23 Dec 2015 20:29:03 +0000 (20:29 +0000)]
Merge "Update Pure REST API supported version numbers in Pure driver"

8 years agoMerge "Remove API races from attach and detach methods"
Jenkins [Wed, 23 Dec 2015 20:28:53 +0000 (20:28 +0000)]
Merge "Remove API races from attach and detach methods"

8 years agoMerge "Storwize: Split up __init__ into separate files"
Jenkins [Wed, 23 Dec 2015 18:09:35 +0000 (18:09 +0000)]
Merge "Storwize: Split up __init__ into separate files"

8 years agoMerge "Replace use of mox with mock in test_quotas"
Jenkins [Wed, 23 Dec 2015 18:04:42 +0000 (18:04 +0000)]
Merge "Replace use of mox with mock in test_quotas"

8 years agoRemove API races from attach and detach methods
Gorka Eguileor [Fri, 21 Aug 2015 17:13:50 +0000 (19:13 +0200)]
Remove API races from attach and detach methods

This patch uses compare-and-swap to perform atomic DB changes to remove
API races in attach and detach related methods.

Races are removes from the following methods:
- attach
- roll_detaching
- begin_detaching
- unreserve_volume
- reserve_volume

Specs: https://review.openstack.org/232599/

Implements: blueprint cinder-volume-active-active-support
Closes-Bug: #1238093
Change-Id: I646d946209e0921d1056ee89e59b82b814bf9c15

8 years agoQuota API is now compatible with keystone API v2
Szymon Borkowski [Thu, 17 Dec 2015 12:18:31 +0000 (13:18 +0100)]
Quota API is now compatible with keystone API v2

Before, the quota API used to fail to perform calls with specified
keystone API v2, because the keystone client used in code was set
to v3 and all quota operations used to assume that the user would
use only keystone API v3.
Now, we use the generic client, which discovers the version of the
keystone API, so depending on that, the quota API can perform
appropriate operations.

Change-Id: I32595a37a9fe74ede77c92f76e0865f4c9371f65
Closes-Bug: 1517043

8 years agoAdd pagination support to Qos specs
wangxiyuan [Mon, 14 Dec 2015 08:27:48 +0000 (16:27 +0800)]
Add pagination support to Qos specs

In Liberty release, we have added pagination to backups
and snapshot. There are still some work that hasn't been
done yet.
This patch add pagination support to Qos specs.

APIImpact
DocImpact

Implements: blueprint add-pagination-to-other-resource

Change-Id: I1965c8be6b4415ff99fb50e05e77f791f3ff5942

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Wed, 23 Dec 2015 06:27:12 +0000 (06:27 +0000)]
Imported Translations from Zanata

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: If78879ba8b2f4cf9b62c33c24c5f8935f07161f8

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Wed, 23 Dec 2015 00:31:54 +0000 (00:31 +0000)]
Updated from global requirements

Change-Id: I66e02ccb6d54acbae786e2aeed3df1518d7370fa

8 years agoMerge "Fix volume upload failure with glance_api_version=2"
Jenkins [Wed, 23 Dec 2015 00:28:31 +0000 (00:28 +0000)]
Merge "Fix volume upload failure with glance_api_version=2"

8 years agoEnhance the stats reported from the Pure Volume Drivers
Patrick East [Thu, 17 Dec 2015 23:28:16 +0000 (15:28 -0800)]
Enhance the stats reported from the Pure Volume Drivers

This change provides some improvements for older scheduler hints and
stats along with a few new stats that can be used for filtering and
goodness functions. These new stats include:

Latency:
    usec_per_read_op  - Average arrival-to-completion time, measured in
                        microseconds, for a host read operation.
    usec_per_write_op - Average arrival-to-completion time, measured in
                        microseconds, for a host write operation.
    queue_depth       - Average number of queued I/O requests.

IOPS:
    reads_per_sec  - Number of read requests processed per second.
    writes_per_sec - Number of write requests processed per second.
                     Bandwidth
    input_per_sec  - Number of bytes read per second.
    output_per_sec - Number of bytes written per second.

Metadata:
    total_hosts     - Total number of Purity hosts created.
    total_snapshots - Total number of snapshots (includes pending
                      deletion).
    total_pgroups   - Total number of Protection Groups (includes
                      pending deletion).

Note: All of these stats are for the entire array and are not specific
to the Cinder volumes, snapshots, hosts, latency, etc.

As part of the new and improved stats the drivers will respect the
cinder.conf backend “reserved_percentage” option. Previously it was set
to 0.

Last but not least there is a new config option called
“pure_automatic_max_oversubscription_ratio”. This defaults to True, and
when enabled gives the older behavior of automatically calculating the
thin provisioning ratio which was allowed for the backend. If disabled
the driver will now respect the “max_over_subscription_ratio” config
option.

DocImpact
Change-Id: I733f4f90addc39f4c1b720ce63100b15b0523b3e
Implements: blueprint pure-enhanced-stats

8 years agoMerge "NetApp: Refactor E-Series tests"
Jenkins [Tue, 22 Dec 2015 19:48:46 +0000 (19:48 +0000)]
Merge "NetApp: Refactor E-Series tests"

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Tue, 22 Dec 2015 06:20:53 +0000 (06:20 +0000)]
Imported Translations from Zanata

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I90ef57d11600ed766d7faad931d7fd31ab3f771f

8 years agoRetyping volume got error under max vol limit
wanghao [Sat, 10 Oct 2015 03:18:02 +0000 (11:18 +0800)]
Retyping volume got error under max vol limit

After reaching the max volume limit and
retyping one of volumes, cinder will raise
error: "VolumeLimitExceeded".

This error shouldn't be occurring since the
volume type limit is -1 and retyping doesn't
change the volume quota, it changes the volume
type quota.

Change-Id: I5f25c47158ac24bef94078457a84248daa67e80f
Closes-Bug: #1504719

8 years agoMerge "Move retype quota checks to API"
Jenkins [Tue, 22 Dec 2015 01:51:12 +0000 (01:51 +0000)]
Merge "Move retype quota checks to API"

8 years agoMerge "XtremIO: fix generic glance cache with XtremIO"
Jenkins [Mon, 21 Dec 2015 20:18:05 +0000 (20:18 +0000)]
Merge "XtremIO: fix generic glance cache with XtremIO"

8 years agoMerge "Add serial number to eseries ASUP payload"
Jenkins [Mon, 21 Dec 2015 20:17:55 +0000 (20:17 +0000)]
Merge "Add serial number to eseries ASUP payload"

8 years agoMerge "Add empty initialize_connection method to PureBaseVolumeDriver"
Jenkins [Mon, 21 Dec 2015 20:17:45 +0000 (20:17 +0000)]
Merge "Add empty initialize_connection method to PureBaseVolumeDriver"

8 years agoMerge "VNX: Fix failure in SnapCopy feature"
Jenkins [Mon, 21 Dec 2015 20:17:29 +0000 (20:17 +0000)]
Merge "VNX: Fix failure in SnapCopy feature"

8 years agoMerge "Port zonemanager to Python 3"
Jenkins [Mon, 21 Dec 2015 20:17:20 +0000 (20:17 +0000)]
Merge "Port zonemanager to Python 3"

8 years agoMerge "Remove downgrade migrations"
Jenkins [Mon, 21 Dec 2015 20:17:10 +0000 (20:17 +0000)]
Merge "Remove downgrade migrations"

8 years agoMerge "Fix python 3.x import issues with pure.py"
Jenkins [Mon, 21 Dec 2015 18:24:29 +0000 (18:24 +0000)]
Merge "Fix python 3.x import issues with pure.py"

8 years agoAdd config option to enable reporting discard
Patrick East [Thu, 17 Dec 2015 00:59:51 +0000 (16:59 -0800)]
Add config option to enable reporting discard

The way for a client of Cinder (read: Nova) to know whether or not it
can and should use the discard feature for the block device attachment
is to report back discard=True in the connection info. Previously a
driver would need to be updated to provide this functionality, which is
kind of a pain with so many drivers in Cinder.

This change adds a shared boolean config option called
‘report_discard_supported’ which can be set to enable reporting this
functionality to the caller of initialize_connection.

DocImpact
Change-Id: I078e74583621316bcfe138096507e7d22af0d712
Implements: blueprint discard-config-option

8 years agoStorwize: Split up __init__ into separate files
Jacob Gregor [Fri, 18 Dec 2015 16:27:02 +0000 (10:27 -0600)]
Storwize: Split up __init__ into separate files

This patch is one in a series of patches with the aim to
bring the storwize_svc driver in line with other san based
Cinder drivers.

Currently all the iSCSI and FC code are all together in a single
file. This patch goes into the __init__.py and splits it up into
storwize_svc_iscsi.py, storwize_svc_fc.py, and storwize_svc_common.py.
This new structure is consistent with other san based drivers.

In addition, tests were also updated to reflect the changes listed
above.

Since the driver has been split into two, we need to update how
to enable each new driver. The user now needs to set different
values for volume_driver, as shown below.

FC:volume_driver=cinder.volume.drivers.ibm.storwize_svc.storwize_svc_fc.StorwizeSVCFCDriver
iSCSI:volume_driver=cinder.volume.drivers.ibm.storwize_svc.storwize_svc_iscsi.StorwizeSVCISCSIDriver

Co-Authored By: Slade Baumann <baumann@us.ibm.com>

UpgradeImpact

DocImpact

Partially implements: blueprint refactor-storwize-driver-for-mitaka

Change-Id: I18ddde5c9280a175a4ca296e62ac839389e16c3b

8 years agoMerge "Recalculate allocated value of parent project"
Jenkins [Mon, 21 Dec 2015 13:24:39 +0000 (13:24 +0000)]
Merge "Recalculate allocated value of parent project"

8 years agoMerge "Fix bugs caused by porting to python3"
Jenkins [Mon, 21 Dec 2015 13:07:58 +0000 (13:07 +0000)]
Merge "Fix bugs caused by porting to python3"

8 years agoMerge "VMware: Add support for VVOL datastores"
Jenkins [Mon, 21 Dec 2015 12:57:37 +0000 (12:57 +0000)]
Merge "VMware: Add support for VVOL datastores"

8 years agoFix volume upload failure with glance_api_version=2
Tomoki Sekiyama [Fri, 18 Dec 2015 11:38:36 +0000 (20:38 +0900)]
Fix volume upload failure with glance_api_version=2

When the volume has additional image properties, upload-to-image
using glance API version 2 will fail with the following error.

  Failed validation u'type' in schema[u'additionalProperties']:
      {u'type': u'string'}

This is due to non core properties passed as a dict to the key
'properties'. It is valid in Image API v1, but the additional
properties must be passed just like core properties in v2.

Change-Id: Ib32c92a8be170b5f43a34e69155398dfc1a8cbcd
Closes-Bug: #1527324

8 years agoMerge "Disable capabilities based on 3PAR licenses"
Jenkins [Sun, 20 Dec 2015 20:28:54 +0000 (20:28 +0000)]
Merge "Disable capabilities based on 3PAR licenses"

8 years agoFix bugs caused by porting to python3
abhiram moturi [Sat, 19 Dec 2015 17:31:10 +0000 (17:31 +0000)]
Fix bugs caused by porting to python3

In previous python version base64.encodestring() adds '\n'.
at the end. This is removed when we use oslo encode_as_text()
This causes a regression as we manually removed the last
character earlier. This fix removes manually deleting the
last character.

Change-Id: I746c9435e7b4ec2e8af831d46f708c152dffba4d
Closes-Bug: #1527841

8 years agoMerge "Imported Translations from Zanata"
Jenkins [Sat, 19 Dec 2015 15:30:13 +0000 (15:30 +0000)]
Merge "Imported Translations from Zanata"

8 years agoMerge "3PAR: Implement un/manage snapshot support"
Jenkins [Sat, 19 Dec 2015 10:01:22 +0000 (10:01 +0000)]
Merge "3PAR: Implement un/manage snapshot support"

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Sat, 19 Dec 2015 06:26:58 +0000 (06:26 +0000)]
Imported Translations from Zanata

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: Ie1edf799e1fff0ae4e9eced4ac2fd6dbc583f06b

8 years agoMerge "Updated from global requirements"
Jenkins [Sat, 19 Dec 2015 00:44:24 +0000 (00:44 +0000)]
Merge "Updated from global requirements"

8 years agoDisable capabilities based on 3PAR licenses
Kurt Martin [Wed, 16 Dec 2015 23:37:45 +0000 (15:37 -0800)]
Disable capabilities based on 3PAR licenses

The 3PAR firmware is now reporting which licenses are enabled on the
storage array. The 3PAR drivers will now use this information to
enable/disable standard stat reporting for thin provisioning,
QoS support and replication

DocImpact

Implements: blueprint 3par-license-check
Change-Id: Ib5fb06b1c029d026f6f38fa3fdf7d62c2005c06e

8 years agoAdd empty initialize_connection method to PureBaseVolumeDriver
Patrick East [Fri, 18 Dec 2015 20:35:42 +0000 (12:35 -0800)]
Add empty initialize_connection method to PureBaseVolumeDriver

This will clean up a weird workaround needed for the unit tests…

Change-Id: Ie3db74516c74d15237617ac741d3061bd46212d2
Closes-Bug: 1527739

8 years agoMerge "Preserve request id in Cinder logs"
Jenkins [Fri, 18 Dec 2015 22:03:58 +0000 (22:03 +0000)]
Merge "Preserve request id in Cinder logs"

8 years agoFix python 3.x import issues with pure.py
Patrick East [Fri, 18 Dec 2015 21:48:49 +0000 (13:48 -0800)]
Fix python 3.x import issues with pure.py

The older import was not compatible with python 3.x, only 2.x. A simple
fix is to adjust how we are importing the module.

Change-Id: Ic1d69c676af1adde9bd305431338c16a058fccf6
Closes-Bug: 1527755

8 years agoMerge "Override osapi_volume_listen_port for test_workers"
Jenkins [Fri, 18 Dec 2015 21:03:52 +0000 (21:03 +0000)]
Merge "Override osapi_volume_listen_port for test_workers"

8 years agoMerge "3PAR: Implement v2 replication (unmanaged)"
Jenkins [Fri, 18 Dec 2015 17:57:06 +0000 (17:57 +0000)]
Merge "3PAR: Implement v2 replication (unmanaged)"

8 years agoOverride osapi_volume_listen_port for test_workers
Mitsuhiro Tanino [Fri, 18 Dec 2015 16:02:27 +0000 (11:02 -0500)]
Override osapi_volume_listen_port for test_workers

After removing WSGI from Cinder, following test cases hit
"socket.error: [Errno 98] Address already in use" error.

- test_workers_set_default
- test_workers_set_good_user_setting
- test_workers_set_zero_user_setting

The root cause is that these test cases try to use 8776 port,
but the port is used by c-api if the service exists.
This patch override default port number to avoid the error.

Change-Id: I8e2b505c2aff511969cd55851272b10c013aef6c
Closes-Bug: #1527566

8 years agoMerge "Error handling for invalid SLO/Workload combo"
Jenkins [Fri, 18 Dec 2015 15:29:25 +0000 (15:29 +0000)]
Merge "Error handling for invalid SLO/Workload combo"

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Fri, 18 Dec 2015 13:48:19 +0000 (13:48 +0000)]
Updated from global requirements

Change-Id: I04b49cafc2094a1c916a242efc75a5db6cb84bd2

8 years agoRemove downgrade migrations
Ivan Kolodyazhny [Thu, 17 Dec 2015 11:15:57 +0000 (13:15 +0200)]
Remove downgrade migrations

According to cross project spec[1] downgrade migrations should be removed.

[1] I622f89fe63327d44f9b229d3bd9e76e15acbaa7a

Implements blueprint: no-downward-sql-migration

Change-Id: I111cdb4bba361de5da0ce7db8144965c947ada41

8 years agoMerge "Imported Translations from Zanata"
Jenkins [Fri, 18 Dec 2015 03:04:14 +0000 (03:04 +0000)]
Merge "Imported Translations from Zanata"

8 years agoMerge "Tooz locks"
Jenkins [Fri, 18 Dec 2015 02:32:31 +0000 (02:32 +0000)]
Merge "Tooz locks"

8 years ago3PAR: Implement un/manage snapshot support
Anthony Lee [Sat, 5 Dec 2015 00:27:14 +0000 (16:27 -0800)]
3PAR: Implement un/manage snapshot support

Implements support for managing and unmanaging snapshots to
the HPE 3PAR FC and iSCSI drivers.

This patch now allows snapshots to be removed from OpenStack
management but still left on the 3PAR backend. Snapshots on
the 3PAR backend can also be managed by OpenStack.

DocImpact
Implements: blueprint 3par-manage-unmanage-snapshot
Change-Id: I7f5847cefc983726eac8b0eaa57b63ddb9078ebd

8 years agoMerge "Pass volume_id in request_spec for manage_existing"
Jenkins [Thu, 17 Dec 2015 22:05:29 +0000 (22:05 +0000)]
Merge "Pass volume_id in request_spec for manage_existing"

8 years agoMerge "Change the format of some inconsistent docstring"
Jenkins [Thu, 17 Dec 2015 22:00:08 +0000 (22:00 +0000)]
Merge "Change the format of some inconsistent docstring"

8 years agoError handling for invalid SLO/Workload combo
Helen Walsh [Thu, 5 Nov 2015 13:33:34 +0000 (13:33 +0000)]
Error handling for invalid SLO/Workload combo

This fix checks the VMAX3 to see if the user inputted SLO/workload
combination is valid. If it is not, a explanatory exception is
thrown.

Closes-Bug: #1512795

Change-Id: Ic55830eef96788eff8f6ab141a60e1dcfb9971b8

8 years ago3PAR: Implement v2 replication (unmanaged)
Alex O'Rourke [Thu, 29 Oct 2015 22:04:32 +0000 (15:04 -0700)]
3PAR: Implement v2 replication (unmanaged)

This patch implements the unmanaged side of v2 replication in the HPE
3PAR driver.

Both sync and periodic replication modes are supported. Each
replication_device entry should have a replication_mode value set
to sync|periodic.

A volume type extra_spec value of replication:mode
should also be set. If replication:mode is periodic,
replication:sync_period should be set as well. Which replication_device
entry(s) are used is determined by the value of replication:mode set for
each volume type.

cinder.conf should have the replication config group:

[3parfcrep]
hpe3par_api_url = http://10.10.10.10:8008/api/v1
hpe3par_username = user
hpe3par_password = pass
hpe3par_debug = False
san_ip = 10.10.10.10
san_login = user
san_password = pass
volume_backend_name = 3parfcrep
hpe3par_cpg = REMOTE_COPY_CPG2,REMOTE_COPY_CPG
volume_driver = cinder.volume.drivers.hpe.hpe_3par_fc.HPE3PARFCDriver
replication_device = target_device_id:eos7,
                     replication_mode:periodic,
                     cpg_map:REMOTE_COPY_CPG2:REMOTE_COPY_DEST2,
                     hpe3par_api_url:http://11.11.11.11:8008/api/v1,
                     hpe3par_username:user,
                     hpe3par_password:pass,
                     san_ip:11.11.11.11,
                     san_login:user,
                     san_password:pass

If we are working with iSCSI, the unmanaged replication device needs to
contain entries for the hpe3par_iscsi_ips as such:

[3pariscsirep]
hpe3par_api_url = https://10.10.10.10:8080/api/v1
hpe3par_username = user
hpe3par_password = pass
hpe3par_debug = False
hpe3par_iscsi_ips = 10.50.50.50,10.50.50.51
san_ip = 10.10.10.10
san_login = user
san_password = pass
volume_backend_name = 3pariscsirep
hpe3par_cpg = REMOTE_COPY_CPG2
iscsi_ip_address = 10.50.50.50
volume_driver = cinder.volume.drivers.hpe.hpe_3par_iscsi.HPE3PARISCSIDriver
replication_device = replication_mode:periodic,
                     target_device_id:eos16,
                     cpg_map:REMOTE_COPY_CPG2:REMOTE_COPY_DEST2,
                     hpe3par_api_url:https://11.11.11.11:8080/api/v1,
                     hpe3par_username:user,
                     hpe3par_password:pass,
                     san_ip:11.11.11.11,
                     san_login:user,
                     san_password:pass,
                     hpe3par_iscsi_ips:11.51.51.100 11.51.51.101,
                     iscsi_ip_address:11.51.51.100

Change-Id: I92bbe919c177e8242de8affad62f36a6edf7b0d7
Implements: blueprint hp-3par-v2-replication
DocImpact

8 years agoAdd serial number to eseries ASUP payload
Mike Rooney [Fri, 4 Dec 2015 17:14:45 +0000 (12:14 -0500)]
Add serial number to eseries ASUP payload

Single field added to AutoSupport data key-value pair.
AutoSupport is a mechanism that allows NetApp backends
to report customer usage metrics.

Change-Id: I4c1dae89505767acd579e874fbe541d4617915f2

8 years agoXtremIO: fix generic glance cache with XtremIO
Shay Halsband [Thu, 19 Nov 2015 13:51:31 +0000 (15:51 +0200)]
XtremIO: fix generic glance cache with XtremIO

* Identify the apropriate error for snapshot limit from the array
  and raise the right error to invalidate the cache.
* Add an optional limit to the number of snapshot taken from the
  volume representing a cached image
* Add unittest for snapshot limit

DocImpact

Change-Id: Ic15257c9409373a4883870681d1412161cd3437c
Closes-Bug: #1519843

8 years agoVMware: Add support for VVOL datastores
Vipin Balachandran [Thu, 17 Dec 2015 07:57:47 +0000 (23:57 -0800)]
VMware: Add support for VVOL datastores

vCenter 6.0 added support for a new type of datastore called VVOL
datastore. A VVOL datastore represents a storage container which
is a logical grouping of virtual volumes in an array that supports
VVOL. A virtual disk in a VVOL datastore corresponds to a virtual
volume in the array. Since VVOL datastores are treated like VMFS
or NFS datastores by vCenter APIs, the changes in the VMDK driver
to support VVOL datastores are minimal.

This patch adds the following changes in the VMDK driver to support
VVOL datastores:

* Add VVOL datastore type to the list of allowed datastore types

* Skip VVOL datastore while creating a volume from a preallocated
glance image because it involves replacing the data file of a
temporary virtual disk with the downloaded preallocated image
which VVOL cannot support.

Implements: blueprint vmdk-vvol-support
Change-Id: I528e4caed616dfd9bd85c7de113024bea6709fc1

8 years agoMerge "Add volume_extensions:quotas:delete to policy.json"
Jenkins [Thu, 17 Dec 2015 11:02:32 +0000 (11:02 +0000)]
Merge "Add volume_extensions:quotas:delete to policy.json"

8 years agoTooz locks
Szymon Wróblewski [Fri, 15 May 2015 14:13:32 +0000 (16:13 +0200)]
Tooz locks

This change adds support for distributed locks, based on tooz as a part
of work required to achieve A/A HA in c-vol service.

Co-Authored-By: Gorka Eguileor <geguileo@redhat.com>
Co-Authored-By: Michal Dulko <michal.dulko@intel.com>
Implements: blueprint cinder-volume-active-active-support
Depends-On: I86fa4340f850270b197919896b7f8639c214ceed
Change-Id: I52b8d0a05a3dbedc67f3725f9ba6d009b8d1858f

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Thu, 17 Dec 2015 06:24:21 +0000 (06:24 +0000)]
Imported Translations from Zanata

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: Ib8491fcd274b95e8f8058b4213cf1f6e2b6ecc62

8 years agoMerge "Check backup service before backup delete"
Jenkins [Thu, 17 Dec 2015 04:28:13 +0000 (04:28 +0000)]
Merge "Check backup service before backup delete"

8 years agoMaking NFS _find_share efficient
apoorvad [Tue, 15 Dec 2015 19:27:42 +0000 (11:27 -0800)]
Making NFS _find_share efficient

NfsDriver's _find_share calls self._is_share_eligible, which calls
get_capacity_info(). Then, it calls get_capacity_info() itself.

The method is optimized to not call underlying get_capacity_info()
twice.

Change-Id: I07a0601b9d902e54f84540f05cdadd5587522643
Closes-Bug: #1507682

8 years agoMerge "EMC VMAX - get_short_host_name not called in find_device_number"
Jenkins [Wed, 16 Dec 2015 22:44:05 +0000 (22:44 +0000)]
Merge "EMC VMAX - get_short_host_name not called in find_device_number"

8 years agoChange the format of some inconsistent docstring
sparkliu [Wed, 16 Dec 2015 17:49:43 +0000 (09:49 -0800)]
Change the format of some inconsistent docstring

Replace all the ":return:" with ":returns:"
Replace all the ":returns " wtih ":returns:"
Replace all the ":returns :" with ":returns:"

Add the changes for ":raise" also, change ":raise" to ":raise:"

Change-Id: Ib29fbb583dc2dad5d084c44d4172d6ddfa5f7458

8 years agoPreserve request id in Cinder logs
Samuel Matzek [Wed, 18 Nov 2015 19:40:42 +0000 (13:40 -0600)]
Preserve request id in Cinder logs

Several Cinder volume drivers make calls to get the admin context.
When the admin context is retrieved the user context and its request
ID is lost and all subsequent log entries have different request IDs.

The fix is to pass the overwrite parameter in Cinder's RequestContext
__init__ method to the parent oslo class.

Partial-Bug: #1511406

Change-Id: I8972b46f15518f22dc9bb340d7c1ba08be1fa2bc

8 years agoAdd volume_extensions:quotas:delete to policy.json
Michał Dulko [Wed, 16 Dec 2015 15:19:42 +0000 (16:19 +0100)]
Add volume_extensions:quotas:delete to policy.json

Aformentioned entry was missing from default policy.json file, so the
call wasn't blocked for non-admin user. It was failing on Keystone
connection and resulted in 500 HTTP error. This addition fixes the
issue.

Closes-Bug: 1526839
Change-Id: Ib26670ea60b3e9193d91183aee35cd8aaf733068

8 years agoPass volume_id in request_spec for manage_existing
Michał Dulko [Wed, 16 Dec 2015 12:08:01 +0000 (13:08 +0100)]
Pass volume_id in request_spec for manage_existing

In order to _set_volume_state_and_notify in scheduler.manager to work
correctly and error out volume on failure we need to pass volume_id in
the request_spec from c-api to c-sch. This commit implements that and
adds check for it in the unit tests for manage_existing flow.

Apart from that it removes unnecessary test that was setting volume to
MagicMock(return_value=None), which isn't actually testing anything
(volume() will return None, but we're never doing calls on volume
object).

Closes-Bug: 1526771
Change-Id: I93e16e281e952433870077309547e0ce09356a60

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Wed, 16 Dec 2015 06:24:58 +0000 (06:24 +0000)]
Imported Translations from Zanata

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I96a96b35d20ab2c47ab4f2163e8c99f3e38f8838

8 years agoModify VO so that obj.get always defaults to None
Ryan McNair [Wed, 16 Dec 2015 04:10:37 +0000 (04:10 +0000)]
Modify VO so that obj.get always defaults to None

Currently, CinderObjectDictCompat.get will default to None if a field
is not in the object, however if a field is present in the object
but the value is not yet set we get an error instead of None. To be
consistent with dict.get() we should default to None if the field
is not present or not set.

Change-Id: Id87efeaaeb2fb44960d8d0df9aa854dd156bff45

8 years agoMerge "Implement refresh() for cinder objects"
Jenkins [Tue, 15 Dec 2015 22:16:32 +0000 (22:16 +0000)]
Merge "Implement refresh() for cinder objects"

8 years agoMerge "Skip check whether volume is local if it's None"
Jenkins [Tue, 15 Dec 2015 22:15:24 +0000 (22:15 +0000)]
Merge "Skip check whether volume is local if it's None"

8 years agoMerge "Volume migration: add 'name_id' as valid skippable field"
Jenkins [Tue, 15 Dec 2015 21:54:39 +0000 (21:54 +0000)]
Merge "Volume migration: add 'name_id' as valid skippable field"

8 years agoMerge "Imported Translations from Zanata"
Jenkins [Tue, 15 Dec 2015 21:09:39 +0000 (21:09 +0000)]
Merge "Imported Translations from Zanata"

8 years agoMerge "Sheepdog: Fix a problem about multi backend"
Jenkins [Tue, 15 Dec 2015 20:52:33 +0000 (20:52 +0000)]
Merge "Sheepdog: Fix a problem about multi backend"

8 years agoReplace use of mox with mock in test_quotas
Yuriy Nesenenko [Fri, 11 Dec 2015 13:07:10 +0000 (15:07 +0200)]
Replace use of mox with mock in test_quotas

This patch replaces the remaining cases of mox with mock in
test_quotas.py and test_quotas_classes.py

Change-Id: Ia417a3dcffc1ba4988853ff5768df9ee4fbcf92f
Partial-Implements: blueprint mox-to-mock-conversion

8 years agoSkip check whether volume is local if it's None
peter_wang [Mon, 14 Dec 2015 03:37:41 +0000 (22:37 -0500)]
Skip check whether volume is local if it's None

When force deleting a consistency group containing volumes,
manager.py tries to extract host field to check whether the volume
is local to this cinder node before deleting the volume.

Above logic is invalid if host field of faulted volume is None.

This fix will bypass above check to allow deletion of the volume.

Change-Id: I477c80c21c0b554b69c6222fb4fb0461813ac2bb
Closes-Bug: 1524195

8 years agoMerge "Implement snapshots-related features for Block Device Driver"
Jenkins [Tue, 15 Dec 2015 07:21:49 +0000 (07:21 +0000)]
Merge "Implement snapshots-related features for Block Device Driver"

8 years agoMerge "Add synchronization in Block Device driver"
Jenkins [Tue, 15 Dec 2015 07:21:26 +0000 (07:21 +0000)]
Merge "Add synchronization in Block Device driver"

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Tue, 15 Dec 2015 06:27:06 +0000 (06:27 +0000)]
Imported Translations from Zanata

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I06c4f233036c6d019011eeded2ea767beb4cdb92

8 years agoMerge "Refactor cinder.utils.is_valid_boolstr"
Jenkins [Tue, 15 Dec 2015 06:00:40 +0000 (06:00 +0000)]
Merge "Refactor cinder.utils.is_valid_boolstr"

8 years agoImplement refresh() for cinder objects
Thang Pham [Tue, 24 Nov 2015 04:12:03 +0000 (20:12 -0800)]
Implement refresh() for cinder objects

The following patch implements the refresh functionality
in cinder objects.  Instead of calling get_by_id() to get
the latest object attributes, refresh() can be called.
With this change, delete_volume() was updated to use
volume.refresh().

Change-Id: If0573f1c44c2e67c9a8cbd88dda45310a02e3272
Partial-Implements: blueprint cinder-objects

8 years agoMerge "Updated from global requirements"
Jenkins [Tue, 15 Dec 2015 03:23:04 +0000 (03:23 +0000)]
Merge "Updated from global requirements"

8 years agoEMC VMAX - get_short_host_name not called in find_device_number
Helen Walsh [Tue, 1 Dec 2015 22:38:33 +0000 (22:38 +0000)]
EMC VMAX - get_short_host_name not called in find_device_number

The get_short_host_name needs to be called in find_device_number.
There are 2 reasons for this:
1. Sometimes the full host name is contained in the
   connector['host'] object.
2. When the short host name still exceeds 38 characters,
   it must be truncated, in order to guarantee a "contains string"
   match between the host and the masking view name.

Change-Id: I9631f33eafe2cfb64388d8e19c6ed8d1e948a6fa
Closes-Bug: #1520635