]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
8 years agoEMC ScaleIO - fix bug in extend volume
Matan Sabag [Sat, 30 Jan 2016 22:09:27 +0000 (14:09 -0800)]
EMC ScaleIO - fix bug in extend volume

Our storage system works in 8GB granularity.
If User extends volume from X to Y while X==Y(mod 8)
it is redundant and fails the REST call.

DocImpact
Closes-Bug: #1539099

Change-Id: I75bc5bbffa506c4cb29d9741f8f54874290c0101

8 years agoMerge "Sheepdog: Fix malformed image url format"
Jenkins [Mon, 15 Feb 2016 19:13:00 +0000 (19:13 +0000)]
Merge "Sheepdog: Fix malformed image url format"

8 years agoMerge "Port utils.safe_minidom_parse_string() to Python 3"
Jenkins [Mon, 15 Feb 2016 19:05:22 +0000 (19:05 +0000)]
Merge "Port utils.safe_minidom_parse_string() to Python 3"

8 years agoMerge "Support for consistency groups in ScaleIO driver"
Jenkins [Mon, 15 Feb 2016 18:55:41 +0000 (18:55 +0000)]
Merge "Support for consistency groups in ScaleIO driver"

8 years agoMerge "Huawei: Implement v2 replication (managed)"
Jenkins [Mon, 15 Feb 2016 17:59:28 +0000 (17:59 +0000)]
Merge "Huawei: Implement v2 replication (managed)"

8 years agoMerge "RBD: use versioned objects"
Jenkins [Mon, 15 Feb 2016 17:14:20 +0000 (17:14 +0000)]
Merge "RBD: use versioned objects"

8 years agoMerge "Updated from global requirements"
Jenkins [Mon, 15 Feb 2016 17:00:24 +0000 (17:00 +0000)]
Merge "Updated from global requirements"

8 years agoMerge "Fix 'asert' typo in unit test"
Jenkins [Mon, 15 Feb 2016 16:42:22 +0000 (16:42 +0000)]
Merge "Fix 'asert' typo in unit test"

8 years agoSheepdog: Fix malformed image url format
YAMADA Hideki [Mon, 15 Feb 2016 08:49:45 +0000 (08:49 +0000)]
Sheepdog: Fix malformed image url format

The image url format is defined in glance_store as
"sheepdog://addr:port:image".

Change-Id: I71f3e4bf75dd6fdfd77ab8bf2afcd43e0eba2d44
Closes-Bug: 1545603
Signed-off-by: YAMADA Hideki <yamada.hideki@lab.ntt.co.jp>
8 years agoMerge "Log stack trace for middleware faults"
Jenkins [Mon, 15 Feb 2016 07:16:34 +0000 (07:16 +0000)]
Merge "Log stack trace for middleware faults"

8 years agoMerge "Don't use Mock.called_once_with that does not exist"
Jenkins [Mon, 15 Feb 2016 07:15:11 +0000 (07:15 +0000)]
Merge "Don't use Mock.called_once_with that does not exist"

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Sun, 14 Feb 2016 23:06:38 +0000 (23:06 +0000)]
Updated from global requirements

Change-Id: I55bcdd350571a96e5bdefb5a820fe84a633f63cf

8 years agoMerge "Fix dynamic import of CONF.volume_api_class"
Jenkins [Sun, 14 Feb 2016 16:51:08 +0000 (16:51 +0000)]
Merge "Fix dynamic import of CONF.volume_api_class"

8 years agoMerge "Update db in CGSnapshot create"
Jenkins [Sun, 14 Feb 2016 16:50:24 +0000 (16:50 +0000)]
Merge "Update db in CGSnapshot create"

8 years agoSupport for consistency groups in ScaleIO driver
Matan Sabag [Mon, 18 Jan 2016 14:35:25 +0000 (06:35 -0800)]
Support for consistency groups in ScaleIO driver

Add support for all consistency groups functionalities
in ScaleIO driver.
Also fixed a small mistake in a test regarding deleting a snapshot.

DocImpact
Implements: blueprint scaleio-consistency-groups
Change-Id: Id8b52aeb546f9f5fa68b98a4e59bd3f12e78bbef

8 years agoFix 'asert' typo in unit test
Tom Barron [Fri, 12 Feb 2016 16:48:16 +0000 (11:48 -0500)]
Fix 'asert' typo in unit test

The dellscapi unit tests contain two occurences of an
apparent typo, 'mock_get_volume_list.asert_called_once_with'.
Because mock will magically create an 'asert_called_once_with'
method, this typo masks a problem with the test_manage_unmanage
test where the wrong set of arguments is expected.

This commit substitutes 'assert' for 'asert' in these occurences
and fixes up the test_manage_unmanage test.

