Jenkins [Sun, 20 Dec 2015 20:28:54 +0000 (20:28 +0000)]
Merge "Disable capabilities based on 3PAR licenses"
Jenkins [Sat, 19 Dec 2015 15:30:13 +0000 (15:30 +0000)]
Merge "Imported Translations from Zanata"
Jenkins [Sat, 19 Dec 2015 10:01:22 +0000 (10:01 +0000)]
Merge "3PAR: Implement un/manage snapshot support"
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
Jenkins [Sat, 19 Dec 2015 00:44:24 +0000 (00:44 +0000)]
Merge "Updated from global requirements"
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
Jenkins [Fri, 18 Dec 2015 22:03:58 +0000 (22:03 +0000)]
Merge "Preserve request id in Cinder logs"
Jenkins [Fri, 18 Dec 2015 21:03:52 +0000 (21:03 +0000)]
Merge "Override osapi_volume_listen_port for test_workers"
Jenkins [Fri, 18 Dec 2015 17:57:06 +0000 (17:57 +0000)]
Merge "3PAR: Implement v2 replication (unmanaged)"
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
Jenkins [Fri, 18 Dec 2015 15:29:25 +0000 (15:29 +0000)]
Merge "Error handling for invalid SLO/Workload combo"
OpenStack Proposal Bot [Fri, 18 Dec 2015 13:48:19 +0000 (13:48 +0000)]
Updated from global requirements
Change-Id: I04b49cafc2094a1c916a242efc75a5db6cb84bd2
Jenkins [Fri, 18 Dec 2015 03:04:14 +0000 (03:04 +0000)]
Merge "Imported Translations from Zanata"
Jenkins [Fri, 18 Dec 2015 02:32:31 +0000 (02:32 +0000)]
Merge "Tooz locks"
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
Jenkins [Thu, 17 Dec 2015 22:05:29 +0000 (22:05 +0000)]
Merge "Pass volume_id in request_spec for manage_existing"
Jenkins [Thu, 17 Dec 2015 22:00:08 +0000 (22:00 +0000)]
Merge "Change the format of some inconsistent docstring"
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
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
Jenkins [Thu, 17 Dec 2015 11:02:32 +0000 (11:02 +0000)]
Merge "Add volume_extensions:quotas:delete to policy.json"
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
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
Jenkins [Thu, 17 Dec 2015 04:28:13 +0000 (04:28 +0000)]
Merge "Check backup service before backup delete"
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"
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
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
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
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
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
Jenkins [Tue, 15 Dec 2015 22:16:32 +0000 (22:16 +0000)]
Merge "Implement refresh() for cinder objects"
Jenkins [Tue, 15 Dec 2015 22:15:24 +0000 (22:15 +0000)]
Merge "Skip check whether volume is local if it's None"
Jenkins [Tue, 15 Dec 2015 21:54:39 +0000 (21:54 +0000)]
Merge "Volume migration: add 'name_id' as valid skippable field"
Jenkins [Tue, 15 Dec 2015 21:09:39 +0000 (21:09 +0000)]
Merge "Imported Translations from Zanata"
Jenkins [Tue, 15 Dec 2015 20:52:33 +0000 (20:52 +0000)]
Merge "Sheepdog: Fix a problem about multi backend"
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
Jenkins [Tue, 15 Dec 2015 07:21:49 +0000 (07:21 +0000)]
Merge "Implement snapshots-related features for Block Device Driver"
Jenkins [Tue, 15 Dec 2015 07:21:26 +0000 (07:21 +0000)]
Merge "Add synchronization in Block Device driver"
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
Jenkins [Tue, 15 Dec 2015 06:00:40 +0000 (06:00 +0000)]
Merge "Refactor cinder.utils.is_valid_boolstr"
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
Jenkins [Tue, 15 Dec 2015 03:23:04 +0000 (03:23 +0000)]
Merge "Updated from global requirements"
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
Jenkins [Mon, 14 Dec 2015 18:51:07 +0000 (18:51 +0000)]
Merge "Deprecated tox -downloadcache option removed"
Yuriy Nesenenko [Thu, 3 Dec 2015 17:47:16 +0000 (19:47 +0200)]
Implement snapshots-related features for Block Device Driver
This patch adds the create_snapshot, create_volume_from_snapshot
and delete_snapshot methods to Block Device driver.
Related blueprint: block-device-driver-minimum-features-set
Change-Id: If86dca417234ea2c58fbce4e30a1626b288de3f6
Gorka Eguileor [Mon, 14 Dec 2015 15:02:20 +0000 (16:02 +0100)]
Refactor cinder.utils.is_valid_boolstr
Method is_valid_boolstr is currently doing 8 different checks against
the same variable. This patch refactors this method to be more pythonic
by using the in operator.
Change-Id: If77c3a80a5698685aa67120bcee2e223584f5d16
Yuriy Nesenenko [Thu, 3 Dec 2015 14:28:31 +0000 (16:28 +0200)]
Add synchronization in Block Device driver
Multiple calls can get the same device. This patch adds synchronization
to create_volume, delete_volume and create_cloned_volume to avoid race
conditions. The delete_volume method is modified to avoid code duplication
in the implementation of delete_snapshot method for snapshot in the next
patch. Also it adds update provider_location and host to mark device as
used to avoid race with other threads. It uses object notation instead
of dict notation to a volume and snapshot.
Change-Id: I0b8fb28dde367c3f34dd0b6b9d98372cfff65d45
Closes-Bug: #
1335904
Jenkins [Mon, 14 Dec 2015 13:22:56 +0000 (13:22 +0000)]
Merge "Fix invalid cache image-volume creation"
OpenStack Proposal Bot [Mon, 14 Dec 2015 12:30:04 +0000 (12:30 +0000)]
Updated from global requirements
Change-Id: I89449c4a8a4a4e440c0bf8a6db0126f5cd15f0e6
Jenkins [Mon, 14 Dec 2015 11:42:45 +0000 (11:42 +0000)]
Merge "Recognize extra fields in CinderObjectDictCompat"
Jenkins [Mon, 14 Dec 2015 06:33:41 +0000 (06:33 +0000)]
Merge "Replace use of mox with mock in test_solidfire"
Jenkins [Mon, 14 Dec 2015 06:33:31 +0000 (06:33 +0000)]
Merge "EMC VMAX - Fix for randomly selecting a portgroup"
Vincent Hou [Mon, 14 Dec 2015 06:08:54 +0000 (22:08 -0800)]
Volume migration: add 'name_id' as valid skippable field
New Versioned Objects expect 'name_id' as a valid input, which
is able to change '_name_id' as well, so this patch adds
'name_id' into the fields, which are going to skip for the
creation of the target volume during migration.
Change-Id: I91e3bc05607243aef020f461a467e9ecb956544f
Closes-Bug: #
1525781
John Griffith [Sat, 12 Dec 2015 18:32:57 +0000 (18:32 +0000)]
Fix invalid cache image-volume creation
During the volume ref creation in clone_image_volume
we were including a _name_id attribute which is invalid
in the base olso object. The result is silent failure
for a key error. Note that the comments for the column
in the db specifcally state "do not call directly".
The variable is also denoted as private by the _ prefix.
Fix this by just popping the "_name_id' attribute.
In addition there were a number of things that needed
some cleanup:
1. Don't iterate over list of tuples to get K/V for dict
Just use Dict(xxxx)
2. Don't use delete dict.key
This isn't safe, because if the key DNE you'll get a key exception
Instead use pop which is safe if key DNE
3. Add an error message when this fails, because currently the logs
don't give an operation a chance of knowing it failed, let alone
an opportunity to debug it
Finally the cache volume creation is still calling the db
directly and doing a resource create as opposed to
using the new volume object create handler. I went ahead
and converted this to use objects, however that resulted in
breaking two of the volume-->image unit tests that use cinder
as a glance backend.
I've opened bug
1525773 for those issues and added a skip
to the tests in question.
Change-Id: Ieda40c1111d4d4d69488944eb332962eb9658266
Closes-Bug: #
1525452
Jenkins [Mon, 14 Dec 2015 02:11:31 +0000 (02:11 +0000)]
Merge "Remove eventlet WSGI functionality"
Jenkins [Mon, 14 Dec 2015 02:11:16 +0000 (02:11 +0000)]
Merge "NetApp: E-Series fix JSONDecodeError on first add"
Jenkins [Sun, 13 Dec 2015 14:28:30 +0000 (14:28 +0000)]
Merge "Imported Translations from Zanata"
Jenkins [Sun, 13 Dec 2015 07:43:46 +0000 (07:43 +0000)]
Merge "Storwize: add config option to control flash copy rate"
OpenStack Proposal Bot [Sun, 13 Dec 2015 06:22:42 +0000 (06:22 +0000)]
Imported Translations from Zanata
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: Ie5fd8669db11a66c7b1fefedaad85ea3ef94bf7e
Marian Horban [Wed, 2 Sep 2015 12:35:50 +0000 (08:35 -0400)]
Remove eventlet WSGI functionality
This commit removes eventlet WSGI server and starts using
generic eventlet WSGI server from oslo.service library.
The change where the wsgi functionality was added to
oslo.service can be referenced here:
If8840168f10cc3561f4f01e6d456d6b4fd1de8b5.
DocImpact
Depends-on: If8840168f10cc3561f4f01e6d456d6b4fd1de8b5
Implements blueprint: reusing-wsgi-from-oslo.service
Closes-Bug: #
1499658
Change-Id: Iea8af7b4a569fedc99e126524f18f98097c95a6d
Ondřej Nový [Fri, 11 Dec 2015 20:06:14 +0000 (21:06 +0100)]
Deprecated tox -downloadcache option removed
Caching is enabled by default from pip version 6.0
More info:
https://testrun.org/tox/latest/config.html#confval-downloadcache=path
https://pip.pypa.io/en/stable/reference/pip_install/#caching
Change-Id: I5376fa4891a1a1f469af36d850b4045d24590aec
Szymon Borkowski [Fri, 11 Dec 2015 11:20:03 +0000 (12:20 +0100)]
Fix for showing default quotas to non-admin user
Earlier, when non-admin user wanted to get quotas for his own
projects, if there were no custom quota values set, the API
used to return zero values.
Change-Id: I753af89aa5aae5ad20abe48441df3dbd02b8e05e
Closes-Bug:
1523928
Jenkins [Fri, 11 Dec 2015 03:20:39 +0000 (03:20 +0000)]
Merge "Retype functionality in Tintri driver"
Jenkins [Fri, 11 Dec 2015 03:03:16 +0000 (03:03 +0000)]
Merge "VNX: Fix issue in deleting cg/cgsnapshot"
Jenkins [Fri, 11 Dec 2015 02:06:43 +0000 (02:06 +0000)]
Merge "Use wild card for passing env variable"
Jenkins [Thu, 10 Dec 2015 22:25:21 +0000 (22:25 +0000)]
Merge "Check context before returning cached value"
Jenkins [Thu, 10 Dec 2015 20:51:16 +0000 (20:51 +0000)]
Merge "Add validation for volume_type of volume object"
Jenkins [Thu, 10 Dec 2015 20:28:37 +0000 (20:28 +0000)]
Merge "Fix non-migration swap with error"
Jenkins [Thu, 10 Dec 2015 18:34:16 +0000 (18:34 +0000)]
Merge "XtremIO: fix iscsi chap discovery bug"
Manjeet Singh Bhatia [Thu, 10 Dec 2015 15:37:34 +0000 (15:37 +0000)]
Use wild card for passing env variable
Change-Id: Ia8908941d5619d8c79fa7373c63ff37725fcc4f5
Michał Dulko [Thu, 19 Nov 2015 16:50:20 +0000 (17:50 +0100)]
Recognize extra fields in CinderObjectDictCompat
We're still in the process of transitioning to the object notation in a
lot of places and that's why we've decided to keep specialized get in
CinderObjectDictCompat. This one wasn't looking at aliases (properties)
from obj_extra_fields. This commit fixes that and adds a unit test for
this method.
We should eventually stop using it, but for Mitaka this will make a lot
of things easier.
Change-Id: I1df610bedffdeae56444ce0a40f8fb48216e91b7
Related-Bug:
1516903
OpenStack Proposal Bot [Thu, 10 Dec 2015 06:21:04 +0000 (06:21 +0000)]
Imported Translations from Zanata
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure
Change-Id: Id780e343cc582168bfa2554e25513e94475d776b
Jenkins [Thu, 10 Dec 2015 04:33:38 +0000 (04:33 +0000)]
Merge "Use Cinder API v2 for Rally scenarios"
peter_wang [Tue, 8 Dec 2015 08:18:31 +0000 (03:18 -0500)]
VNX: Fix issue in deleting cg/cgsnapshot
If user deletes a cg/cgsnapshot quickly after its creation,
driver would report 'not found' warning, and return success
for the deletion, but actually, the object underlying the VNX
is not deleted.
This fix tries to wait the cg and cg snapshot to be available
to make sure it's eligible for deletion.
liberty-backport-potential
Closes-Bug:
1499615
Change-Id: Ifae57b9e95e01b1789a37ac7c03e9aad65cd50f7
Mitsuhiro Tanino [Mon, 7 Dec 2015 22:05:24 +0000 (17:05 -0500)]
Add validation for volume_type of volume object
During copy_volume_to_image(), this tries to return
volume['volume_type'] attribute in a volume object, but
if the volume does not have a volume type, this would
trigger a db call which raise an 404 not found error.
Volume object should check volume_type_id at first and
then decide whether returning volume_type or None to
avoid VolumeTypeNotFound exception.
Also this change includes LOG.info messages fix to show
right behavior of copy_volume_to_image().
Change-Id: Id2372621962406282eece2bcbc56c242f9dff8a0
Closes-Bug: #
1523362
OpenStack Proposal Bot [Wed, 9 Dec 2015 21:55:16 +0000 (21:55 +0000)]
Updated from global requirements
Change-Id: I115d45ba9f112ea8824eb7686cb1af69fadc72ff
apoorvad [Wed, 9 Dec 2015 17:42:21 +0000 (09:42 -0800)]
Retype functionality in Tintri driver
At this point default retype behavior is as follows. If a volume changes
type on the same backend then that volume will be migrated. Since Tintri
VMstore does not differentiate between volume types, we can avoid this
migration by implementing retype functionality.
Change-Id: I40b28327e13821d6fb45f89b15267b21ed4c2e8c
closes-bug:
1524435
Jenkins [Wed, 9 Dec 2015 18:06:39 +0000 (18:06 +0000)]
Merge "Python 3: fix a lot of tests"
Ryan McNair [Wed, 9 Dec 2015 15:29:27 +0000 (15:29 +0000)]
Fix non-migration swap with error
The fix I242c2c7c4a7197bbce04d0b3d75688f989ea1fd5 for non-migration
swap volume caused drivers which don't support volume swapping,
e.g. Ceph, to put the volumes in an incorrect state (additional
details can be found in bug #
1489744 report). This patch adds an
additional check to ensure no errors occurred during the swap before
it completes the volume status updates, as well a test-case for
the non-migration swap scenario.
Change-Id: Ic2fddbcb12b4c9d251f9c3aab08a73e12d4d73e2
Closes-Bug: #
1489744
John Griffith [Wed, 9 Dec 2015 07:03:37 +0000 (00:03 -0700)]
Replace use of mox with mock in test_solidfire
Noticed we still had some old usage of mox, replace
the remaining cases of mox with mock in test_solidfire.py
Change-Id: I27c1b4ab04f401765a2ca4eb0ffe4d22da73af4e
Jenkins [Wed, 9 Dec 2015 05:52:03 +0000 (05:52 +0000)]
Merge "Update migrate_volume API to use versionedobjects"
Jenkins [Wed, 9 Dec 2015 02:41:32 +0000 (02:41 +0000)]
Merge "Dynamically Pull Out Option Sections"
Jenkins [Wed, 9 Dec 2015 02:40:50 +0000 (02:40 +0000)]
Merge "Volume driver for Coho Data storage solutions"
Jenkins [Wed, 9 Dec 2015 02:25:13 +0000 (02:25 +0000)]
Merge "3PAR: Implement v2 replication (managed)"
Jenkins [Wed, 9 Dec 2015 01:53:57 +0000 (01:53 +0000)]
Merge "XtremIO: fix missing multiattach flag"
Dave McCowan [Mon, 7 Dec 2015 19:25:24 +0000 (14:25 -0500)]
Check context before returning cached value
The key manager caches the value of barbican client to be reused,
saving an extra call to keystone. The cached value is only
applicable to the current context, so the context must be checked
before returning the cached value.
Change-Id: Ib10909a098fb2cd070129c239b6d3b95edc8fea0
Closes-Bug: #
1523646
Jenkins [Tue, 8 Dec 2015 08:06:21 +0000 (08:06 +0000)]
Merge "Fix StrOpts with integer defaults"
Alex O'Rourke [Thu, 29 Oct 2015 22:04:32 +0000 (15:04 -0700)]
3PAR: Implement v2 replication (managed)
This patch implements the managed 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)
and at least one other target group (3parfc) as such:
[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
volume_driver = cinder.volume.drivers.hpe.hpe_3par_fc.HPE3PARFCDriver
replication_device = managed_backend_name:alex-devstack@3parfc#REMOTE_COPY_DEST2,
replication_mode:periodic,target_device_id:eos7,
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
[3parfc]
hpe3par_api_url = http://11.11.11.11:8008/api/v1
hpe3par_username = user
hpe3par_password = pass
hpe3par_debug = False
san_ip = 11.11.11.11
san_login = user
san_password = pass
volume_backend_name = 3parfc
hpe3par_cpg = REMOTE_COPY_DEST2
volume_driver = cinder.volume.drivers.hpe.hpe_3par_fc.HPE3PARFCDriver
Change-Id: Ie965349af719eaacc287a17c9720ad65464002c0
Implements: blueprint hp-3par-v2-replication
DocImpact
Ivan Kolodyazhny [Mon, 7 Dec 2015 16:23:12 +0000 (18:23 +0200)]
Use Cinder API v2 for Rally scenarios
Cinder API v1 is deprecated so it feels good to test API v2 only to
decrease gating time.
Closes-Bug: #
1523583
Change-Id: I91a233e8423ba878ed33b7d89812a416cbacdc95
Nate Potter [Tue, 17 Nov 2015 16:50:24 +0000 (16:50 +0000)]
Check backup service before backup delete
Right now, if a user tries to delete a backup and the cinder-backup
service is down, the backup status will be error and no message will
be provided to the user. This patch will add a check to see that the
service is running before issuing the rpcapi cast to delete the backup,
and inform the user that the service is down if the check fails. However,
it is still possible with this fix for the service to go down during the
time between the check and when the backup is actually deleted.
Change-Id: Ia9914bfaae8ed9b6972953fc1e78c4471fa1661a
Closes-bug: #
1321519
Cyril Roelandt [Wed, 2 Dec 2015 15:15:43 +0000 (16:15 +0100)]
Python 3: fix a lot of tests
As of this commit, the following tests should now be working with Python 3:
- cinder.tests.unit.api.contrib.test_cgsnapshots
- cinder.tests.unit.api.contrib.test_scheduler_hints
- cinder.tests.unit.api.contrib.test_snapshot_actions
- cinder.tests.unit.api.contrib.test_snapshot_manage
- cinder.tests.unit.api.contrib.test_snapshot_unmanage
- cinder.tests.unit.api.contrib.test_volume_encryption_metadata
- cinder.tests.unit.api.contrib.test_volume_host_attribute
- cinder.tests.unit.api.contrib.test_volume_manage
- cinder.tests.unit.api.contrib.test_volume_migration_status_attribute
- cinder.tests.unit.api.contrib.test_volume_tenant_attribute
- cinder.tests.unit.api.contrib.test_volume_unmanage
- cinder.tests.unit.api.v2.test_volumes
Most changes in this patch:
- make sure that Request.body is set to bytes;
- replace jsonutils.dumps with jsonutils.dump_as_bytes;
- replace json.loads with oslo_serialization.jsonutils.loads;
- replace dict.iteritems with dict.items.
Partial-Implements: blueprint cinder-python3
Change-Id: Icbb96ff84b7012b58f7296eea4fbcd620e081614
Helen Walsh [Sun, 8 Nov 2015 20:38:34 +0000 (20:38 +0000)]
EMC VMAX - Fix for randomly selecting a portgroup
Before now the utils function was always returning the first
portgroup in the list. This fix ensures a port group is
randomly selected from the list, where more than one value
is in the list.
Closes-Bug: #
1501919
Change-Id: I49020a192f62bc75bca26ea0d206e9ed7c700195
Bardia Keyoumarsi [Wed, 18 Nov 2015 00:07:41 +0000 (16:07 -0800)]
Volume driver for Coho Data storage solutions
This patch introduces Coho Data volume driver along with unit tests.
Implements: blueprint coho-cinder-driver
DocImpact
Documentation for setting up the Coho driver and enabling it
in Cinder will be provided in a separate patch.
Change-Id: I06a66d10add9132d0f3afca054d68094ddfb4da0
Signed-off-by: Bardia Keyoumarsi <bardia.keyoumarsi@cohodata.com>
Jenkins [Sun, 6 Dec 2015 20:39:39 +0000 (20:39 +0000)]
Merge "Address potential races in SolidFire VAG"
Shay Halsband [Thu, 19 Nov 2015 14:42:46 +0000 (16:42 +0200)]
XtremIO: fix iscsi chap discovery bug
* The set and get parameters for discovery auth have different
names and caused a confusion that led to a bug, fixed in this
commit.
* Add unit test to make sure the right parameters are used
Change-Id: I8e61394ba5109f2a6c7018855f8b85133bc76412
Closes-Bug: #
1518945
Shay Halsband [Tue, 1 Dec 2015 07:21:11 +0000 (09:21 +0200)]
XtremIO: fix missing multiattach flag
* add missing multiattach flag from capabilities
Change-Id: I46bcf503e741063979528ecc96d4810a23f8fc05
Closes-Bug:
1521498
Sean McGinnis [Sat, 5 Dec 2015 18:19:52 +0000 (12:19 -0600)]
Fix StrOpts with integer defaults
A couple config options sneaked in defined as strings but
really expecting integer values. This causes errors with the
latest oslo.config that expects the appropriate type.
This patch changes these instances to be the expected IntOpt.
Change-Id: I449c1f0057d6f4afabfb8b71040427dbcb0ca4ee
Kendall Nelson [Fri, 4 Dec 2015 00:10:39 +0000 (18:10 -0600)]
Dynamically Pull Out Option Sections
Previously in the generation of the opts.py file, the option groups
were hard coded. Now, they are pulled out as the lines are parsed.
If a group doesn't already exist in the dictionary it gets added and
then the options are added to the section. If the group already exists,
the options are added to the proper section as you would expect, and if
the options being registered don't have a group, they are added to the
default section.
This patch also moves the check for a non-zero exit code from
oslo-config-generator to the right location in the file. This
logic had been put too late in the file and was not catching
oslo-config-generator failures as it should have been.
Change-Id: I59c8067e8091d8bb212e3609f3a174ddc287707e
Jenkins [Fri, 4 Dec 2015 21:47:50 +0000 (21:47 +0000)]
Merge "Use proper config option to connect to keystone"
Jenkins [Fri, 4 Dec 2015 05:21:34 +0000 (05:21 +0000)]
Merge "Remove version per M-1 release instructions"
Jenkins [Fri, 4 Dec 2015 01:43:20 +0000 (01:43 +0000)]
Merge "Adding devref about genconfig"