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"
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"
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"
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"
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"
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
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"
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
Jenkins [Thu, 4 Feb 2016 17:38:49 +0000 (17:38 +0000)]
Merge "mock time.sleep in Broadcom unit test"
Jenkins [Thu, 4 Feb 2016 17:36:21 +0000 (17:36 +0000)]
Merge "Tests: Strengthen assertFalse assertions"
Jenkins [Thu, 4 Feb 2016 16:55:45 +0000 (16:55 +0000)]
Merge "3PAR fix driver to work with image cache"
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
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
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
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
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
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
Jenkins [Wed, 3 Feb 2016 23:05:42 +0000 (23:05 +0000)]
Merge "EMC VMAX - Fix for last volume in VMAX3 storage group"
Jenkins [Wed, 3 Feb 2016 23:02:29 +0000 (23:02 +0000)]
Merge "Imported Translations from Zanata"
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
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
Michael Krotscheck [Wed, 3 Feb 2016 15:18:18 +0000 (07:18 -0800)]
Added osprofiler headers to cors middleware
This patch adds the osprofiler trace headers to the CORS configuration
block: X-Trace-Info, X-Trace-HMAC
Change-Id: Ie6b493252973177727cd4445ec12c36c3c90fd71
OpenStack Proposal Bot [Wed, 3 Feb 2016 07:04:10 +0000 (07:04 +0000)]
Imported Translations from Zanata
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: Ife555940fe3df05e895c7a2229b0e59700b1a1b9
venkatamahesh [Wed, 3 Feb 2016 06:15:11 +0000 (11:45 +0530)]
Fix the replication spelling in message
Changed replicaiton to replication
Change-Id: I58cd74b644e976d49b72075eed347c8cce4c4352
Jenkins [Wed, 3 Feb 2016 06:01:57 +0000 (06:01 +0000)]
Merge "LeftHand: Implement v2 replication (unmanaged)"
Jenkins [Wed, 3 Feb 2016 03:33:45 +0000 (03:33 +0000)]
Merge "Remove deprecated options from NFS driver"
Jenkins [Wed, 3 Feb 2016 03:32:20 +0000 (03:32 +0000)]
Merge "Replication V2 for Pure Storage"
Walter A. Boring IV [Thu, 10 Sep 2015 18:19:24 +0000 (11:19 -0700)]
3PAR fix driver to work with image cache
This patch fixes the problem with the 3PAR not
working with the generic image cache.
In order to do the image cache, the 3PAR has to create a
temporary snapshot of the volume being cloned. Then the
background cloning is against the temporary snapshot.
The problem is, the temporary snapshot stays around.
We try to account for this temporary snapshot in
the delete volume action.
We also bump the minimum required python-3parclient
version to 4.1.0, which has the new getVolumeSnapshots
API call required to make this all work.
Change-Id: I6dea01ce07387990aa38bd5106b51504739b3a6e
Closes-Bug: #
1491088
Jenkins [Tue, 2 Feb 2016 06:25:22 +0000 (06:25 +0000)]
Merge "Improve logging for volume detach"
OpenStack Proposal Bot [Mon, 1 Feb 2016 13:36:35 +0000 (13:36 +0000)]
Updated from global requirements
Change-Id: I026436e02d8fae0501fe948558527a7c635d3345
Vipin Balachandran [Mon, 1 Feb 2016 12:10:00 +0000 (04:10 -0800)]
Improve logging for volume detach
Currently the volume manager doesn't log the instance ID during
volume detach. This is missing in cinder-api log as well. This
patch adds a log statement to print a message with volume ID and
instance ID before calling driver detach.
Change-Id: I6e765124c4e737e64cff39ec82cb81749bca28ab
Wilson Liu [Sat, 23 Jan 2016 02:21:41 +0000 (10:21 +0800)]
Remove useless unit tests mock in Huawei driver
There are some useless ut mocks in Huawei driver,
we'd better to cleanup them.
Also we did some other code cleanup:
1. Cleanup the return value when delete_volume and extend_volume.
2. Check whether the LUN exists in a LUN group firstly besause
this case is more likely to happen than other cases.
Closes-Bug: #
1535697
Change-Id: Ia3ea1d666623cf7c37b6be3fbc55282229293ea8
LisaLi [Thu, 28 Jan 2016 02:47:36 +0000 (10:47 +0800)]
Return updated volume type after updating
When updating volume type in db, it queries the object and
would like to return the updated object.
The problem is that the update session hasn't committed and
the update has not been implemented in db. And then the query is
executed in another session. As a result, the update function returns
an non-updated object.
The fix is to return updated object.
Closes-Bug: #
1540190
Change-Id: I4b57ea69b1eebd62de707ca15aad32c53fca9f1d
Wilson Liu [Sat, 23 Jan 2016 02:28:42 +0000 (10:28 +0800)]
Remove 'external=True' in Huawei driver
The 'call' function in Huawei driver use a progress
level lock, this can be replaced with thread level lock.
Closes-Bug: #
1536015
Change-Id: Ie8d39164c78b886e3253497ab0936254c586f016
Jenkins [Sun, 31 Jan 2016 20:43:21 +0000 (20:43 +0000)]
Merge "Huawei: Balanced FC port selection when zoning"
Jenkins [Sat, 30 Jan 2016 21:14:52 +0000 (21:14 +0000)]
Merge "Pin RPC and object version to lowest running"
Jenkins [Sat, 30 Jan 2016 21:14:30 +0000 (21:14 +0000)]
Merge "Report RPC and objects versions"
Helen Walsh [Wed, 11 Nov 2015 22:09:59 +0000 (22:09 +0000)]
EMC VMAX - Fix for last volume in VMAX3 storage group
This patch fixes bug in the deletion the last volume in a
storage group for the VMAX3. If a masking view did not exist
we tried to get an instance of it which threw an exception.
Now we handle both scenarios correctly.
Closes-Bug: #
1512796
Change-Id: Ideb2aaffe4fbc1ae2137d569d7b137ac0edef573
Jenkins [Sat, 30 Jan 2016 20:26:48 +0000 (20:26 +0000)]
Merge "Add missing RPC calls versions to rpcapi modules"
Jenkins [Sat, 30 Jan 2016 07:12:56 +0000 (07:12 +0000)]
Merge "Remove invalid NetApp QoS keys"
Jenkins [Fri, 29 Jan 2016 20:52:30 +0000 (20:52 +0000)]
Merge "XtremIO: Set the location of a CA certificate"
Jenkins [Fri, 29 Jan 2016 18:42:42 +0000 (18:42 +0000)]
Merge "Storwize: Add force flag on vdisk mapping call"
Jenkins [Fri, 29 Jan 2016 15:51:47 +0000 (15:51 +0000)]
Merge "Adds HTTPS southbound connector for Brocade FC Zone Driver"
Jenkins [Fri, 29 Jan 2016 15:50:04 +0000 (15:50 +0000)]
Merge "EMC VMAX - VMAX driver failing to remove zones"
abhiram moturi [Thu, 28 Jan 2016 20:16:08 +0000 (20:16 +0000)]
Zfssaiscsi driver should return target_lun as int
The zfssaiscsi driver in initialize_connection()
returns iscsi_properties['target_lun'] as a string.
Solaris version of openstack expects it to be an int
and fails for the driver. Also other drivers report
it as an int. So this will make the zfssaiscsi driver
more consistent with other drivers.
Change-Id: Ifdbca7a02e2d797af9149cd185c2fa5dce661f66
Closes-bug: #
1538582
Michał Dulko [Thu, 14 Jan 2016 19:57:12 +0000 (20:57 +0100)]
Pin RPC and object version to lowest running
This commit adds detection and pinning to lowest RPC API version to all
rpcapi modules. The version pin is determined by a DB call done once per
service lifetime thanks to caching. Handling the compatibility is
guaranteed by oslo.messaging and our shims in rpcapi modules.
To achieve o.vo compatibility, a similar approach is implemented. Custom
oslo.messaging serializer is implemented that backports objects to the
lowest running version on sending.
During the process of upgrade it may happen that manager receives an
object in the version lower than current one. Handling of such
situations is up to the manager and it should do that explicitely by
checking obj.VERSION.
The patch also adds required methods to db.api and Service object.
Co-Authored-By: Thang Pham <thang.g.pham@gmail.com>
Change-Id: I649892da64f9734928a6cf0f004a369aa7aa375f
Partial-Implements: blueprint rpc-object-compatibility
Michał Dulko [Thu, 14 Jan 2016 18:37:18 +0000 (19:37 +0100)]
Report RPC and objects versions
While doing a rolling upgrade we will have services running in various
versions. In order to determine how to downgrade the RPC request and
payload (objects) to the lowest common version we need to actually
report versions of RPC servers (managers).
This commit implements such reporting in generic cinder.service module.
It is using DB columns that were merged in Liberty to save this
information.
To have a single version string identify a set of o.vo versions we need
to have dictionary with objects versions history. In that purpose a
dict-like CinderObjectVersionsHistory class and OBJ_VERSIONS instance of
it is added to cinder.objects.base. A unit test enforcing bumping the
versions is also included with the patch.
Change-Id: Ic3b57450e9d6f155a7eb805d224389f5f09eae18
Partial-Implements: blueprint rpc-object-compatibility
Michał Dulko [Wed, 13 Jan 2016 15:18:45 +0000 (16:18 +0100)]
Add missing RPC calls versions to rpcapi modules
Some RPC calls in rpcapi modules are not passing version indicators to
the RPC client. The RPC call version should be indicated explicitely
because otherwise it gets defaulted to the latest one or '1.0'. This
creates a set of problem in maintaining RPC API backward compatibility.
This commit changes these calls to point to the right versions according
to git history and version comments in rpcapi files.
Change-Id: Ib05d9748e18589df5a67f7b7ea668394cc8df769
Related-Blueprint: rpc-object-compatibility