Change-Id: I0f1b370ef61b28a46ab48d40595c79ec13e359f8

8 years agoFix dynamic import of CONF.volume_api_class
Cory Stone [Mon, 8 Feb 2016 17:22:59 +0000 (11:22 -0600)]
Fix dynamic import of CONF.volume_api_class

Modifies the import to actually happen when API() is called instead of
when the module is loaded.

This is necessary because CONF.volume_api_class is always evaluated as
the default value since the config file hadn't been parsed yet when the
module is loaded.

Nova fixed this problem a while ago for the compute driver in
https://review.openstack.org/#/c/14353/.

Change-Id: I4c3d6b4300298ad0ac4e40a7a1a815cbf88bb151
Closes-Bug: #1543219

8 years agoManage/unmanage volume in ScaleIO driver
Xing Yang [Sun, 22 Nov 2015 03:19:12 +0000 (22:19 -0500)]
Manage/unmanage volume in ScaleIO driver

Add support for manage/unmanage volume in the ScaleIO driver.

Also fixed an error code for volume not found.

DocImpact
Implements: blueprint scaleio-manage-existing
Closes-Bug: #1545023
Change-Id: I14ad94905aaa7ea2bef7c75011a40c5d057e1cc0

8 years agoMerge "XtremIO: FC initialize connection failed"
Jenkins [Fri, 12 Feb 2016 06:00:24 +0000 (06:00 +0000)]
Merge "XtremIO: FC initialize connection failed"

8 years agoDon't use Mock.called_once_with that does not exist
Javeme [Thu, 11 Feb 2016 12:09:41 +0000 (20:09 +0800)]
Don't use Mock.called_once_with that does not exist

class mock.Mock does not exist method called_once_with, it just exists
method assert_called_once_with. Currently there are still ome places
where we use called_once_with method, this patch let's correct it.

NOTE: called_once_with() does nothing because it's a mock object.

Closes-Bug: #1544522
Change-Id: Iac7c029a1cc66439f43d441bc6d0832686536961

8 years agoMerge "Tests: Fix calls to non-existent assert methods"
Jenkins [Fri, 12 Feb 2016 00:04:57 +0000 (00:04 +0000)]
Merge "Tests: Fix calls to non-existent assert methods"

8 years agoMerge "Add variable QoS to NetApp cDOT drivers"
Jenkins [Fri, 12 Feb 2016 00:04:27 +0000 (00:04 +0000)]
Merge "Add variable QoS to NetApp cDOT drivers"

8 years agoMerge "3PAR: Create consistency group from source CG"
Jenkins [Thu, 11 Feb 2016 23:47:32 +0000 (23:47 +0000)]
Merge "3PAR: Create consistency group from source CG"

8 years agoMerge "Fix image volume creation error"
Jenkins [Thu, 11 Feb 2016 23:42:42 +0000 (23:42 +0000)]
Merge "Fix image volume creation error"

8 years agoMerge "Support ZeroMQ messaging driver in cinder"
Jenkins [Thu, 11 Feb 2016 20:26:30 +0000 (20:26 +0000)]
Merge "Support ZeroMQ messaging driver in cinder"

8 years agoRBD: use versioned objects
Jon Bernard [Tue, 9 Feb 2016 22:46:53 +0000 (17:46 -0500)]
RBD: use versioned objects

Change-Id: I4dff418ccdbd364c327b35ce78421271877bbf4e

8 years agoTests: Fix calls to non-existent assert methods
Eric Harney [Thu, 11 Feb 2016 15:51:46 +0000 (10:51 -0500)]
Tests: Fix calls to non-existent assert methods

These tests currently aren't asserting anything.

Related-Bug: #1544522

Change-Id: Ic051ca411abcb8bb62b7897292c89c5c9e552599

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Thu, 11 Feb 2016 07:38:36 +0000 (07:38 +0000)]
Updated from global requirements

Change-Id: Ie88abfa5849ef315daf77b0f423dc44515f9e7d8

8 years agoMerge "XtremIO add support for create CG from CG src"
Jenkins [Thu, 11 Feb 2016 06:37:04 +0000 (06:37 +0000)]
Merge "XtremIO add support for create CG from CG src"

8 years agoMerge "Storwize: Implement v2 replication"
Jenkins [Thu, 11 Feb 2016 06:36:05 +0000 (06:36 +0000)]
Merge "Storwize: Implement v2 replication"

8 years agoMerge "VMware: optimize in get_cluster_refs"
Jenkins [Thu, 11 Feb 2016 06:35:38 +0000 (06:35 +0000)]
Merge "VMware: optimize in get_cluster_refs"

