Tom Barron [Wed, 17 Jun 2015 10:48:26 +0000 (06:48 -0400)]
Port NetApp NFS drivers to use ABC driver model
NetApp NFS drivers inherit from NfsDriver, which in turn
inherits from RemoteFSDriver. Now that RemoteFSDriver and
NfsDriver have been ported to the ABC driver model, we have ported
the NetApp NFS drivers as well.
Change-Id: I785d0bb282589cab9efee60ab7900e09d54bb7e0
Partially-implements: blueprint abc-driver-update
Jenkins [Tue, 14 Jul 2015 15:58:13 +0000 (15:58 +0000)]
Merge "Fix saving tz aware datetimes in Versioned Objects"
Jenkins [Mon, 13 Jul 2015 23:37:32 +0000 (23:37 +0000)]
Merge "Removing archaic references"
Jenkins [Mon, 13 Jul 2015 22:14:37 +0000 (22:14 +0000)]
Merge "Storwize_svc_npiv_compatibility_mode default value change"
Jenkins [Mon, 13 Jul 2015 21:52:46 +0000 (21:52 +0000)]
Merge "Fix HBSD horcm driver with oslo.concurrency 2.1.0"
Jenkins [Mon, 13 Jul 2015 21:07:38 +0000 (21:07 +0000)]
Merge "Updated from global requirements"
Jenkins [Mon, 13 Jul 2015 20:28:51 +0000 (20:28 +0000)]
Merge "cinder list fails with 'name' sort key"
Jenkins [Mon, 13 Jul 2015 20:25:50 +0000 (20:25 +0000)]
Merge "NetApp ONTAP: Add debug tracing"
David Medberry [Sat, 20 Jun 2015 12:34:35 +0000 (06:34 -0600)]
Removing archaic references
This document was originally imported from Nova. Removing some of the
old references to Quickstart and Hypervisors.
http://docs.openstack.org/developer/cinder/devref/development.environment.html
has a dangling link to a ../quickstart document (removed long ago.)
Change-Id: If70f4cb45034e78304cd8c5c5d5deccb692d19e7
Closes-bug: #
1225822
Jenkins [Mon, 13 Jul 2015 15:52:03 +0000 (15:52 +0000)]
Merge "Remove unused parameter in PureFCDriver _connect"
Jenkins [Mon, 13 Jul 2015 14:32:15 +0000 (14:32 +0000)]
Merge "set/unset volume image metadata"
Kuo-tung Kao [Mon, 6 Jul 2015 06:40:07 +0000 (14:40 +0800)]
cinder list fails with 'name' sort key
Change sort key from `name` to `display_name` if the key, `name` exists.
Change-Id: I9e285c7de2e860b251f881ab82d8d2d93e1191d2
Closes-Bug: #
1404020
xqli-openstack [Mon, 6 Jul 2015 12:02:46 +0000 (05:02 -0700)]
Storwize_svc_npiv_compatibility_mode default value change
IBM cinder config item storwize_svc_npiv_compatibility_mode
should always be set to True. Mark it as deprecated and remove
it in M release.
Closes-Bug:
1471749
Change-Id: I2de183b2a86e034d7939e7aa39ee2672320c9add
Patrick East [Mon, 13 Jul 2015 03:21:19 +0000 (20:21 -0700)]
Remove unused parameter in PureFCDriver _connect
The ‘initiator_data’ parameter is unused and can safely be removed.
Change-Id: I6b9c8b7b87a75fc15400d141c8b16c5f9a364953
Closes-Bug: #
1473822
Jenkins [Mon, 13 Jul 2015 03:04:52 +0000 (03:04 +0000)]
Merge "Fix not implemented wording in update_migrated_volume"
OpenStack Proposal Bot [Sun, 12 Jul 2015 15:17:16 +0000 (15:17 +0000)]
Updated from global requirements
Change-Id: I4549af0e48c9b43b18ec9dafb8abff394d9d2fa7
Gorka Eguileor [Fri, 26 Jun 2015 14:05:04 +0000 (16:05 +0200)]
Fix saving tz aware datetimes in Versioned Objects
Currently we cannot save date fields in Versioned Objects because they
are timezone aware and our database is not.
If we look at our objects definition, we are not giving any value to
tzinfo_aware argument, so it takes DateTime default value (True).
In our sqlalchemy model definitions we are defining our datetime fields
as Column(DateTime) which will take sqlalchemy default: class
sqlalchemy.types.DateTime(timezone=False)
In most cases we are accessing those fields directly through the DB
methods, so we don't see the problem, but if we were to modify any of
those fields using versioned object, for example scheduled_at, and then
save the object we'll get an exception:
File ".../sqlalchemy/sql/type_api.py", line 278, in compare_values
return x == y
TypeError: can't compare offset-naive and offset-aware datetimes
Because we are trying to save a timezone aware date to a timezone
unaware DB field.
Following Dan's advice we create a specific cinder_obj_get_changes,
instead of overwriting obj_get_changes, that returns all datefields as
timezone naive UTC datetimes ready for saving.
Change-Id: Ie7b0249e3f6850e7c70d23fc53cfaf27fe04afbb
Closes-Bug: #
1469120
Jenkins [Sun, 12 Jul 2015 05:22:10 +0000 (05:22 +0000)]
Merge "Improve 3PAR driver VLUN creation and deletion"
Jenkins [Sun, 12 Jul 2015 05:12:43 +0000 (05:12 +0000)]
Merge "Remove hacking check N327"
Dave Chen [Fri, 16 Jan 2015 09:59:18 +0000 (17:59 +0800)]
set/unset volume image metadata
This patch implements:
- Create, delete, update APIs for modifying volume image metadata.
- Refactoring in the volume API to accommodate both user and
image metadata.
- All of the necessary testcases needed for the changes.
DocImpact
APIImpact
Partially implements: bp support-modify-volume-image-metadata
Change-Id: I22792ef7bd49c763d7c130aa8cac9abc3fff2d4c
Jenkins [Sat, 11 Jul 2015 01:40:56 +0000 (01:40 +0000)]
Merge "Fix NetApp cDOT driver use of Glance locations"
Jay S. Bryant [Fri, 10 Jul 2015 21:38:15 +0000 (16:38 -0500)]
Fix not implemented wording in update_migrated_volume
It was recommended in review https://review.openstack.org/#/c/180873
that the message sent to the NotImplementedError exception be reworded.
The recommendation was made late in the review process and was not
corrected. This patch implements the recommendation.
Change-Id: I1b0356c7b9d7e493c8501ce388ca4bc855b1e517
Anthony Lee [Fri, 26 Jun 2015 17:38:33 +0000 (10:38 -0700)]
Improve 3PAR driver VLUN creation and deletion
This patch improves the creation and deletion logic for VLUNs
for the 3PAR drivers. The changes will help to prevent VLUNs
from being left behind after volume detaches. It also prevents
extra VLUNs being created when initialize_connection is called
multiple times for the same volume and host.
Closes-Bug: #
1469816
Change-Id: I497564cb4bd661252570eb2e69962f7d5f3c07da
Eric Harney [Fri, 10 Jul 2015 14:25:50 +0000 (10:25 -0400)]
Remove hacking check N327
With mock 1.1.0+, mock will fail when nonexistent
methods are called, so this check is no longer
necessary.
Related-Bug: #
1473454
Change-Id: I9cb8b4a5eab78e51728aa8f83668f5979c0b9be1
Gorka Eguileor [Fri, 10 Jul 2015 11:20:16 +0000 (13:20 +0200)]
Fix tests failing in gate
gate-cinder-python27 gate-cinder-python34 is reporting failures where it
wasn't before. This is all due to new mock version 1.1.0. This patch
fixed the tests to pass the gate.
Some of these errors are actual errors in our test code, while other are
changes to Mock syntax.
Closes-Bug: #
1473454
Change-Id: If8eabfeacacc221e92dfece9f4937875bd70751e
Jenkins [Thu, 9 Jul 2015 20:12:05 +0000 (20:12 +0000)]
Merge "Add missing argument to delete_keys method"
Jenkins [Thu, 9 Jul 2015 18:35:51 +0000 (18:35 +0000)]
Merge "Set encrypted key in connection_info during initialize"
Jenkins [Thu, 9 Jul 2015 15:58:12 +0000 (15:58 +0000)]
Merge "GlusterFS: support extending a volume that has snapshots"
Jenkins [Thu, 9 Jul 2015 05:26:20 +0000 (05:26 +0000)]
Merge "Storwize Driver zone removing"
Jenkins [Wed, 8 Jul 2015 22:16:21 +0000 (22:16 +0000)]
Merge "Nested Quota: Set default values to subproject"
Jenkins [Wed, 8 Jul 2015 19:38:10 +0000 (19:38 +0000)]
Merge "Validate outermost request body element name consistently"
Matt Riedemann [Fri, 19 Jun 2015 18:25:43 +0000 (11:25 -0700)]
Set encrypted key in connection_info during initialize
There are encrypted volume tests in Tempest which are passing
in the ceph job but the encryption providers in nova (luks and
cryptsetup) are not actually being called in nova because the
'encrypted' key isn't being set in connection_info for the Rbd
volume driver, and nova is keying off that value to determine
if it needs to run it's encryption providers.
So the tests are passing in the ceph job but it's a total false
positive and the API should actually fail - either the cinder
API to create the encrypted volumes if the Rbd volume driver in
Cinder doesn't support encryption, or the volume attach call in
nova if it can't encrypt the connected volume, either way the
test should fail until that support is baked into nova.
I'm not aware of any kind of 'supports_encryption' or 'encryptable'
capability flag for cinder volume drivers, but that might be
needed for the volume create API to fail if trying to create a
volume from an encrypted volume type where the volume driver
itself doesn't support encryption - but maybe it's only a nova
problem since nova has the encryption providers.
This is fixed generically in the VolumeManager's
initialize_connection method where we check for the encrypted
flag being set in the volume driver method and if not, the
manager sets it based on the volume.encryption_key_id value.
We do this globally since there are other volume drivers besides
rbd that aren't setting the encrypted key in connection_info,
but we test rbd in the gate via the ceph job so most of the
bug tracking is around validation of the ceph job.
Related Nova change: I8efc2628b09d4e9e59831353daa080b20e17ccde
Depends-On: I8548d41095513b9e669f773e3f35353e9228ead9
DocImpact: Attaching 'encrypted' RBD volumes to a Nova server
instance created from the libvirt virt driver will fail
since RBD volume encryption is not currently supported in
Nova's libvirt driver.
Closes-Bug: #
1440227
Related-Bug: #
1463525
Change-Id: I03f8cae05cc117e14f7482115de685fc9f3fa54a
Vilobh Meshram [Mon, 22 Jun 2015 21:45:02 +0000 (14:45 -0700)]
Nested Quota: Set default values to subproject
In case of hierarchical projects set the default value
(for resources who have the resource flag set) for a
sub-project to zero. This patch adds this functionality for
hierarchical projects, while keeping the functionality
intact for non-hierarchical project. At the top level,
project resources will get the default values as imposed
by the "default" class settings.
Co-Authored-By: Erickson Santos <erickson@lsd.ufcg.edu.br>
Change-Id: I3b357464d5e5e0aa065506ac1e9d908e87f45c63
Partially-Implements: bp cinder-nested-quota-driver
Bob Callaway [Fri, 8 May 2015 19:33:41 +0000 (12:33 -0700)]
Fix NetApp cDOT driver use of Glance locations
As of Kilo, Glance returns a list of locations associated with an
image, but the NetApp cDOT driver only operated on the first one.
In addition, Glance has started enforcing a schema on the metadata
that can be added to images stored in the file glance_store. This
change modifies the cDOT driver to iterate through the list of
locations, using the correct schema-compliant fields, and uses the
first one with a valid IP address for our backend for optimizing
the copy of images into Cinder volumes.
Co-authored-by: Tom Barron <tbarron@dyncloud.net>
Closes-Bug: #
1461116
Change-Id: Ia788aea5110b74833c6a0594f26c9727e06fd87e
Jenkins [Wed, 8 Jul 2015 13:48:44 +0000 (13:48 +0000)]
Merge "Scality SOFS: enhance how the remoteFS mount is detected"
Jenkins [Wed, 8 Jul 2015 13:41:55 +0000 (13:41 +0000)]
Merge "Add tracing facility for drivers"
Jenkins [Wed, 8 Jul 2015 03:53:30 +0000 (03:53 +0000)]
Merge "Fix missing pool name in consistency group"
Jenkins [Wed, 8 Jul 2015 03:26:53 +0000 (03:26 +0000)]
Merge "Correct overquota error message"
Jenkins [Wed, 8 Jul 2015 02:16:49 +0000 (02:16 +0000)]
Merge "Validate maximum limit for quota"
Jenkins [Wed, 8 Jul 2015 02:16:38 +0000 (02:16 +0000)]
Merge "RemoteFS: Reporting configured reserved_percentage in _update_volume_stats"
Jenkins [Wed, 8 Jul 2015 02:07:45 +0000 (02:07 +0000)]
Merge "Dell SC: Add support for consistency groups"
Jenkins [Wed, 8 Jul 2015 02:07:23 +0000 (02:07 +0000)]
Merge "Port NetApp E-Series iSCSI driver to ABC model"
Jenkins [Wed, 8 Jul 2015 02:06:53 +0000 (02:06 +0000)]
Merge "Port huawei driver to Python 3"
Jenkins [Wed, 8 Jul 2015 02:06:43 +0000 (02:06 +0000)]
Merge "Fix error message in Pure driver with correct text"
Walter A. Boring IV [Tue, 7 Jul 2015 21:34:18 +0000 (14:34 -0700)]
Fix missing pool name in consistency group
This patch makes sure that the entire host is used
in the consistency group host entry. Previously,
whatever host entry was in the database was being
overwritten by the volume manager's self.host entry,
which doesn't contain a pool.
Change-Id: Ib377429f9cb442b5aaeb2338dd36b6e33f49a41c
Closes-Bug:
1472344
Jenkins [Tue, 7 Jul 2015 20:09:59 +0000 (20:09 +0000)]
Merge "Return 404 if volume type encryption is not found"
Alex Meade [Mon, 6 Jul 2015 14:18:18 +0000 (10:18 -0400)]
NetApp ONTAP: Add debug tracing
Add debug tracing to the NetApp ONTAP drivers using the
utils.trace_method and utils.trace_api decorators. This
is enabled in the driver via the 'trace_flags' configuration
option.
Change-Id: I7a50b06af28d9dfee83ac44e0ba9dd8233151e2f
Alex Meade [Mon, 6 Jul 2015 14:17:43 +0000 (10:17 -0400)]
Add tracing facility for drivers
It is useful for engineering to be able to see the API traffic
to and from the storage controllers, as well as to see the
progression of method calls through the driver.
This work will add a simple config option to enable various
debug tracing types to be written to the debug log at runtime.
Use of the decorator has been added to NetApp drivers.
Drivers can make use of this facility by adding the
@cinder.utils.trace_method decorator to any method
calls they would like to allow tracing for or use trace_flags
for any other developer targeted debug logs. The trace_method
decorator can easily be added to every function of a class by
using the cinder.utils.TraceWrapperMetaclass or
cinder.utils.TraceWrapperWithABCMetaclass metaclasses. It is
advised to use the added decorators as the outer most decorator
for a function in order to avoid side-effects with other
decorators.
The @cinder.utils.trace_api method should be used to log
requests to storage backends by wrapping a method that
has the request as an argument and returns the response.
For example:
@six.add_metaclass(cinder.utils.TraceWrapperMetaclass)
class MyClass(object):
pass
DocImpact
Change-Id: Ib9b9d3f40a272bb9c7ebccd1dc63df68a555eac5
Simon Dodsley [Tue, 7 Jul 2015 14:06:37 +0000 (10:06 -0400)]
Fix error message in Pure driver with correct text
The error message was specifically mentioning the PureISCSIDriver but
now there is a PureFCDriver which could call the error message. This
change gets the name of the driver and uses that to ensure
the error message refers to the correct driver.
Closes-Bug: #
1469523
Change-Id: Ib724073ea352dadfbe7ddcf4ee4ceedd5d2c7c41
Jenkins [Tue, 7 Jul 2015 14:26:08 +0000 (14:26 +0000)]
Merge "Notify the transfer volume action in cinder"
wanghao [Tue, 26 May 2015 07:32:42 +0000 (15:32 +0800)]
Notify the transfer volume action in cinder
Now when we transfer a volume, there is not corresponding action
notification that is sent to ceilometer. Include the actions of create,
accept and delete.
The bp that this patch implements, proposes adding those action to enrich
the notification in cinder.
Notify is added in Create, Accept, and Delete actions.
Change-Id: I9d71c55d103cc501f60585b64902d364af21d4d9
Implements: blueprint notify-the-transfer-volume-action-in-cinder
Jenkins [Tue, 7 Jul 2015 04:31:44 +0000 (04:31 +0000)]
Merge "Avoid race condition at snapshot deletion stage"
TaoBai [Tue, 30 Jun 2015 07:03:38 +0000 (00:03 -0700)]
Storwize Driver zone removing
Storwize driver may remove zone even when the zone is still in use
by an attached volume. To fix this issue, we need only report initiator
and target map when there are no volumes attached.
Closes-Bug:
1468913
Change-Id: I075b8d37d4d312ae6d812b41bb3732f20987a72d
Jenkins [Mon, 6 Jul 2015 22:35:19 +0000 (22:35 +0000)]
Merge "Remove duplicate volume.filters entry"
tswanson [Mon, 29 Jun 2015 19:21:45 +0000 (14:21 -0500)]
Dell SC: Add support for consistency groups
Added support for consistency groups. Associated tests added to
test_dellsc.py and test_dellscapi.py. create_consistency_group_from_src
is not implemented in this patch.
Minor change to iscsi driver inheritance.
Change-Id: I485329883ba35b341f1b3e79897e5fe6680de1f3
Implements: blueprint dell-add-consistency-groups
Jenkins [Mon, 6 Jul 2015 18:47:45 +0000 (18:47 +0000)]
Merge "Validate bool value using strutils.bool_from_string method"
Jenkins [Mon, 6 Jul 2015 18:47:13 +0000 (18:47 +0000)]
Merge "Add unit tests for the capacity filter"
Jenkins [Mon, 6 Jul 2015 18:47:02 +0000 (18:47 +0000)]
Merge "Remove X-IO volume driver"
Jenkins [Mon, 6 Jul 2015 18:44:34 +0000 (18:44 +0000)]
Merge "Separate FlashSystem FC and iSCSI common code"
Jenkins [Mon, 6 Jul 2015 18:44:23 +0000 (18:44 +0000)]
Merge "Port hitachi driver to Python 3"
Sean Chen [Fri, 5 Jun 2015 19:29:44 +0000 (12:29 -0700)]
Remove duplicate volume.filters entry
mv has already been added by gpfs driver
Change-Id: I1cac9088e377b4cf8a44a5a25174ea68cbe900d4
Jenkins [Mon, 6 Jul 2015 17:46:00 +0000 (17:46 +0000)]
Merge "Port test_db_api to Python 3"
Jenkins [Mon, 6 Jul 2015 17:10:28 +0000 (17:10 +0000)]
Merge "Mock socket.gethostbyaddr in test_v7000_fcp"
Jenkins [Mon, 6 Jul 2015 17:10:16 +0000 (17:10 +0000)]
Merge "Do not allow to modify access for public volume type"
Jenkins [Mon, 6 Jul 2015 16:57:35 +0000 (16:57 +0000)]
Merge "smbfs: fix invalid check for smbfs_used_ratio correctness"
Jenkins [Mon, 6 Jul 2015 15:43:11 +0000 (15:43 +0000)]
Merge "Use right oslo.service entry points"
Jenkins [Mon, 6 Jul 2015 15:39:55 +0000 (15:39 +0000)]
Merge "Update expected error message from lvs"
Tom Barron [Sat, 20 Jun 2015 08:57:54 +0000 (04:57 -0400)]
Port NetApp E-Series iSCSI driver to ABC model
This commit modifies the NetApp E-Series volume driver to the
new ABC driver model. The corresponding FibreChannel driver
already uses that model since it was recently implemented and
was written with an appropriate ABC class signature in the first
place. A corresponding class signature is now used for iSCSI.
This commit also modifies a couple doc strings to match the
corresponding FibreChannel driver.
Change-Id: I624efd6e511f15d34fff1d97a0848c2610185e17
Partially-implements: blueprint abc-driver-update
Jenkins [Mon, 6 Jul 2015 14:23:28 +0000 (14:23 +0000)]
Merge "Fixed misspelling in solidfire.py"
xiaolei hu [Thu, 25 Jun 2015 02:22:50 +0000 (10:22 +0800)]
Separate FlashSystem FC and iSCSI common code
The patch is mainly to split original FC driver code into common
code and FC driver for IBM FlashSystem. iSCSI driver merged in L-1
has been inherited from original FC driver for common functions
already.
In this patch,
* Separate FC driver into new driver and common code.
* Modify iSCSI driver to inherite the common code.
* Common function _get_node_data in iSCSI driver is moved into
common code.
* Add locks in initialize_connection and terminate_connection
for iSCSI driver.
* Remove flashsystem_multipath_enabled to use Cinder iSCSI
multipath support.
Implements: blueprint ibm-flashsystem-split-fc
Change-Id: I166a14e3eef370a22f4c0a675d451a3a4a6989f1
Jenkins [Sat, 4 Jul 2015 00:35:08 +0000 (00:35 +0000)]
Merge "Fix Python 3 issues in cmd"
Alberto Murillo [Tue, 30 Jun 2015 21:12:55 +0000 (16:12 -0500)]
Update expected error message from lvs
drivers/lvm.py uses _volume_not_present() to avoid deleting a snapshot
when it does not exist in the lvm backend. This functions uses brick/
local_dev/lvm.py get_lv_info() which expects "not found" as error message.
Since LVM2 2.102.112, The error message returned by lvs changed
From:
One or more specified logical volume(s) not found
To:
Failed to find logical volume \"%s/%s\"
Change-Id: I032a916666918b07d00983a42f10dd8efc17ee8b
Closes-Bug: #
1470218
Jenkins [Fri, 3 Jul 2015 17:03:28 +0000 (17:03 +0000)]
Merge "Switch to oslo.reports"
Jenkins [Fri, 3 Jul 2015 16:25:40 +0000 (16:25 +0000)]
Merge "Fix block eventlet threads on rbd calls"
marcusvrn [Wed, 1 Jul 2015 18:03:40 +0000 (15:03 -0300)]
Fix HBSD horcm driver with oslo.concurrency 2.1.0
The oslo.concurrency 2.1.0 has replaced locks and replaced with fasteners which
means that locking stuff has moved to a generic 3rd party lib. This lib uses
the variable "path" instead of "fname".
Closes-bug: #
1470112
Change-Id: I8b844c827c940a01da9cd97d8f69b3a7e42f706c
Jenkins [Thu, 2 Jul 2015 23:14:39 +0000 (23:14 +0000)]
Merge "Revert First version of Cinder driver for Quobyte"
Mike Perez [Thu, 2 Jul 2015 22:50:05 +0000 (15:50 -0700)]
Remove X-IO volume driver
CI hasn't been reporting for almost a month and the maintainer hasn't
been responsive on the third party mailing list.
Change-Id: Ia99f7ec11f2dd31d458a34ec35200c0d644e5d90
Jenkins [Thu, 2 Jul 2015 20:17:52 +0000 (20:17 +0000)]
Merge "Implement the update_migrated_volume for the drivers"
Jenkins [Thu, 2 Jul 2015 20:09:14 +0000 (20:09 +0000)]
Merge "Port image/glance.py to Python 3"
Jenkins [Thu, 2 Jul 2015 14:44:58 +0000 (14:44 +0000)]
Merge "Updated from global requirements"
Vincent Hou [Thu, 7 May 2015 05:53:25 +0000 (13:53 +0800)]
Implement the update_migrated_volume for the drivers
This patch implements update_migrated_volume for LVM, Storwize
and updates Dell, StorPool and Infortrend drivers accordingly. It
makes sure that after a successful volume migration, the cinder
volume name(id) is the same as the backend volume name(id). Other
back-end drivers can take this patch as a reference to implement
update_migrated_volume.
PS: Not applicable to multi-attached volumes, since we need to wait
until the multi-attach lands in Nova.
This patch also adds a unit test for the StorPool driver's
update_migrated_volume() implementation.
Co-Authored-By: Peter Penchev <openstack-dev@storpool.com>
Change-Id: I69707340ddf2b55286ff0d84319529b2f502cefa
Partial-Bug: #
1450649
Andrey Pavlov [Fri, 19 Jun 2015 15:03:19 +0000 (18:03 +0300)]
Avoid race condition at snapshot deletion stage
Snapshot`s list method can raise SnapshotNotFound exception.
It happens because of race condition:
1. List method gets all snapshots from DB.
2. At the same time one of the snapshots is being deleted from DB.
3. List method gets snapshot metadata from DB and checks
that snapshot exists in DB and raises the exception.
This patchset changes behaviour of getting snapshot metadata from DB.
Code now gets metadata from db_snapshot object that was queried
by joined query from DB instead of second query for each snapshot
for metadata.
And I removed checking of snapshot existence for getting
metadata for private method because all public methods already have
such decorator. Using second decorator will slow public method.
Change-Id: I7f743638d9be4c01e18315a3459aecd2b3e9fd87
Closes-Bug: #
1462453
Victor Stinner [Tue, 30 Jun 2015 14:47:15 +0000 (16:47 +0200)]
Fix Python 3 issues in cmd
* Replace filter() with a list-comprehension using if to get a list on
Python 3.
* Get the mock module from the stdlib unittest module on Python 3.3 and
newer, or fallback to the third-party mock module.
* Replace __builtin__ with six.moves.builtins.
* tox.ini: add the following tests for Python 3.4
- cinder.tests.unit.test_api
- cinder.tests.unit.test_cmd
Blueprint cinder-python3
Change-Id: Iea516ae598e8eebfc1087663a9b3e0a00d0633d3
Victor Stinner [Tue, 30 Jun 2015 14:06:28 +0000 (16:06 +0200)]
Port image/glance.py to Python 3
* Fix usage of six.reraise(): new_exc is the exception value, not the
exception type
* Replace __builtin__ with six.moves.builtins.
* test_extracting_v2_boot_properties(): set config.glance_num_retries to
fix the test on Python 3 (comparison between mock and int now raises
a TypeError on Python 3).
* TestGlanceSerializer: use dictionaries with only one key to have a
reliable output even if the hash is randomized (hash randomization is
now enabled by default in Python 3).
* tox.ini: add cinder.tests.unit.image.test_glance to Python 3.4.
Blueprint cinder-python3
Change-Id: I33cd02e1b0666d7b5999b2fdaf469dc59fff1866
liu-sheng [Mon, 29 Jun 2015 01:43:31 +0000 (09:43 +0800)]
Switch to oslo.reports
The Guru Meditation Reports has graduated from oslo-incubator, Cinder
should switch to use oslo.reports to keep the code base clean.
NOTE: this should be merged after the requirements has been synchronized.
Change-Id: Ic91a0c5eed09ecdec93e707e901f4bcc55980f72
Closes-Bug:
1469575
liyingjun [Mon, 29 Jun 2015 01:49:34 +0000 (09:49 +0800)]
Validate maximum limit for quota
Currently, when updating quota using limit larger than 0x7FFFFFFF,
there will be a DBError. The maximum limit needs to be validated.
And the maximum value is defined by SQL integer type INT, which
is a general value:
http://dev.mysql.com/doc/refman/5.0/en/integer-types.html
http://www.postgresql.org/docs/9.1/static/datatype-numeric.html
Change-Id: I3b4bd3badb84224bd8196c4fdd523c68310809de
Closes-bug: #
1433052
Jenkins [Thu, 2 Jul 2015 00:16:07 +0000 (00:16 +0000)]
Merge "Fix backup.rpcapi to pass object backup"
OpenStack Proposal Bot [Wed, 1 Jul 2015 22:21:06 +0000 (22:21 +0000)]
Updated from global requirements
Change-Id: Ifc6a27522a5f47306f909a7de651291a96befe54
Jenkins [Wed, 1 Jul 2015 22:16:35 +0000 (22:16 +0000)]
Merge "Replace missed basestring by six for python3 compatability"
Jenkins [Wed, 1 Jul 2015 21:45:52 +0000 (21:45 +0000)]
Merge "Fix timeout issue in EMC VNX driver unit test"
Jenkins [Wed, 1 Jul 2015 19:34:53 +0000 (19:34 +0000)]
Merge "Fix typo in solidfire driver option"
Jenkins [Wed, 1 Jul 2015 18:59:14 +0000 (18:59 +0000)]
Merge "Fix Python 3 issues in targets unit tests"
Ivan Kolodyazhny [Wed, 1 Jul 2015 18:54:23 +0000 (21:54 +0300)]
Fix block eventlet threads on rbd calls
Commit Ibaf43858d60e1320c339f2523b5c09c7f7c7f91e caused new problem with
cross thread communication. According to Python documentation, code can
lead to a deadlock if the spawned thread directly or indirectly attempts
to import a module. python-rados spawns new thread to connect to
cluster. So I removed new spawning new thread to connect to rados. All
long-running operations calls whith python-rbd are still implemented in
native Python threads to block eventlet loop.
Change-Id: Ic9971254102914080383b63cd2807e36213dd6eb
Closes-Bug: #
1401335
Bharat Kumar Kobagana [Tue, 12 May 2015 12:56:34 +0000 (18:26 +0530)]
RemoteFS: Reporting configured reserved_percentage in _update_volume_stats
In remotefs, reserved_percentage will be always reported up to the
scheduler as 0, irrespective of the value of cfg.reserved_percentage.
This patch modifies the code to use reserved_percentage configuration
parameter while updating status.
Closes-Bug: #
1458640
Change-Id: I53917835b79797417aca7b1b3c794c84b6143ab5
Bharat Kumar Kobagana [Wed, 1 Jul 2015 16:14:43 +0000 (21:44 +0530)]
GlusterFS: support extending a volume that has snapshots
GlusterFS driver currently prevents extending a volume that has
snapshots. This patch enables this feature to GlusterFS driver.
Closes-Bug: #
1470148
Change-Id: I763b1a84f32277f3efab2382ad144768bee59aa6
Victor Stinner [Mon, 29 Jun 2015 13:33:12 +0000 (15:33 +0200)]
Port dothill to Python 3
* Replace urllib2 with six.moves.urllib
* On Python 3, encode string to UTF-8 to hash it using MD5
* On Python 3, decode base64 from ASCII to get Unicode
* Replace "pattern in exc" with "pattern in exc.args"
* test_initialize_connection(): fix get_active_iscsi_target_portals()
mock. Use the return_value attribute to return a dictionary, instead
of returning a single IP address.
* tox.ini: add cinder.tests.unit.test_dothill to Python 3.4
Blueprint cinder-python3
Change-Id: Ib20bca813c2352eae447c374ded75c6dafb2e18d
lisali [Wed, 1 Jul 2015 06:32:28 +0000 (14:32 +0800)]
Fix backup.rpcapi to pass object backup
Transfer object backup instead of backup.id in
rpcapi.import_record().
Change-Id: Ie535c48d3987971f0541cdb1594363a4decd4d1c
Closes-Bug: #
1470355
Tom Fifield [Wed, 1 Jul 2015 07:58:04 +0000 (15:58 +0800)]
Fix typo in solidfire driver option
As reported by Ed Balduf, the description of sf_account_prefix
had a simple typo in it, which this patch fixes.
Change-Id: Ib3864de0bdae6763810f3a5a40789ac1e5b0bbff
Co-Authored-By: Ed Balduf <ed.balduf@solidfire.com>
Michal Dulko [Wed, 1 Jul 2015 06:41:03 +0000 (08:41 +0200)]
Mock socket.gethostbyaddr in test_v7000_fcp
Currently test_v7000_fcp doesn't mock socket.gethostbyaddr and
hardcodes expected response to be google-public-dns-a.google.com
(as it is querying for 8.8.8.8 as IP). This introduces dependency on
external DNS lookup to pass unit tests and causes problems with
running tests behind a proxy.
This commit mocks socket.gethostbyaddr in the problematic test.
Change-Id: I3a0288d8e51c832a72e16e23af5adbee990f9e20
Closes-Bug:
1470113
lisali [Wed, 1 Jul 2015 03:05:27 +0000 (11:05 +0800)]
Replace missed basestring by six for python3 compatability
Basestring has been replaced by six.string_types in cinder except
the ones in the file v7000_common.py.
Change-Id: I43c0f4cd2e2a990df8d0cceea2f04ee33afe2104
Closes-Bug: #
1470315