Jenkins [Tue, 16 Feb 2016 19:24:21 +0000 (19:24 +0000)]
Merge "Port API v1 and v2 to Python 3"
Jenkins [Tue, 16 Feb 2016 19:22:33 +0000 (19:22 +0000)]
Merge "Port API contribs to Python 3"
Jenkins [Tue, 16 Feb 2016 14:39:48 +0000 (14:39 +0000)]
Merge "Disable Rally backup-related scenarios"
Jenkins [Tue, 16 Feb 2016 10:51:30 +0000 (10:51 +0000)]
Merge "Move integrated tests to 'functional' directory"
Jenkins [Mon, 15 Feb 2016 23:52:05 +0000 (23:52 +0000)]
Merge "Profiler: don't call trace_cls if profiler is not enabled"
Jenkins [Mon, 15 Feb 2016 23:41:31 +0000 (23:41 +0000)]
Merge "py3: Fix usage of JSON in API contrib"
Jenkins [Mon, 15 Feb 2016 23:30:12 +0000 (23:30 +0000)]
Merge "Add missing requirements"
Jenkins [Mon, 15 Feb 2016 19:56:22 +0000 (19:56 +0000)]
Merge "Tests: Set volume listen port to test_service_listen_port"
Jenkins [Mon, 15 Feb 2016 19:13:00 +0000 (19:13 +0000)]
Merge "Sheepdog: Fix malformed image url format"
Jenkins [Mon, 15 Feb 2016 19:05:22 +0000 (19:05 +0000)]
Merge "Port utils.safe_minidom_parse_string() to Python 3"
Jenkins [Mon, 15 Feb 2016 18:55:41 +0000 (18:55 +0000)]
Merge "Support for consistency groups in ScaleIO driver"
Ivan Kolodyazhny [Mon, 15 Feb 2016 18:44:52 +0000 (20:44 +0200)]
Disable Rally backup-related scenarios
Backup tests failed on gates due to the configuration
or Rally issue. Let's skip them until bug #
1543987 will
be fixed.
Change-Id: Ic99531dad4fab5e22e295e19bbfa94c782212d2c
Related-Bug: #
1543987
Jenkins [Mon, 15 Feb 2016 17:59:28 +0000 (17:59 +0000)]
Merge "Huawei: Implement v2 replication (managed)"
Jenkins [Mon, 15 Feb 2016 17:14:20 +0000 (17:14 +0000)]
Merge "RBD: use versioned objects"
Jenkins [Mon, 15 Feb 2016 17:00:24 +0000 (17:00 +0000)]
Merge "Updated from global requirements"
Jenkins [Mon, 15 Feb 2016 16:42:22 +0000 (16:42 +0000)]
Merge "Fix 'asert' typo in unit test"
Victor Stinner [Tue, 9 Feb 2016 13:36:45 +0000 (14:36 +0100)]
Port API v1 and v2 to Python 3
* Replace jsonutils.dumps() with jsonutils.dump_as_bytes() since
output is used for the HTTP body, and HTTP body type is bytes, not
Unicode. On Python 3, jsonutils.dumps() returns Unicode.
* FakeHttplibSocket: replace io.StringIO with io.BytesIO, HTTP body
type is bytes. Encode Unicode to UTF-8.
* Fix FakeHttplibSocket.makefile() API: only the first parameter is
mandatory. On Python 3, it's only called with the first 'mode'
parameter.
* Use bytes strings to test HTTP bodies (JSON or XML).
* Replace dict.values() with list(dict.values()) to get a list on
Python 3.
* Replace error.message with encodeutils.exception_to_unicode(error),
exceptions loose their message attribute in Python 3.
* Update JSON serializer test in test_wsgi.py to use bytes.
* tests-py3.txt: add cinder.tests.unit.api.v1 and
cinder.tests.unit.api.v2
Partial-Implements: blueprint cinder-python3
Change-Id: I0f0048f4a1344feaa3434cbf7ebd31e3f12d6ae4
Victor Stinner [Tue, 9 Feb 2016 17:40:21 +0000 (18:40 +0100)]
Port API contribs to Python 3
* Replace dict.iteritems() with dict.items(), dict.iteritems() was
removed in Python 3.
* Replace dict.values() with list(dict.values()) to get a list on
Python 3.
* HTTP body type must be bytes:
- Fix unit tests to use bytes strings for HTTP body
- Encode XML to UTF-8 on Python 3.
* Use "%r" instead of "%s" to format request and response in test to
avoid BytesWarning on Python 3.
* tests-py3.txt: add cinder.tests.unit.api.contrib
Partial-Implements: blueprint cinder-python3
Change-Id: I65e412b2897635db5c8dfe13d61e71c52e0603e7
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>
Jenkins [Mon, 15 Feb 2016 07:16:34 +0000 (07:16 +0000)]
Merge "Log stack trace for middleware faults"
Jenkins [Mon, 15 Feb 2016 07:15:11 +0000 (07:15 +0000)]
Merge "Don't use Mock.called_once_with that does not exist"
OpenStack Proposal Bot [Sun, 14 Feb 2016 23:06:38 +0000 (23:06 +0000)]
Updated from global requirements
Change-Id: I55bcdd350571a96e5bdefb5a820fe84a633f63cf
Jenkins [Sun, 14 Feb 2016 16:51:08 +0000 (16:51 +0000)]
Merge "Fix dynamic import of CONF.volume_api_class"
Jenkins [Sun, 14 Feb 2016 16:50:24 +0000 (16:50 +0000)]
Merge "Update db in CGSnapshot create"
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
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
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
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
Jenkins [Fri, 12 Feb 2016 06:00:24 +0000 (06:00 +0000)]
Merge "XtremIO: FC initialize connection failed"
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
Jenkins [Fri, 12 Feb 2016 00:04:57 +0000 (00:04 +0000)]
Merge "Tests: Fix calls to non-existent assert methods"
Jenkins [Fri, 12 Feb 2016 00:04:27 +0000 (00:04 +0000)]
Merge "Add variable QoS to NetApp cDOT drivers"
Jenkins [Thu, 11 Feb 2016 23:47:32 +0000 (23:47 +0000)]
Merge "3PAR: Create consistency group from source CG"
Jenkins [Thu, 11 Feb 2016 23:42:42 +0000 (23:42 +0000)]
Merge "Fix image volume creation error"
Jenkins [Thu, 11 Feb 2016 20:26:30 +0000 (20:26 +0000)]
Merge "Support ZeroMQ messaging driver in cinder"
Jon Bernard [Tue, 9 Feb 2016 22:46:53 +0000 (17:46 -0500)]
RBD: use versioned objects
Change-Id: I4dff418ccdbd364c327b35ce78421271877bbf4e
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
OpenStack Proposal Bot [Thu, 11 Feb 2016 07:38:36 +0000 (07:38 +0000)]
Updated from global requirements
Change-Id: Ie88abfa5849ef315daf77b0f423dc44515f9e7d8
Jenkins [Thu, 11 Feb 2016 06:37:04 +0000 (06:37 +0000)]
Merge "XtremIO add support for create CG from CG src"
Jenkins [Thu, 11 Feb 2016 06:36:05 +0000 (06:36 +0000)]
Merge "Storwize: Implement v2 replication"
Jenkins [Thu, 11 Feb 2016 06:35:38 +0000 (06:35 +0000)]
Merge "VMware: optimize in get_cluster_refs"
Jenkins [Thu, 11 Feb 2016 06:35:12 +0000 (06:35 +0000)]
Merge "Remove 'external=True' in Huawei driver"
Jenkins [Thu, 11 Feb 2016 06:34:46 +0000 (06:34 +0000)]
Merge "Return updated volume type after updating"
Jenkins [Thu, 11 Feb 2016 06:25:36 +0000 (06:25 +0000)]
Merge "Replace exit() by sys.exit()"
Jenkins [Thu, 11 Feb 2016 06:25:13 +0000 (06:25 +0000)]
Merge "Cleanup in backup reset status"
Jenkins [Thu, 11 Feb 2016 06:14:44 +0000 (06:14 +0000)]
Merge "Remove access_mode 'rw' setting in drivers"
Jenkins [Thu, 11 Feb 2016 06:14:22 +0000 (06:14 +0000)]
Merge "Correct opt type for nexenta_chunksize/blocksize"
Jenkins [Thu, 11 Feb 2016 02:03:37 +0000 (02:03 +0000)]
Merge "EMC VMAX - Method not being called for V3"
Jenkins [Wed, 10 Feb 2016 23:16:08 +0000 (23:16 +0000)]
Merge "Remove old client version checks from 3PAR driver"
Jenkins [Wed, 10 Feb 2016 22:11:59 +0000 (22:11 +0000)]
Merge "Wrap the method to calculate virtual free capacity"
Eric Harney [Wed, 10 Feb 2016 19:16:17 +0000 (14:16 -0500)]
Profiler: don't call trace_cls if profiler is not enabled
If the profiler is disabled, don't call methods to setup
tracing.
Change-Id: I5573eab9458946c1cb2fc49792de2c64b5967cd2
Eric Harney [Wed, 10 Feb 2016 20:10:48 +0000 (15:10 -0500)]
Tests: Set volume listen port to test_service_listen_port
These tests can fail with an error binding to port 8776.
Using the same setting used by other tests allows these
to work reliably.
Change-Id: I64cc8a6e1cfc5fbae253d81d35b5edd1a03887ac
Jenkins [Wed, 10 Feb 2016 19:57:25 +0000 (19:57 +0000)]
Merge "Added osprofiler headers to cors middleware"
Jenkins [Wed, 10 Feb 2016 19:41:52 +0000 (19:41 +0000)]
Merge "HNAS driver: retry on Connection reset fix"
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
Jenkins [Tue, 9 Feb 2016 21:54:23 +0000 (21:54 +0000)]
Merge "Zfssaiscsi driver should return target_lun as int"
Ivan Kolodyazhny [Thu, 14 Jan 2016 20:20:56 +0000 (22:20 +0200)]
Move integrated tests to 'functional' directory
Functional unit tests should not be a part of unit
tests job. This patch adds new tox environment to run
functional tests:
$ tox -e functional
It also removes logging from functional tests. Some of log calls were
replaced with asserts.
Related Implements: blueprint cinder-integrated-tests
Change-Id: I0ebfef2fe05f502cd5fb08fbc8af09008949e457
Jenkins [Tue, 9 Feb 2016 20:25:02 +0000 (20:25 +0000)]
Merge "hacking: Fix false positive in C302 check"
Jenkins [Tue, 9 Feb 2016 20:24:35 +0000 (20:24 +0000)]
Merge "Move wsgi to oslo_service.wsgi"
Jenkins [Tue, 9 Feb 2016 19:35:02 +0000 (19:35 +0000)]
Merge "DRBD: Fix arguments for resize_volume DBus API call."
Jenkins [Tue, 9 Feb 2016 19:34:38 +0000 (19:34 +0000)]
Merge "Port backup drivers to Python 3"
Jenkins [Tue, 9 Feb 2016 19:33:16 +0000 (19:33 +0000)]
Merge "Adds support for configuring zoning in a virtual fabric"
Jenkins [Tue, 9 Feb 2016 19:31:11 +0000 (19:31 +0000)]
Merge "Added Keystone and RequestID headers to CORS middleware"
Victor Stinner [Tue, 9 Feb 2016 17:38:11 +0000 (18:38 +0100)]
py3: Fix usage of JSON in API contrib
Replace json.dumps() and jsonutils.dumps() with
jsonutils.dump_as_bytes() to get bytes on Python 3. The result is
used as HTTP body, and the body type must be bytes.
Replace also json.loads() with jsonutils.loads().
Partial-Implements: blueprint cinder-python3
Change-Id: I3d3a18f2013b42dc2d8d7b90f32f50756513d668
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
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
Jenkins [Tue, 9 Feb 2016 16:07:53 +0000 (16:07 +0000)]
Merge "Volume create fails with FakeISCSIDriver"
Jenkins [Tue, 9 Feb 2016 14:24:31 +0000 (14:24 +0000)]
Merge "Support cinder_img_volume_type in image metadata"
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
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
Jenkins [Tue, 9 Feb 2016 03:56:04 +0000 (03:56 +0000)]
Merge "ScaleIO QoS Support"
Jenkins [Tue, 9 Feb 2016 03:29:14 +0000 (03:29 +0000)]
Merge "Port objects unit tests to Python 3"
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
Jenkins [Tue, 9 Feb 2016 01:57:35 +0000 (01:57 +0000)]
Merge "IBM XIV/DS8K: Implements Replication V2"
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
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
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
Jenkins [Mon, 8 Feb 2016 21:08:10 +0000 (21:08 +0000)]
Merge "Allow for eradicating Pure volumes on Cinder delete"
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
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
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
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
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
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
Jenkins [Sun, 7 Feb 2016 05:51:52 +0000 (05:51 +0000)]
Merge "Clean uploading volume when c-vol restarts"
OpenStack Proposal Bot [Sat, 6 Feb 2016 23:00:27 +0000 (23:00 +0000)]
Updated from global requirements
Change-Id: I2a195d5905446efc53da759246f528c9653972b4
Jenkins [Sat, 6 Feb 2016 06:34:12 +0000 (06:34 +0000)]
Merge "Bootable filter for listening volumes from CLI"
Jenkins [Sat, 6 Feb 2016 06:32:32 +0000 (06:32 +0000)]
Merge "LeftHand: Implement un/manage snapshot support"
Jenkins [Sat, 6 Feb 2016 03:48:01 +0000 (03:48 +0000)]
Merge "VNX: Replication V2 support(managed)"
Jenkins [Sat, 6 Feb 2016 01:51:06 +0000 (01:51 +0000)]
Merge "Fix issue in hacking with underscore imports"
Jenkins [Sat, 6 Feb 2016 01:50:40 +0000 (01:50 +0000)]
Merge "Fix variable scope issue in try-except"
Jenkins [Sat, 6 Feb 2016 00:48:31 +0000 (00:48 +0000)]
Merge "DRBD: Compat for current DRBDmanage versions."
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
Jenkins [Fri, 5 Feb 2016 09:05:30 +0000 (09:05 +0000)]
Merge "Updated from global requirements"
Jenkins [Fri, 5 Feb 2016 06:19:57 +0000 (06:19 +0000)]
Merge "Remove useless unit tests mock in Huawei driver"
OpenStack Proposal Bot [Fri, 5 Feb 2016 05:06:51 +0000 (05:06 +0000)]
Updated from global requirements
Change-Id: I0cf8ca5627ce99997980bb06ad463a1a0b0e259e
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
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
Jenkins [Thu, 4 Feb 2016 21:13:33 +0000 (21:13 +0000)]
Merge "Don't create cgsnapshot if cg is empty"
Jenkins [Thu, 4 Feb 2016 19:15:57 +0000 (19:15 +0000)]
Merge "Imported Translations from Zanata"