8 years agoMerge "Remove 'external=True' in Huawei driver"
Jenkins [Thu, 11 Feb 2016 06:35:12 +0000 (06:35 +0000)]
Merge "Remove 'external=True' in Huawei driver"

8 years agoMerge "Return updated volume type after updating"
Jenkins [Thu, 11 Feb 2016 06:34:46 +0000 (06:34 +0000)]
Merge "Return updated volume type after updating"

8 years agoMerge "Replace exit() by sys.exit()"
Jenkins [Thu, 11 Feb 2016 06:25:36 +0000 (06:25 +0000)]
Merge "Replace exit() by sys.exit()"

8 years agoMerge "Cleanup in backup reset status"
Jenkins [Thu, 11 Feb 2016 06:25:13 +0000 (06:25 +0000)]
Merge "Cleanup in backup reset status"

8 years agoMerge "Remove access_mode 'rw' setting in drivers"
Jenkins [Thu, 11 Feb 2016 06:14:44 +0000 (06:14 +0000)]
Merge "Remove access_mode 'rw' setting in drivers"

8 years agoMerge "Correct opt type for nexenta_chunksize/blocksize"
Jenkins [Thu, 11 Feb 2016 06:14:22 +0000 (06:14 +0000)]
Merge "Correct opt type for nexenta_chunksize/blocksize"

8 years agoMerge "EMC VMAX - Method not being called for V3"
Jenkins [Thu, 11 Feb 2016 02:03:37 +0000 (02:03 +0000)]
Merge "EMC VMAX - Method not being called for V3"

8 years agoMerge "Remove old client version checks from 3PAR driver"
Jenkins [Wed, 10 Feb 2016 23:16:08 +0000 (23:16 +0000)]
Merge "Remove old client version checks from 3PAR driver"

8 years agoMerge "Wrap the method to calculate virtual free capacity"
Jenkins [Wed, 10 Feb 2016 22:11:59 +0000 (22:11 +0000)]
Merge "Wrap the method to calculate virtual free capacity"

8 years agoMerge "Added osprofiler headers to cors middleware"
Jenkins [Wed, 10 Feb 2016 19:57:25 +0000 (19:57 +0000)]
Merge "Added osprofiler headers to cors middleware"

8 years agoMerge "HNAS driver: retry on Connection reset fix"
Jenkins [Wed, 10 Feb 2016 19:41:52 +0000 (19:41 +0000)]
Merge "HNAS driver: retry on Connection reset fix"

8 years agoAdd variable QoS to NetApp cDOT drivers
Clinton Knight [Mon, 11 Jan 2016 21:13:03 +0000 (16:13 -0500)]
Add variable QoS to NetApp cDOT drivers

Most QoS implementations involve fixed limits, such as maxIOPS
or maxBPS.  But there are clouds that offer QoS limits that are
partly based on capacity of the underlying resource.  This commit
adds two new QoS flags to the NetApp cDOT drivers, maxIOPSperGiB
and maxBPSperGiB, which implement this capability.  A light
refactor of the snapshot delete paths was required to separate
those from the volume delete paths, since only the latter should
involve the QoS logic.

Implements: blueprint add-variable-qos-to-netapp-cdot-drivers
Change-Id: I357b87fa3a2856553c71c7f5f37e9f82ff44f6f2

8 years agoMerge "Zfssaiscsi driver should return target_lun as int"
Jenkins [Tue, 9 Feb 2016 21:54:23 +0000 (21:54 +0000)]
Merge "Zfssaiscsi driver should return target_lun as int"

8 years agoMerge "hacking: Fix false positive in C302 check"
Jenkins [Tue, 9 Feb 2016 20:25:02 +0000 (20:25 +0000)]
Merge "hacking: Fix false positive in C302 check"

8 years agoMerge "Move wsgi to oslo_service.wsgi"
Jenkins [Tue, 9 Feb 2016 20:24:35 +0000 (20:24 +0000)]
Merge "Move wsgi to oslo_service.wsgi"

8 years agoMerge "DRBD: Fix arguments for resize_volume DBus API call."
Jenkins [Tue, 9 Feb 2016 19:35:02 +0000 (19:35 +0000)]
Merge "DRBD: Fix arguments for resize_volume DBus API call."

8 years agoMerge "Port backup drivers to Python 3"
Jenkins [Tue, 9 Feb 2016 19:34:38 +0000 (19:34 +0000)]
Merge "Port backup drivers to Python 3"

8 years agoMerge "Adds support for configuring zoning in a virtual fabric"
Jenkins [Tue, 9 Feb 2016 19:33:16 +0000 (19:33 +0000)]
Merge "Adds support for configuring zoning in a virtual fabric"

