Mike Perez [Thu, 19 Mar 2015 19:20:16 +0000 (12:20 -0700)]
Removing ZFSSA driver for no reported CI
CI deadlines were set and pushed since last year. An email about this
requirement and the deadline of March 19th 2015 has been sent to each
individual driver maintainer, as well as the mailing list [1]. This
driver is being removed because the maintainer does not have a CI
reporting to ensure their driver integration is successful. Therfore, we
can not validate the driver is working in Cinder today in a continuous
way.
Currently, the 3PAR drivers rely on the pool (CPG) existing
in the extra specs of a volume type. This is the way that the
3PAR drivers supported the idea of 'pools' prior to Cinder
itself supporting pools.
Now, the 3PAR drivers will not use the CPG specified in the
extra specs of a volume type. The drivers will log a warning
explaining that CPG is deprecated, and then override the CPG
setting with the pool name specified by the scheduler in the
volume['host'] entry. This fixes a few bugs in the 3PAR
drivers.
Existing 3PAR deployments will need to update their cinder.conf
to specify the list of CPGs they want the driver to support as
pools in the hp3par_cpg=[list of cpgs] entry. hp3par_cpg can be
a single CPG, or a comma separated list of CPGS.
The 3PAR best practice guide will be updated for the Kilo release
explaining how to upgrade from existing deployments and describe
how best to use CPGS as pools.
Mike Perez [Thu, 19 Mar 2015 18:08:37 +0000 (11:08 -0700)]
Removing HP MSA driver for no reported CI
CI deadlines were set and pushed since last year. An email about this
requirement and the deadline of March 19th 2015 has been sent to each
individual driver maintainer, as well as the mailing list [1]. This
driver is being removed because it's not supported, so it won't have
a CI reporting to ensure their driver integration is successful.
Therfore, we can not validate the driver is working in Cinder today in
a continuous way.
Mike Perez [Thu, 19 Mar 2015 04:56:39 +0000 (21:56 -0700)]
Removing Coraid driver for no reported CI
CI deadlines were set and pushed since last year. An email about this
requirement and the deadline of March 19th 2015 has been sent to each
individual driver maintainer, as well as the mailing list [1]. This
driver is being removed because the maintainer has chosen not to respond
to the CI deadline email and report a CI to ensure their driver
integration is successful. Therfore, we can not validate the driver is
working in Cinder today in a continuous way.
Mike Perez [Wed, 18 Mar 2015 09:19:45 +0000 (02:19 -0700)]
Add retry to create resource in Datera driver
If the volume is still in a creating state, wait, and retry a few times.
Otherwise, raise an exception for the manager to set the volume into an
error state.
Mitsuhiro Tanino [Wed, 18 Mar 2015 15:48:25 +0000 (11:48 -0400)]
Return updated volume object to the caller of _attach_volume()
Currently, migrate volume between two back-ends using LIO scsi
target fails due to the error of "Unable to terminate volume
connection: 'NoneType' object has no attribute 'split'".
The root cause of this error is _detach_volume() during volume
migration does not use updated volume object which is updated
during _attach_volume() by create_export().
As a result terminate_connection() which is called from
_detach_volume() tries to split volume['provider_location']
even if the entry is None and causes above error.
Also same error would be happened following methods.
Tom Barron [Mon, 16 Mar 2015 07:43:18 +0000 (03:43 -0400)]
Reduce configured file size for nfs backup unit tests
Unit tests that were ported from the Swift backup
service for NFS backup trigger memory errors when
run in tox on a 1GB VM. This commit configures
NFS backup 'backup_file_size' to match the default
Swift 'chunk_size' so that the NFS backup unit test
memory consumption is dialed down to match the Swift
unit tests.
Xing Yang [Mon, 9 Mar 2015 15:18:11 +0000 (11:18 -0400)]
Don't override extra specs with config in VMAX
A recent merge in https://review.openstack.org/#/c/157679
brought in regression because it tied volume type extra specs to
config file settings.
This patch rolled back most of the changes and don't let extra specs
be overwritten by the config file settings. Intervals and retries
will be read from the config file.
Rushil Chugh [Thu, 5 Mar 2015 22:16:26 +0000 (17:16 -0500)]
Fixing mount when state_path is configured with a final '/'
If state_path variable is configured with a final '/' on path, then
mount_path variable is created with wrong syntax. This causes
a failure when the c-vol process tries to mount the filesystem.
This patch proposes to fix the aforementioned problem by checking
the validity of the mount point and fixing the mount point in case
it has an incorrect value.
Tina [Mon, 16 Mar 2015 22:55:31 +0000 (18:55 -0400)]
Remove the reference of volume['instance_uuid']in VNX driver
Multiattach feature removed the column 'instance_uuid' and
'attached_host' from volume DB model. However, these 2 fields are
used by VNX driver to determine the volume's original status
in retype. This patch changed the VNX driver to not use those
removed fields.
VMware: Fail immediately for images in a container
Currently VMDK driver doesn't support images within
a container such as OVA. Instead of throwing an error
immediately, the driver tries to create a backing
using the container as its vmdk. This will eventually
fail with vCenter error. This patch fixes it.
Make unused iscsi_num_targets, iser_num_targets configs as deprecated
After introducing new iscsi target driver model via Change-Id:
I43190d1dac33748fe55fa00f260f32ab209be656, configuration
options of iscsi_num_targets and iser_num_targets are not
used in these new scsi targets.
This patch makes these unused configuration options as
deprecated and adds warning messages to notify future removal
of these configs to users.
Also this patch removes _ensure_iscsi_targets() which uses these
two config options from cxt scsi target because this method is
never called anywhere.
Closes-Bug: #1427904
DocImpact: Two unused config options are deprecated
Change-Id: Ic34910f4765f46e2708de7cb686e49418f486709
Thang Pham [Mon, 2 Mar 2015 00:43:58 +0000 (19:43 -0500)]
Raise exception for invalid mock assert calls
Several test cases were using the wrong mock assert methods.
The following patch corrects these calls and adds a method in
test.py (sourced from nova/test.py) to make sure they are
properly caught in the future.
Bob-OpenStack [Mon, 19 Jan 2015 01:05:14 +0000 (17:05 -0800)]
Huawei driver check before associating LUN to a LUN group
This commit fixes the following problems:
* Change in huawei_t.py removes the duplicated wwns
returned from the array.
* Change in rest_common.py adds log print for response
data from the array.
* Change in rest_common.py does a check before associating
a LUN to a LUN group.
* Change in rest_common.py fixes the REST request.
* Change in ssh_common.py checks whether the hostlunid
have already been assigned.
Mitsuhiro Tanino [Thu, 26 Feb 2015 00:16:39 +0000 (19:16 -0500)]
Implement IET target driver
When introducing Change-Id: I43190d1dac33748fe55fa00f260f32ab209be656,
IET driver was not implemented. This patch adds IET target for new
iscsi target driver model.
Part of the process of accepting the Cinder multiattach
patch was to create a follow up patch that fixes some of
the inconsistencies with order of parameters in the new
unit tests. This patch fixes those assertX calls and
parameter ordering to be in the style of:
expected, actual
Xing Yang [Fri, 20 Feb 2015 06:38:09 +0000 (01:38 -0500)]
Fixed a concurrency issue in VMAX driver
This patch fixed the following problem:
When trying to add a second volume to the same masking view,
the first volume got removed at the same time, causing
the operation on the second volume to fail.
When two attach requests happen at the same time on the same
volume, the second one will fail.
Also fixed a W503 pep8 issue (line break before binary operator)
in emc_vmax_common.py.
Duncan Thomas [Tue, 13 Jan 2015 16:41:13 +0000 (18:41 +0200)]
Fix LVM thin pool creation race
In the event that two copied of the LVM driver get init called at
the same time (e.g. cinder-volume and cinder-backup getting
started in parallel, on the same host), it is possible for the
thin pool check/create to race. Add a simple recheck if the create
fails, to cover this window.
peter_wang [Fri, 13 Mar 2015 06:27:17 +0000 (02:27 -0400)]
Fix ArgsAlreadyParsedError in emc_vnx_cli.py
This error was introduced after adding following:
logging.register_options(CONF)
in https://review.openstack.org/#/c/157441/
So, this patchset is to remove this.
Jay S. Bryant [Wed, 11 Mar 2015 01:15:00 +0000 (20:15 -0500)]
Move to the oslo.middleware library
This patch moves Cinder to using olso.middleware, updates us so
we are using the oslo_middleware namespace and syncs the latest
middleware code from oslo-incubator to support grenade jobs.
The details for the middleware sync from oslo-incubator are as follows:
Current HEAD in OSLO:
---------------------
commit e589dde0721a0a67e4030813e582afec6e70d042
Date: Wed Feb 18 03:08:12 2015 +0000
Merge "Have a little fun with release notes"
Changes merged with this patch:
---------------------
__init__.py 4ffc4c87 - Add middleware.request_id shim for Kilo 4504e4f4 - Remove middleware
catch_errors.py a01a8527 - Use oslo_middleware instead of deprecated oslo.middleware ce8f8fa4 - Add middleware.catch_errors shim for Kilo 4504e4f4 - Remove middleware 5d40e143 - Remove code that moved to oslo.i18n 76183592 - add deprecation note to middleware 463e6916 - remove oslo log from middleware fcf517d7 - Update oslo log messages with translation domains
request_id.py a01a8527 - Use oslo_middleware instead of deprecated oslo.middleware 66d8d613 - Fix oslo.middleware deprecation error 4ffc4c87 - Add middleware.request_id shim for Kilo 4504e4f4 - Remove middleware 76183592 - add deprecation note to middleware d7bd9dc3 - Don't store the request ID value in middleware as class variable
Some notes on this change. It is based on the change made in Nova:
https://review.openstack.org/#/c/130771 and is the recommended method
for cleaning up the unused portions of middleware from oslo-incubator,
moving to the oslo.middleware library and not breaking grenade in the
gate.
Sean McGinnis [Tue, 24 Feb 2015 15:24:52 +0000 (09:24 -0600)]
Remove use of contextlib.nested
The contextlib.nested call has been deprecated
in Python 2.7. This causes DeprecationWarning
messages in the unit tests.
There are also known issues with contextlib.nested
that were addressed by the native support for
multiple "with" variables. For instance, if the
first object is created but the second one throws
an exception, the first object's __exit__ is never
called.
Since Cinder no longer supports 2.6 we can remove
the use of these contextlib.nested calls.
Added hacking check to catch if any new instances
are added to the codebase.
Note: line continuation markers (e.g. '\') had to
be used or syntax errors were thrown. While using
parentheses is the preferred way for multiple line
statements it is not a requirement.
Jay S. Bryant [Thu, 12 Mar 2015 18:34:16 +0000 (13:34 -0500)]
Remove strutils from oslo-incubator
This change goes along with the work to get away from
oslo-incubator modules to using the new oslo libraries.
The strutils module moved to the oslo_utils library and
should no longer be used from oslo-incubator.
Additionally, merging this change removes a dependency on
gettextutils, allowing us to remove another deprecated
module.
Michal Dulko [Thu, 12 Mar 2015 16:24:09 +0000 (17:24 +0100)]
Add waiting for the driver to SchedulerManager
This patch adds _wait_for_scheduler method before serving any request.
Method waits till scheduler.is_ready() returns true or
CONF.periodic_interval seconds passed from service startup.
Jay S. Bryant [Thu, 12 Mar 2015 15:06:23 +0000 (10:06 -0500)]
Update hacking check for oslo_log
With commit 5980da5d we moved Cinder to using the olso.log
library. We also moved to the new oslo_log namespace. With that
change we should have also updated the hacking checks to include
looking for old uses of oslo.log.
Michal Dulko [Thu, 12 Mar 2015 15:07:03 +0000 (16:07 +0100)]
Add is_ready method to scheduler driver
This commit adds is_ready method to scheduler driver to indicate
if driver is ready to accept requests. Scheduler is considered ready
when host_manager received capabilities for all active volume services.