We missed an access to volume['instance_uuid']
in the multiattach patch. The instance_uuid and attached_host
were moved into the volume_attachment table.
This patch changes how we test to see if a volume is available
or not, but checking the new location.
I must have missed this driver in the multiattach
patch. The attachment object is passed in to
detach_volume to give drivers a chance to deal with
a detach call.
This patch just updates the signature of the method
to be the same as the parent.
Gorka Eguileor [Mon, 2 Mar 2015 14:51:07 +0000 (15:51 +0100)]
Make lio iSCSI changes persistent to avoid lost
To avoid losing iSCSI configuration when target.service is
started/restarted we make persistent any change Cinder makes to the
configuration.
This will allow us to coordinate access from multiple rtslib users
(target daemon, targetcli, cinder...)
This patch changes rtstool and adds an additional command "save" with
optional parameter the filename where we want to save current
configuration. If no parameter is provided it saves to default location
defined by rtslib.
Thang Pham [Wed, 25 Mar 2015 14:54:23 +0000 (10:54 -0400)]
Sort list of cinder_object.changes
If PYTHONHASHSEED is set to a non-zero value,
test_objects.TestObject.test_base_attributes unit test
fails. This is because 'cinder_object.changes' key is
an unsorted list when the object is converted to a
primitive. The following patch fixes this by sorting
cinder_object.changes.
Tom Swanson [Tue, 24 Mar 2015 17:57:22 +0000 (12:57 -0500)]
Dell Storage Center API change fails init_conn
An attribute in the dell storage center REST API containing
the world wide name of the target device changed. This meant
that on intialize connection we were returning None instead of
the wwn.
The driver has been changed to look for the new attribute and
to fall back to the old. If neither is found it will not
return a target wwn of None.
John Griffith [Tue, 24 Mar 2015 03:08:15 +0000 (03:08 +0000)]
Enable request-id in cinder API logs
Using common.local:store.context doesn't work correctly with
the new oslo_log module. This change removes the calls to
common.local and removes the file altogether which allows the
proper settings to be passed in to the logging module and give
us back our request-id in the API logs.
Rushil Chugh [Thu, 19 Mar 2015 01:00:36 +0000 (21:00 -0400)]
The value of netapp_storage_protocol should default to none
The value of netapp_storage_protocol was changed from 'None' to 'iscsi'
in a recent commit. It needs to be reverted back to its correct default
value of 'None'.
Silvan Kaiser [Fri, 20 Mar 2015 13:30:26 +0000 (14:30 +0100)]
Fix: Synchronise Quobyte Share mounting
Quobyte ci tests show random failures with multiple similar shares.
A single share is listed in mounted shares twice after two (or more)
chronologically close successive calls to
_ensure_shares_mounted (examples see bug or similar Quobyte ci error
reports).
This is now prevented by synchronizing the method.
Patrick East [Fri, 20 Mar 2015 18:27:52 +0000 (11:27 -0700)]
Update file doc string for pure.py
The PureISCSIDriver now requires a higher version of the REST API, this
causes the required Purity version to go up to 4.0.0. The doc string
for the pure.py file was not updated to reflect this.
Sean Dague [Fri, 20 Mar 2015 12:26:08 +0000 (08:26 -0400)]
update oslo policy to remove policy.d log spam
After oslo policy added config dirs it started spamming the logs
relentlessly on if you didn't have a policy.d directory on your
system. This is a very unfriendly upgrade to operators.
A fix was provided in the incubator just before incubator policy was
deleted. This syncs in that fix.
Daniel Wilson [Fri, 20 Mar 2015 04:35:14 +0000 (21:35 -0700)]
Remove chap secret DEBUG logging in PureISCSIDriver
We are removing a small piece of code that caused the CHAP secret to be logged
in plain text in the log file when DEBUG level logging is turned on in Cinder.
This is undesirable so it is being taken out.
Mike Perez [Fri, 20 Mar 2015 01:32:04 +0000 (18:32 -0700)]
Removing Windows drivers 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.
Michal Dulko [Thu, 19 Mar 2015 20:53:46 +0000 (21:53 +0100)]
Fix logging mistake in swift backup driver
After recent swift driver refactoring a small mistake was introduced
causing c-bak to log an exception because of wrong number of arguments
to format a string. This commit fixes the issue.
Mike Perez [Thu, 19 Mar 2015 20:37:32 +0000 (13:37 -0700)]
Removing Zadara 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.
Mike Perez [Thu, 19 Mar 2015 19:38:55 +0000 (12:38 -0700)]
Removing Huawei drivers 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.
Mike Perez [Thu, 19 Mar 2015 20:02:10 +0000 (13:02 -0700)]
Removing Netapp FC drivers 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.
Mike Perez [Thu, 19 Mar 2015 19:12:45 +0000 (12:12 -0700)]
Removing Fujitsu 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 [Thu, 19 Mar 2015 19:44:38 +0000 (12:44 -0700)]
Removing DRBD 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.
Mike Perez [Thu, 19 Mar 2015 19:29:30 +0000 (12:29 -0700)]
Removing FusionIO 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 [Thu, 19 Mar 2015 17:51:36 +0000 (10:51 -0700)]
Removing Nexenta 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.
Mike Perez [Thu, 19 Mar 2015 18:15:01 +0000 (11:15 -0700)]
Removing Symantec NFS 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.
Mike Perez [Thu, 19 Mar 2015 19:25:19 +0000 (12:25 -0700)]
Removing StorPool 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.
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.
Sean McGinnis [Thu, 19 Mar 2015 13:37:49 +0000 (08:37 -0500)]
Logging not using oslo.i18n guidelines
Part of multi-patch set for easier chunks.
There have been quite a few instances found where the
i18n guidelines are not being followed. I believe this
has helped lead to some of the confusion around how to
correctly do this. Other developers see this code and
assume it is an example of the correct usage.
This patch attempts to clean up most of those violations
in the existing codebase to hopefully help avoid some of
that confusion in reviews.
Some issues address:
* Correct log translation markers for different log levels
* Passing format values as arguments to call, not preformatting
* Not forcing translation via six.text_type and others
Guidelines can be found here:
http://docs.openstack.org/developer/oslo.i18n/guidelines.html
Hacking checks will not be able to identify all violations of
the guidelines, but it could be useful for catching obvious ones
such as LOG.info("No markers!").
Eric Harney [Thu, 19 Mar 2015 16:27:59 +0000 (12:27 -0400)]
Tests: Fix az test failure when PYTHONHASHSEED != 0
The test_list_availability_zones_enabled_service test calls
a method which returns a tuple that is generated from a dict.
This is compared to a tuple in the test, which can fail when
PYTHONHASHSEED is not 0, due to the tuples containing elements
in different orders. (Because the dict used to build the tuple
was ordered differently.)
For this test, we can convert to lists and sort them to do the
comparison, since the ordering is not important.
tsekiyam [Tue, 17 Mar 2015 23:59:08 +0000 (19:59 -0400)]
Remove error messages from multipath command output before parsing
This fixes an issue in _get_multipath_device_name() that fails to
parse the output from 'multipath -ll <device>' command when the
stdout contains error messages in addition to the expected output.
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.
SAN driver was sending commands over ssh with whitespaces between
every character resulting in commands like "u n a m e - s" instead
of "uname -s" (example from bug report).
As the bug reporter noted, the problem was that there were two joins
in the process of mounting the command. The first one got the
tuple and joined into a string. The second one joined a whitespace
between each character of the string.
Additionally, this behavior made utils.ssh_injection a bad check,
because it expected a list of args used in 'for arg in cmd_list' and
what it got was a single string. This resulted in the check being made
over the single characters instead of each arg.
All this is to explain why I chose to remove the first join instead of
the second one.
An unit test for this issue was created. SAN driver had no unit test.
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.