8 years agoMerge "Added Keystone and RequestID headers to CORS middleware"
Jenkins [Tue, 9 Feb 2016 19:31:11 +0000 (19:31 +0000)]
Merge "Added Keystone and RequestID headers to CORS middleware"

8 years agoPort utils.safe_minidom_parse_string() to Python 3
Victor Stinner [Tue, 9 Feb 2016 16:54:02 +0000 (17:54 +0100)]
Port utils.safe_minidom_parse_string() to Python 3

Partial-Implements: blueprint cinder-python3
Change-Id: I3ef021d808f5d3963db286d755f7a38cd00ea1fe

8 years agoLog stack trace for middleware faults
Eric Harney [Tue, 9 Feb 2016 16:57:32 +0000 (11:57 -0500)]
Log stack trace for middleware faults

If an error occurs in the middleware layer,
such as an exception generated by keystoneclient,
there is no stack trace provided, leaving the
issue difficult to debug.

Log a stack trace here with LOG.exception instead.

Change-Id: I7bc7c74e8b701fac351572a3bb9d934c7f67d425

8 years agoMerge "Volume create fails with FakeISCSIDriver"
Jenkins [Tue, 9 Feb 2016 16:07:53 +0000 (16:07 +0000)]
Merge "Volume create fails with FakeISCSIDriver"

8 years agoMerge "Support cinder_img_volume_type in image metadata"
Jenkins [Tue, 9 Feb 2016 14:24:31 +0000 (14:24 +0000)]
Merge "Support cinder_img_volume_type in image metadata"

8 years agohacking: Fix false positive in C302 check
Victor Stinner [Tue, 9 Feb 2016 13:56:51 +0000 (14:56 +0100)]
hacking: Fix false positive in C302 check

Use a regular expression to search for "unicode(" instead of a static
string to not complain to "exception_to_unicode(error)".

Change-Id: I0a969b184054f287cef463bbcb980bfb4a0a6803

8 years agoPort backup drivers to Python 3
Victor Stinner [Tue, 9 Feb 2016 10:47:31 +0000 (11:47 +0100)]
Port backup drivers to Python 3

* PosixBackupDriver: open file in binary mode (to read/write).
  Update test_backup_posix.py for that.
* test_backup_nfs: buffer() doesn't exist and is no more needed on
  Python 3, only use buffer() on Python 2.
* tests-py3.txt: add cinder.tests.unit.backup

Partial-Implements: blueprint cinder-python3
Change-Id: I250d7378547df474f3c78024a737a3e2fa9bbaf4

8 years agoMerge "ScaleIO QoS Support"
Jenkins [Tue, 9 Feb 2016 03:56:04 +0000 (03:56 +0000)]
Merge "ScaleIO QoS Support"

8 years agoMerge "Port objects unit tests to Python 3"
Jenkins [Tue, 9 Feb 2016 03:29:14 +0000 (03:29 +0000)]
Merge "Port objects unit tests to Python 3"

8 years agoStorwize: Implement v2 replication
Vincent Hou [Tue, 2 Feb 2016 19:20:02 +0000 (14:20 -0500)]
Storwize: Implement v2 replication

Storwize supports three major types for volume replications:
split IO, global mirror and metro mirror.

This patch is dedicated to implement the replication for
the modes of global mirror and metro mirror. Mirror
establishes a Global/Metro Mirror relationship between
two volumes of equal size. The volumes in a Mirror
relationship are referred to as the primary volume and
the replica volume. The replication_mode in
replication_device must be set to global or metro.

The volume type needs to associate with the extra spec
with 'replication_enabled' equaling to "<is> True", and
'replication_type' equaling to '<in> global' or '<in>
metro'.

What is supported with replication:
* create volume
* create volume from snapshot
* clone a volume
When a volume is created and replication is enabled, the
replica volume is also created on the back-end enabled
for replicas.

What is not supported with replication yet:
* volume migration
* volume retype
The replica volume will not be created or moved after migration
or retype of a replicated volume. Admins should be aware,
when migrating or retyping a volume to a type with replication
enabled, that the replica will not be automatically created.

The replication can be configured via either multi-backend
on one cinder volume node, or on separate cinder volume
nodes.

Options to be put in cinder.conf, where the primary back-end
is located:

enabled_backends = sv1, sv2 (if enabling multi-backends)

[sv1]
san_login = admin
san_password = admin
san_ip = 192.168.0.11
volume_driver = cinder.volume.drivers.ibm.storwize_svc.\
                StorwizeSVCDriver
volume_backend_name = sv1
storwize_svc_volpool_name=cinder
replication_device = managed_backend_name:second_host@sv2#sv2,
                     replication_mode:global,
                     target_device_id:svc_id_target,
                     san_ip:192.168.0.12,san_login:admin,
                     san_password:admin,pool_name:cinder_target

Options to be put in cinder.conf, where the secondary
back-end is connected:

[sv2]
san_login = admin
san_password = admin
san_ip = 192.168.0.12
volume_driver = cinder.volume.drivers.ibm.storwize_svc.\
                StorwizeSVCDriver
volume_backend_name = sv2
storwize_svc_volpool_name=cinder_target

Partial-implements: blueprint ibm-storwize-v2-replication
DocImpact

Change-Id: I2ad5be69b2814d3b974c963828585fa15446d772

8 years agoMerge "IBM XIV/DS8K: Implements Replication V2"
Jenkins [Tue, 9 Feb 2016 01:57:35 +0000 (01:57 +0000)]
Merge "IBM XIV/DS8K: Implements Replication V2"

8 years agoVolume create fails with FakeISCSIDriver
scottda [Mon, 8 Feb 2016 23:59:34 +0000 (16:59 -0700)]
Volume create fails with FakeISCSIDriver

Volume create fails when the FakeISCSIDriver is used, because the
scheduler capacity filter detects that capacity on the fake backend
is zero. Change the total_capacity and free_capacity_gb for the
FakeISCSIDriver from 0 to infinite.

Change-Id: Ifedd483a660aefef89a85e6a55b2c0a5ca50c7d5
Closes-Bug: #1543171

8 years agoAdds support for configuring zoning in a virtual fabric
Angela Smith [Tue, 2 Feb 2016 21:00:54 +0000 (13:00 -0800)]
Adds support for configuring zoning in a virtual fabric

Through use of HTTP connector, driver is able to set the VFID
context to support any virtual fabric configured in the chassis.

Implements: blueprint brocade-zone-driver-virtualfabrics-support

DocImpact

Change-Id: I52dd2eced18024c8b04107ef6cd797b3a5e19fb3

8 years agoScaleIO QoS Support
Xing Yang [Sat, 21 Nov 2015 14:17:51 +0000 (09:17 -0500)]
ScaleIO QoS Support

This patch adds QoS support to the ScaleIO driver by
using Cinder QoS specs.

Also refactored logging and fixed formatting errors.

DocImpact
Change-Id: I7608192b91010a538027ab456c5ff5bba569214c
Implements: blueprint scaleio-qos-support

8 years agoMerge "Allow for eradicating Pure volumes on Cinder delete"
Jenkins [Mon, 8 Feb 2016 21:08:10 +0000 (21:08 +0000)]
Merge "Allow for eradicating Pure volumes on Cinder delete"

8 years agoUpdate db in CGSnapshot create
Xing Yang [Sun, 22 Nov 2015 22:39:56 +0000 (17:39 -0500)]
Update db in CGSnapshot create

Model_update returned from the driver in cgsnapshot_create
is not used to update the db. This patch changes that.

Change-Id: I051da3b3a8f570c9dbd0893dfc93c8500a1c9cc8

8 years ago3PAR: Create consistency group from source CG
Alex O'Rourke [Mon, 1 Feb 2016 21:58:33 +0000 (13:58 -0800)]
3PAR: Create consistency group from source CG

Supports creating a consistency group from a source consistency group
in the HPE 3PAR driver.

This makes use of temporary snapshots, which are not managed by Cinder.
Upon volume/CG deleteion, these temp snapshots will automatically be
cleaned up.

Change-Id: I033c2c4d45689d02dec96a0e58794629053efbc4
Implements: blueprint hpe-3par-create-cg-from-source
DocImpact

8 years agoRemove old client version checks from 3PAR driver
Alex O'Rourke [Thu, 14 Jan 2016 18:50:16 +0000 (10:50 -0800)]
Remove old client version checks from 3PAR driver

The minimum required 3PAR client version has been bumped from 4.0.0 to
4.1.0. There are a few checks that look for a version between these
that can be removed.

DocImpact
Change-Id: I13796bc880cd2f71dcce934274b810027cbb39b6

8 years agoHuawei: Implement v2 replication (managed)
chenzongliang [Sat, 12 Dec 2015 09:11:55 +0000 (17:11 +0800)]
Huawei: Implement v2 replication (managed)

This patch implements the managed side of v2 replication in the
HuaweiDriver. Both Synchronous mode and Asynchronous mode are
supported with Huawei arrays. The volume type need to associate with
the extra spec with 'replication_enabled' equaling to '<is> True', and
'replication_type' equaling to '<in> sync' or '<in> async'. If
'replication_type' is not provided, it will be defaulted to
Asynchronous mode.

What are supported with replication:
1. create volume
2. create volume from snapshot
3. clone a volume
4. create volume from image
5. volume retype
6. volume migration

So far we support a single remote device, and 'cinder.conf' should
configure a replication local backend and a replication remote backend
as follows:

[replica]
volume_driver =
    cinder.volume.drivers.huawei.huawei_driver.HuaweiISCSIDriver
cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
volume_backend_name = replica
replication_device = target_device_id:huawei-replica-1,
    managed_backend_name:host@replica-remote#pool,
    san_address:san_url_1;san_url_2,
    san_user:admin,san_password:passwd

[replica-remote]
volume_driver =
    cinder.volume.drivers.huawei.huawei_driver.HuaweiISCSIDriver
cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf_remote.xml
volume_backend_name = replica-remote
replication_device = target_device_id:huawei-replica-2,
    managed_backend_name:host@replica#pool,
    san_address:san_url_1;san_url_2,
    san_user:admin,san_password:passwd

Change-Id: Iaa3834547f80e7687f7e1946cb10d35f9ff0c136
Implements: blueprint support-replication-for-huawei-volume-driver

8 years agoDRBD: Fix arguments for resize_volume DBus API call.
Philipp Marek [Mon, 8 Feb 2016 10:39:06 +0000 (11:39 +0100)]
DRBD: Fix arguments for resize_volume DBus API call.

Change-Id: I754cd809ca7f7d3cc36e3a66b78e592053be1cee

8 years agoPort objects unit tests to Python 3
Victor Stinner [Tue, 26 Jan 2016 14:48:34 +0000 (15:48 +0100)]
Port objects unit tests to Python 3

* BaseObjectsTestCase._compare(): replace hasattr() with getattr()
  and a white list of expected exceptions. On Python 2, hasattr()
  ignores *all* exceptions and so may hide real bugs.
* Mocks: except a call to obj.__bool__() rather than
  obj.__nonzero__() on Python 3. bool(obj) now calls obj.__bool__()
  on Python 3.
* Replace dict.keys() with list(dict.keys()) to get a list on Python
  3. On Python 3, dict.keys() now returns a view.
* JSON/base64:

  * Replace jsonutils.dumps() with jsonutils.dump_as_bytes() to get
    JSON as bytes
  * Replace base64.encodestring() with oslo_serialization.base64.encode_as_text() to get
    base64 as bytes
  * Replace base64.decodestring() with
    oslo_serialization.base64.decode_as_text() to accept Unicode and
    return Unicode

* tests-py3.txt: add cinder.tests.unit.objects.test_* (11 files)

Partial-Implements: blueprint cinder-python3
Change-Id: I9ce7753eb947bf9a5c91e643f5c65156c8e3f7cc

8 years agoMerge "Clean uploading volume when c-vol restarts"
Jenkins [Sun, 7 Feb 2016 05:51:52 +0000 (05:51 +0000)]
Merge "Clean uploading volume when c-vol restarts"

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Sat, 6 Feb 2016 23:00:27 +0000 (23:00 +0000)]
Updated from global requirements

Change-Id: I2a195d5905446efc53da759246f528c9653972b4

8 years agoMerge "Bootable filter for listening volumes from CLI"
Jenkins [Sat, 6 Feb 2016 06:34:12 +0000 (06:34 +0000)]
Merge "Bootable filter for listening volumes from CLI"

8 years agoMerge "LeftHand: Implement un/manage snapshot support"
Jenkins [Sat, 6 Feb 2016 06:32:32 +0000 (06:32 +0000)]
Merge "LeftHand: Implement un/manage snapshot support"

8 years agoMerge "VNX: Replication V2 support(managed)"
Jenkins [Sat, 6 Feb 2016 03:48:01 +0000 (03:48 +0000)]
Merge "VNX: Replication V2 support(managed)"

8 years agoMerge "Fix issue in hacking with underscore imports"
Jenkins [Sat, 6 Feb 2016 01:51:06 +0000 (01:51 +0000)]
Merge "Fix issue in hacking with underscore imports"

8 years agoMerge "Fix variable scope issue in try-except"
Jenkins [Sat, 6 Feb 2016 01:50:40 +0000 (01:50 +0000)]
Merge "Fix variable scope issue in try-except"

8 years agoMerge "DRBD: Compat for current DRBDmanage versions."
Jenkins [Sat, 6 Feb 2016 00:48:31 +0000 (00:48 +0000)]
Merge "DRBD: Compat for current DRBDmanage versions."

8 years agoLeftHand: Implement un/manage snapshot support
Anthony Lee [Wed, 9 Dec 2015 00:15:42 +0000 (16:15 -0800)]
LeftHand: Implement un/manage snapshot support

Implements support for managing and unmanaging snapshots to
the HPE LeftHand driver.

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

DocImpact
Implements: blueprint lefthand-manage-unmanage-snapshot
Change-Id: Ic0048fd5da437cf8caddc166cf60ec035def39aa

8 years agoMerge "Updated from global requirements"
Jenkins [Fri, 5 Feb 2016 09:05:30 +0000 (09:05 +0000)]
Merge "Updated from global requirements"

8 years agoMerge "Remove useless unit tests mock in Huawei driver"
Jenkins [Fri, 5 Feb 2016 06:19:57 +0000 (06:19 +0000)]
Merge "Remove useless unit tests mock in Huawei driver"

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Fri, 5 Feb 2016 05:06:51 +0000 (05:06 +0000)]
Updated from global requirements

Change-Id: I0cf8ca5627ce99997980bb06ad463a1a0b0e259e

8 years agoEMC VMAX - Method not being called for V3
Helen Walsh [Tue, 1 Dec 2015 21:10:36 +0000 (21:10 +0000)]
EMC VMAX - Method not being called for V3

The method _remove_last_vol_and_delete_sg to remove
the last volume and delete the storage group was not
being called for the VMAX3, due to an indentation error.

Change-Id: I9a1fa59700233335fa50b02ff6cc3085a9e25b7a
Closes-Bug: #1520549

8 years agoAllow for eradicating Pure volumes on Cinder delete
Patrick East [Tue, 2 Feb 2016 19:08:39 +0000 (11:08 -0800)]
Allow for eradicating Pure volumes on Cinder delete

This change adds in a config option which, when enabled, will cause
the Pure Storage volume drivers to eradicate volumes, snapshots, and
protection groups on delete for their Cinder counterpart.

With this config enabled an admin will NOT be able to recover data once
objects are deleted. By default the new config option is disabled and
volumes, snapshots, and protection group snapshots will be retained
pending eradication where they can be recovered for a period of time.

DocImpact
Closes-Bug: #1537187

Change-Id: Ib3656bb64e5104f6bd05d28535cf91a46a038b55

8 years agoMerge "Don't create cgsnapshot if cg is empty"
Jenkins [Thu, 4 Feb 2016 21:13:33 +0000 (21:13 +0000)]
Merge "Don't create cgsnapshot if cg is empty"

8 years agoMerge "Imported Translations from Zanata"
Jenkins [Thu, 4 Feb 2016 19:15:57 +0000 (19:15 +0000)]
Merge "Imported Translations from Zanata"

8 years agoHNAS driver: retry on Connection reset fix
Adriano Rosso [Thu, 4 Feb 2016 16:18:17 +0000 (14:18 -0200)]
HNAS driver: retry on Connection reset fix

When HNAS driver is not using the SSH option and there are lots of exports in
the backend, a exception of "Connection reset" is eventually raised in the
driver initialization.
This patch makes the HNAS driver retries when this exception is raised.

Change-Id: Ia6306d5d2d24556135505ddc33174f57c86d8555
Closes-Bug: 1541941

8 years agoMerge "mock time.sleep in Broadcom unit test"
Jenkins [Thu, 4 Feb 2016 17:38:49 +0000 (17:38 +0000)]
Merge "mock time.sleep in Broadcom unit test"

8 years agoMerge "Tests: Strengthen assertFalse assertions"
Jenkins [Thu, 4 Feb 2016 17:36:21 +0000 (17:36 +0000)]
Merge "Tests: Strengthen assertFalse assertions"

8 years agoMerge "3PAR fix driver to work with image cache"
Jenkins [Thu, 4 Feb 2016 16:55:45 +0000 (16:55 +0000)]
Merge "3PAR fix driver to work with image cache"

8 years agoFix issue in hacking with underscore imports
Marc Koderer [Thu, 4 Feb 2016 12:43:33 +0000 (13:43 +0100)]
Fix issue in hacking with underscore imports

Hacking rule for underscore imports _() are not working correctly.
It also matches _.* imports like "import _LE"

See review: https://review.openstack.org/#/c/270754/

Closes-bug: 1541780
Change-Id: Ibdef35e1896882a8dfe3165dba989255639e61ba

8 years agoDRBD: Compat for current DRBDmanage versions.
Philipp Marek [Thu, 4 Feb 2016 13:47:39 +0000 (14:47 +0100)]
DRBD: Compat for current DRBDmanage versions.

The to-be-1.0 versions may provide additional data via a DM_INFO
tag; but as older versions don't have that (yet), we need to be
careful when asking for its value.

Change-Id: Ic800755d74ef22ec48bd3b8cd8000c610221bb52

8 years agoFix variable scope issue in try-except
Accela Zhao [Thu, 4 Feb 2016 02:11:09 +0000 (18:11 -0800)]
Fix variable scope issue in try-except

Below piece of code in cinder.backup.api.API.create does not handle
the scope of variable 'backup' properly. In general variable used in
except clause has larger scope than what is in try clause.

```
    try:
        ...
        backup = objects.Backup(context=context, **kwargs)
        backup.create()
        ...
    except Exception:
            ...
            backup.destroy()
            ...
```

The first problem: if object.Backup.__init__ raises exception,
variable 'backup' won't be assigned. However the cleanup code invokes
backup.destroy(), which results in an UnboundLocalError. The original
exception of __init__ is dropped, instead UnboundLocalError is raised
up-level. I know that for now objects.Backup.__init__ doesn't have
chance to raise exception, but when writing code we should not rely
on such assumption.

The second problem: backup.create() invokes DB. If an DB exception is
raised, backup.id won't be assigned. Any access to backup.id will
result in an "NotImplementedError: Cannot load 'id' in the base
class". However, when cleaning up, the backup.destroy() does access
backup.id. So we have the similar problem as the first one, and the
original exception is overrode by NotImplementedError.

This patch fixes it by adding a first-assignment outside try clause,
and add a safe check in except clause. The added test cases, if run
on the original code, it will show how the above problem occurs.

Closes-Bug: #1541745
Change-Id: I0e55c342ac489ff1ef27c0597b6dcba588778a04

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Thu, 4 Feb 2016 06:38:33 +0000 (06:38 +0000)]
Imported Translations from Zanata

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

Change-Id: I1388c56b2cf7d0bcaef3c8d1ea2c407fc46e8a2e

8 years agoBootable filter for listening volumes from CLI
Sheel Rana [Wed, 3 Feb 2016 18:30:11 +0000 (00:00 +0530)]
Bootable filter for listening volumes from CLI

Currently cinder treats all values passed to it as True
for bootable filter in volume GET call.

For ex, if bootable=invalid, it converts it into True being
bootable as boolean value in db table 'volume'.

Need to update filtering functionality in cinder to address
'True' and 'False' values seperately.

Existing behavior will be kept same.
Only True/False/true/false input handling is done to treat
true/false seperately
(In current behavior, whatever input is passed for boolean
parameter, cinder convetrs it to True)

Implements : blueprint select-volume-through-bootable-option

Closes-Bug: #1535749

Change-Id: I1f1ec20441b28e01bf07bc4f60d848b653e58d58

8 years agoClean uploading volume when c-vol restarts
LisaLi [Wed, 3 Feb 2016 03:10:39 +0000 (11:10 +0800)]
Clean uploading volume when c-vol restarts

This patch is to clean up the state of uploading volumes to
original status when volume service restarts.

Change-Id: I0f49261f11efff835fa2e173bab5c823ca8d7d6e
Closes-bug: #1541175

8 years agoMerge "EMC VMAX - Fix for last volume in VMAX3 storage group"
Jenkins [Wed, 3 Feb 2016 23:05:42 +0000 (23:05 +0000)]
Merge "EMC VMAX - Fix for last volume in VMAX3 storage group"

8 years agoMerge "Imported Translations from Zanata"
Jenkins [Wed, 3 Feb 2016 23:02:29 +0000 (23:02 +0000)]
Merge "Imported Translations from Zanata"

8 years agomock time.sleep in Broadcom unit test
Tom Barron [Wed, 3 Feb 2016 22:14:23 +0000 (17:14 -0500)]
mock time.sleep in Broadcom unit test

TestBrcdHttpFCZoneClient.test_post_zone_data() invokes
BrcdHTTPFCZoneClient.post_zone_data(), which in turn
has a loop around its connect() method inside which there
is a sleep().  Without time.sleep() mocked out, the test
runs 7s on my laptop.

This change mocks out time.sleep() in the test so that
it now runs in .6s.

Change-Id: Ib4c3a12b048a68d2c2db722c089eb04dd7d8c8ef

8 years agoDon't create cgsnapshot if cg is empty
Accela Zhao [Wed, 3 Feb 2016 07:19:45 +0000 (23:19 -0800)]
Don't create cgsnapshot if cg is empty

If we create cgsnapshot from an empty consistencygroup, it fails
with "Consistency group is empty. No cgsnapshot will be created".
However, a cgsnapshot object is still created in DB.

This is because in cinder/consistencygroup/api.py::_create_cgsnapshot,
we create cgsnapshot object before we test whether the corresponding
consistencygroup is empy.

This patch fixes this problem by moving the creation of cgsnapshot
object to after the test of whether consistencygroup is empty.

Change-Id: I09500ab1cf19b28591668a3fed6834d1a73ad176
Closes-Bug: #1535979