]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
10 years agoVMware: Implement vmdk extend_volume
Vincent Hou [Fri, 7 Mar 2014 16:55:34 +0000 (11:55 -0500)]
VMware: Implement vmdk extend_volume

Add the API implementation of extend_volume for the VMware
vmdk driver.

Change-Id: Idf09c9e9cf015c78c1c5e91c05b897e3e9b7c006
Closes-Bug: #1232172

10 years agoMerge "Don't send untextified exc to webob"
Jenkins [Sun, 16 Mar 2014 15:37:22 +0000 (15:37 +0000)]
Merge "Don't send untextified exc to webob"

10 years agoMerge "GPFS unit tests: increased coverage, uses mock"
Jenkins [Sun, 16 Mar 2014 11:41:00 +0000 (11:41 +0000)]
Merge "GPFS unit tests: increased coverage, uses mock"

10 years agoMerge "Use six.moves.urllib.parse instead of urlparse"
Jenkins [Sun, 16 Mar 2014 10:13:33 +0000 (10:13 +0000)]
Merge "Use six.moves.urllib.parse instead of urlparse"

10 years agoMerge "Add snapshot related data to limits api"
Jenkins [Sun, 16 Mar 2014 06:39:48 +0000 (06:39 +0000)]
Merge "Add snapshot related data to limits api"

10 years agoMerge "Fix create_export/remove_export in driver.py"
Jenkins [Sat, 15 Mar 2014 20:35:45 +0000 (20:35 +0000)]
Merge "Fix create_export/remove_export in driver.py"

10 years agoMerge "NetApp api fix structure conversion methods"
Jenkins [Sat, 15 Mar 2014 18:50:26 +0000 (18:50 +0000)]
Merge "NetApp api fix structure conversion methods"

10 years agoMerge "Switch over to oslosphinx"
Jenkins [Sat, 15 Mar 2014 17:29:03 +0000 (17:29 +0000)]
Merge "Switch over to oslosphinx"

10 years agoFix create_export/remove_export in driver.py
Avishay Traeger [Wed, 26 Feb 2014 09:27:06 +0000 (11:27 +0200)]
Fix create_export/remove_export in driver.py

1. There was a call to rpcapi.create_export which does not have a
matching volume manager function, causing volume migration to crash.
This call was not necessary because there is already an
initialize_connection RPC call, which calls the driver's create_export
function. Removed the create_export RPC call and function. Added better
error handling to that code in _attach_volume in driver.py as well.

2. The manager called remove_export from detach_volume, which was not
being called by these functions. I believe it makes more sense to call
it from terminate_connection. Moved it there, and fixed up the
corresponding code in _detach_volume in driver.py.

3. Remove leftovers of export code from create_volume manager flow.

Change-Id: I2b192630ebed54368f151db47b49cbc72601a8d7
Closes-Bug: #1285060

10 years agoImported Translations from Transifex
OpenStack Jenkins [Sat, 15 Mar 2014 06:10:12 +0000 (06:10 +0000)]
Imported Translations from Transifex

Change-Id: I639b951c583c008b9784e1ea89cc3cda205086a2

10 years agoMerge "Updated from global requirements"
OpenStack Jenkins [Sat, 15 Mar 2014 02:06:49 +0000 (02:06 +0000)]
Merge "Updated from global requirements"

10 years agoMerge "Add missing config values for vmwware_vmdk test"
Jenkins [Sat, 15 Mar 2014 00:47:25 +0000 (00:47 +0000)]
Merge "Add missing config values for vmwware_vmdk test"

10 years agoMerge "Ensure name is utf-8 when deleting rbd vol or snap"
Jenkins [Fri, 14 Mar 2014 22:45:12 +0000 (22:45 +0000)]
Merge "Ensure name is utf-8 when deleting rbd vol or snap"

10 years agoMerge "get volumes with limit and filters does not work"
Jenkins [Fri, 14 Mar 2014 15:57:09 +0000 (15:57 +0000)]
Merge "get volumes with limit and filters does not work"

10 years agoEnsure name is utf-8 when deleting rbd vol or snap
Edward Hope-Morley [Fri, 14 Mar 2014 10:07:45 +0000 (10:07 +0000)]
Ensure name is utf-8 when deleting rbd vol or snap

If the name supplied to librbd is not utf-8 e.g. unicode,
an exception is raised. This was previously fixed and
subsequently broken by commit cbe1d5f.

Change-Id: I29f5e9db87ceb5f9cfe3be43e76d3e860edaf6d7
Closes-Bug: bug 1292433

10 years agoUse six.moves.urllib.parse instead of urlparse
Fengqian Gao [Mon, 10 Mar 2014 02:03:08 +0000 (10:03 +0800)]
Use six.moves.urllib.parse instead of urlparse

To keep Python 3.x compatibility, use six.moves.urllib.parse to
replace urlparse. tools/lintstack is changed to pass pylint test.

Partial-Bug: #1279611

Change-Id: I0ceaaccbf6c67b45609b4f2f5639c362b32d10ad

10 years agoMerge "Imported Translations from Transifex"
OpenStack Jenkins [Fri, 14 Mar 2014 01:19:20 +0000 (01:19 +0000)]
Merge "Imported Translations from Transifex"

10 years agoMerge "Fix exception message of CoraidESMConfigureError"
Jenkins [Fri, 14 Mar 2014 00:10:48 +0000 (00:10 +0000)]
Merge "Fix exception message of CoraidESMConfigureError"

10 years agoMerge "Sync latest Oslo code for imageutils"
Jenkins [Fri, 14 Mar 2014 00:10:40 +0000 (00:10 +0000)]
Merge "Sync latest Oslo code for imageutils"

10 years agoMerge "Revert "Re-enable lazy translation""
Jenkins [Fri, 14 Mar 2014 00:10:37 +0000 (00:10 +0000)]
Merge "Revert "Re-enable lazy translation""

10 years agoMerge "Fixed some FCZM unit tests hacking issues"
Jenkins [Fri, 14 Mar 2014 00:08:34 +0000 (00:08 +0000)]
Merge "Fixed some FCZM unit tests hacking issues"

10 years agoMerge "Fixes cinder-volume service startup on Windows"
Jenkins [Thu, 13 Mar 2014 23:02:09 +0000 (23:02 +0000)]
Merge "Fixes cinder-volume service startup on Windows"

10 years agoMerge "Use debug level logging during unit tests"
Jenkins [Thu, 13 Mar 2014 22:50:26 +0000 (22:50 +0000)]
Merge "Use debug level logging during unit tests"

10 years agoRevert "Re-enable lazy translation"
John Griffith [Mon, 10 Mar 2014 22:00:50 +0000 (22:00 +0000)]
Revert "Re-enable lazy translation"

This reverts commit 6338d4656cb71aeeee2e1a9facb22278e208aa00

Change-Id: I078217b96b2d5fcca78b57c8827883a4b15ef9f0

10 years agoSync latest Oslo code for imageutils
Andrew Kerr [Thu, 13 Mar 2014 19:01:27 +0000 (15:01 -0400)]
Sync latest Oslo code for imageutils

This sync pulls the latest Oslo imageutils code over to cinder
to fix QemuImgInfo parsing needed by NFS drivers.

-> b455fac Enable decimal value input in imageutils.QemuImgInfo
--> cinder/openstack/common/imageutils.py

Oslo version:
-> 0e98afd Re-raise exception of unloadable library
-> Date:   Tue Mar 4 17:26:40 2014 +0100

Change-Id: I770b0f534c6949c2ff6995a03923a21ed26e04da
Closes-Bug: 1285764

10 years agoMerge "cinder-rtstool imports a not existing module"
Jenkins [Thu, 13 Mar 2014 17:43:44 +0000 (17:43 +0000)]
Merge "cinder-rtstool imports a not existing module"

10 years agoDon't send untextified exc to webob
Jay S. Bryant [Wed, 12 Mar 2014 22:39:18 +0000 (17:39 -0500)]
Don't send untextified exc to webob

As part of commit cbe1d5f5e22e5f792128643e4cdd6afb2ff2b5bf I
accidentally removed the str() from exceptions that were being
passed out of OpenStack to webob.  This broke the contract with
webob which was expecting strings (text) to be sent.  This
resulted in webob doing bad things if we encountered an exception,
like trying to create a duplicate volume type.

This commit replaces the str()'s that shouldn't have been removed
with six.text_type() which should be used in place of str() to
resolve this issue.  There was one instance where a message was
instead being unicoded, this also was changed to use six.text_type.

This commit also fixes one message that should have been translated
but was not.

Change-Id: Iad6a81108f58c1bfd13397479022c4c4ad1ccc56
Closes-bug: 1290715

10 years agoMerge "vmware: Mark VMware ESX vmdk driver as deprecated"
Jenkins [Thu, 13 Mar 2014 16:37:05 +0000 (16:37 +0000)]
Merge "vmware: Mark VMware ESX vmdk driver as deprecated"

10 years agoImported Translations from Transifex
OpenStack Jenkins [Thu, 13 Mar 2014 06:12:48 +0000 (06:12 +0000)]
Imported Translations from Transifex

Change-Id: Id72f32cac941e6b65b03d91bfccdb4d5b508c976

10 years agoMerge "Add conversion types in some strings"
Jenkins [Thu, 13 Mar 2014 05:07:23 +0000 (05:07 +0000)]
Merge "Add conversion types in some strings"

10 years agoMerge "Sync log.py from oslo-incubator"
Jenkins [Thu, 13 Mar 2014 05:07:06 +0000 (05:07 +0000)]
Merge "Sync log.py from oslo-incubator"

10 years agoMerge "Add libffi-dev to list of packages to install in dev env"
Jenkins [Thu, 13 Mar 2014 01:58:42 +0000 (01:58 +0000)]
Merge "Add libffi-dev to list of packages to install in dev env"

10 years agoUpdated from global requirements
OpenStack Jenkins [Thu, 13 Mar 2014 01:47:18 +0000 (01:47 +0000)]
Updated from global requirements

Change-Id: I84bf7d09746829a35e71a208abe2e3bfb70208d0

10 years agoUse debug level logging during unit tests
Joe Gordon [Mon, 10 Mar 2014 18:02:13 +0000 (11:02 -0700)]
Use debug level logging during unit tests

When unit tests fail we need to debug, so we should have debug level logging on.
We use fixtures FakeLogger during testing, to enable debug logging pass
in log level as a parameter.

http://bazaar.launchpad.net/~python-fixtures/python-fixtures/trunk/vi
ew/head:/lib/fixtures/_fixtures/logger.py#L68

Taken from nova (Change-Id: I70790aa39c0774726de71e5fa5751c45e7e34ffd)

Change-Id: I24bcce3a9a50322f20f06670d1fe95d929aa2e72

10 years agoMerge "Fixed nova VM live migration issue with 3PAR"
Jenkins [Wed, 12 Mar 2014 19:23:21 +0000 (19:23 +0000)]
Merge "Fixed nova VM live migration issue with 3PAR"

10 years agoMerge "Adding domain to context"
Jenkins [Wed, 12 Mar 2014 19:17:42 +0000 (19:17 +0000)]
Merge "Adding domain to context"

10 years agoSync log.py from oslo-incubator
john-griffith [Wed, 12 Mar 2014 16:59:45 +0000 (10:59 -0600)]
Sync log.py from oslo-incubator

This pulls in the latest version of log.py from oslo-incubator
which elminates the constant user_identity key error.

Note that this sync does a full sync, in other words it uses
the oslo update script and pulls in the log.py file and all
of the associated dependendencies for that module.

Current HEAD in OSLO:
--------------------
Merge: d9ea4f0 fd33d1e
Date:   Wed Mar 12 17:00:13 2014 +0000
Merge "Fix gettextutil.Message handling of deep copy failures"
--------------------

Change-Id: I7c9f8acd22787f9649a5a1e796238c7788a0484a
Fixes-Bug: 1290503

10 years agoFixed some FCZM unit tests hacking issues
Walter A. Boring IV [Mon, 10 Mar 2014 17:27:43 +0000 (10:27 -0700)]
Fixed some FCZM unit tests hacking issues

This patch is a follow up to a review that merged
included and had some issues raised after it was merged.
This patch includes some hacking cleanup and some
unit test cleanup for the Fibre Channel Zone Manager.

Change-Id: Ibb6974b2279f08720c2469893245bc888d35899c
Closes-Bug: #1285029

10 years agoAdd missing config values for vmwware_vmdk test
Sascha Peilicke [Tue, 11 Mar 2014 14:50:38 +0000 (15:50 +0100)]
Add missing config values for vmwware_vmdk test

Import CONF.glance_api_version from cinder.common.config

Closes-Bug: 1290883
Change-Id: I9f64c2f60efe517ad8e4ee2a98ed8da4be257b47

10 years agocinder-rtstool imports a not existing module
Attila Fazekas [Tue, 11 Mar 2014 20:25:45 +0000 (21:25 +0100)]
cinder-rtstool imports a not existing module

cinder.openstack.common.gettextutils should be imported
in cinder-rtstool instead of gettextutils.

Change-Id: I6ce047100c967d72dc31ced0903bc4ad38fecaa4

10 years agoget volumes with limit and filters does not work
Steven Kaufer [Fri, 7 Mar 2014 23:01:51 +0000 (23:01 +0000)]
get volumes with limit and filters does not work

The /volumes and /volumes/detail REST APIs support filtering. Currently,
all filtering is done after the volumes are retrieved from the database
in the API.get_all function in /cinder/volume/api.py. Therefore, the usage
combination of filters and limit will only work if all volumes matching
the filters are in the page of data being retrieved from the database.

For example, assume that all of the volumes with a name of "foo" would be
retrieved from the database starting at index 100 and that you query for
all volumes with a name of "foo" while specifying a limit of 50.  In this
case, the query would yield 0 results since the filter did not match any of
the first 50 entries retrieved from the database.

This patch removes all filtering from the volume API layer and moves it
into the DB layer.

Test cases were added to verify filtering at the DB level.

Change-Id: Ia084e1f4cf59ea39bf8a0a36686146a315168cbb
Closes-bug: 1287813

10 years agoFixes cinder-volume service startup on Windows
Lucian Petrut [Fri, 7 Mar 2014 15:09:33 +0000 (17:09 +0200)]
Fixes cinder-volume service startup on Windows

The Windows service fails due to missing non-blocking IO features
in eventlet. This fix adds a conditional path on Windows to execute
the service accordingly.

This bug had already been fixed by this this commit:
https://review.openstack.org/#/c/44744/ but it had been reverted
here, causing the Windows service to fail again
https://review.openstack.org/67031

Fixes bug: #1219896

Change-Id: I46c6b332e614b6a84ec8372dbec3ee9fb09336de

10 years agoFixed nova VM live migration issue with 3PAR
Walter A. Boring IV [Thu, 6 Mar 2014 19:52:33 +0000 (11:52 -0800)]
Fixed nova VM live migration issue with 3PAR

Nova bypasses the cinder checks for a volume
being available, when it tries to attach a volume
to a new host during live migration.  The assumption
in cinder to this point has been that volumes can only
be attached to one host.  The 3PAR driver worked under
that assumption.  This assumption fell apart during detach
time as the driver was only looking for a VLUN on the
entire 3PAR, since it assumed it could only exist on one host.

This patch ensures that the driver looks for the VLUN on the
hostname it expects.

Change-Id: Ie894ad386990794d270ca1cb72f40095bd40c2e6
Closes-Bug: 1288927

10 years agoAdding domain to context
Luis A. Garcia [Tue, 11 Mar 2014 15:34:02 +0000 (09:34 -0600)]
Adding domain to context

Add support for upcoming "domain" concept in Keystone V3 API in
the context.

This fix ensures there is a user_identity in the context for the
corresponding new attribute in the log format string added in oslo. The
oslo change has the same change-id as this one.

Closes-Bug: #1290503
Change-Id: Ic2cf3e52cfcc0b8adccdf9c59afaa4014708a303

10 years agoSwitch over to oslosphinx
Dirk Mueller [Thu, 13 Feb 2014 13:54:44 +0000 (14:54 +0100)]
Switch over to oslosphinx

oslosphinx is the new name of oslo.sphinx

Closes-Bug: #1277168
Change-Id: Ib30a4a5eb3a86ad5c03324a59e1a8ee4d4897a70

10 years agoAdd libffi-dev to list of packages to install in dev env
Joe Gordon [Tue, 11 Mar 2014 03:34:48 +0000 (03:34 +0000)]
Add libffi-dev to list of packages to install in dev env

libffi-dev is needed by cffi

Change-Id: Ib91bd2e1a1005dc96f9d9054ae5cb150c5fae7db

10 years agoVMware: Take the volume size from the user input
Vincent Hou [Wed, 4 Dec 2013 08:51:20 +0000 (03:51 -0500)]
VMware: Take the volume size from the user input

When we create a volume from an image or a snapshot, we need to
take the size of the volume from the user input and validate whether
the size is appropriate instead of taking the image size as the
volume size directly.

Change-Id: If09933d8ffa989c4dacc0860c19ea332bc21092a
Closes-Bug: #1237557

10 years agoFix exception message of CoraidESMConfigureError
KIYOHIRO ADACHI [Tue, 11 Mar 2014 01:17:32 +0000 (10:17 +0900)]
Fix exception message of CoraidESMConfigureError

Since 'message' is the same name as the second argument to the
constructor of CinderException, 'message="Oorah"' is not a keyword
argument.

Therefore, "message = _('ESM configure request failed: %(message)s.')"
doesn't work correctly.

Then, remove the redundant period.

Change-Id: Iafc457197fc3993f9f942babcdda0cd79b7bd518
Closes-Bug: #1290627

10 years agovmware: Mark VMware ESX vmdk driver as deprecated
Vipin Balachandran [Tue, 11 Mar 2014 00:21:03 +0000 (05:51 +0530)]
vmware: Mark VMware ESX vmdk driver as deprecated

The VMware ESX driver in Nova is now marked as deprecated and will be
removed in Juno release. This change marks the VMware ESX vmdk driver
as deprecated since it is intended for use with the ESX driver in Nova.
The plan is to remove the ESX vmdk driver in Juno release.

Closes-Bug: #1291194
DocImpact
Change-Id: I285f3461c1ccef56329b70417fb023405dfceb5e

10 years agoMerge "Fixes ssh-injection error while using chap authentication"
Jenkins [Wed, 12 Mar 2014 05:37:44 +0000 (05:37 +0000)]
Merge "Fixes ssh-injection error while using chap authentication"

10 years agoMerge "Generate config samples for oslo.messaging"
Jenkins [Tue, 11 Mar 2014 21:04:21 +0000 (21:04 +0000)]
Merge "Generate config samples for oslo.messaging"

10 years agoFixes ssh-injection error while using chap authentication
Jacob M. Jacob [Mon, 10 Mar 2014 22:25:41 +0000 (17:25 -0500)]
Fixes ssh-injection error while using chap authentication

A space in the command construction was being caught by the
ssh-injection check. The fix is to separate the command strings.

Change-Id: If1f719f9c2ceff31ed5386c53cf60bc7f522f4d7
Closes-Bug: #1280409

10 years agoGenerate config samples for oslo.messaging
Flavio Percoco [Tue, 11 Mar 2014 09:33:45 +0000 (10:33 +0100)]
Generate config samples for oslo.messaging

This patch adds oslo.messaging to the
CINDER_CONFIG_GENERATOR_EXTRA_LIBRARIES env variable, which adds
oslo.messaging config options to cinder.conf.sample

Implements blueprint: oslo-messaging

Change-Id: I8aed8a8fdbd5b4ef41e3a3a7dcdebc6f216ec75d

10 years agoAdd conversion types in some strings
KIYOHIRO ADACHI [Fri, 7 Mar 2014 09:31:26 +0000 (18:31 +0900)]
Add conversion types in some strings

Some strings have no conversion types
for 'String Formatting Operations'.

Change-Id: I2c6176954643a93898ff2d06d686793fb0977458
Closes-Bug: #1289230

10 years agoMerge "3PAR: Support extend volume based on snapshot"
Jenkins [Tue, 11 Mar 2014 00:19:48 +0000 (00:19 +0000)]
Merge "3PAR: Support extend volume based on snapshot"

10 years agoMerge "Port to oslo.messaging"
Jenkins [Mon, 10 Mar 2014 21:12:07 +0000 (21:12 +0000)]
Merge "Port to oslo.messaging"

10 years agoMerge "Updated from global requirements"
OpenStack Jenkins [Mon, 10 Mar 2014 20:36:55 +0000 (20:36 +0000)]
Merge "Updated from global requirements"

10 years agoMerge "Convert cinder utils tests to use mock"
Jenkins [Mon, 10 Mar 2014 20:36:52 +0000 (20:36 +0000)]
Merge "Convert cinder utils tests to use mock"

10 years agoPort to oslo.messaging
Flavio Percoco [Fri, 7 Feb 2014 11:20:44 +0000 (12:20 +0100)]
Port to oslo.messaging

The oslo.messaging library takes the existing RPC code from oslo and
wraps it in a sane API with well defined semantics around which we can
make a commitment to retain compatibility in future.

The patch is large, but the changes can be summarized as:

    * oslo.messaging>=1.3.0a4 is required; a proper 1.3.0 release will be
    pushed before the icehouse release candidates.

    * The new rpc module has init() and cleanup() methods which manage the
    global oslo.messaging transport state. The TRANSPORT and NOTIFIER
    globals are conceptually similar to the current RPCIMPL global,
    except we're free to create and use alternate Transport objects
    in e.g. the cells code.

    * The rpc.get_{client,server,notifier}() methods are just helpers
    which wrap the global messaging state, specifiy serializers and
    specify the use of the eventlet executor.

    * In oslo.messaging, a request context is expected to be a dict so
    we add a RequestContextSerializer which can serialize to and from
    dicts using RequestContext.{to,from}_dict()

    * The allowed_rpc_exception_modules configuration option is replaced
    by an allowed_remote_exmods get_transport() parameter. This is not
    something that users ever need to configure, but it is something
    each project using oslo.messaging needs to be able to customize.

    * We maintain a global NOTIFIER object and create specializations of
    it with specific publisher IDs in order to avoid notification driver
    loading overhead.

    * rpc.py contains transport aliases for backwards compatibility
    purposes. setup.cfg also contains notification driver aliases for
    backwards compat.

    * The messaging options are moved about in cinder.conf.sample because
    the options are advertised via a oslo.config.opts entry point and
    picked up by the generator.

    * We use messaging.ConfFixture in tests to override oslo.messaging
    config options, rather than making assumptions about the options
    registered by the library.

Implements blueprint: oslo-messaging

Change-Id: Ib912809428d92e788558439e2d85b51272ebefdd

10 years agoUpdated from global requirements
OpenStack Jenkins [Mon, 10 Mar 2014 14:44:55 +0000 (14:44 +0000)]
Updated from global requirements

Change-Id: I864af28306bd6d3efc3c1101e3510456465b9a66

10 years agoMerge "vmware: PBM wsdl file configuration"
Jenkins [Sat, 8 Mar 2014 09:44:01 +0000 (09:44 +0000)]
Merge "vmware: PBM wsdl file configuration"

10 years agoMerge "vmware: default global pbm policy configuration"
Jenkins [Sat, 8 Mar 2014 09:43:52 +0000 (09:43 +0000)]
Merge "vmware: default global pbm policy configuration"

10 years agoMerge "vmware: check datastore availability during create"
Jenkins [Sat, 8 Mar 2014 09:42:04 +0000 (09:42 +0000)]
Merge "vmware: check datastore availability during create"

10 years agoMerge "vmware: Storage policy based volume placement."
Jenkins [Sat, 8 Mar 2014 09:42:00 +0000 (09:42 +0000)]
Merge "vmware: Storage policy based volume placement."

10 years agoMerge "get volumes API does not handle limit=0"
Jenkins [Sat, 8 Mar 2014 07:14:27 +0000 (07:14 +0000)]
Merge "get volumes API does not handle limit=0"

10 years agoMerge "gpfs driver: fix logging problems"
Jenkins [Sat, 8 Mar 2014 07:14:19 +0000 (07:14 +0000)]
Merge "gpfs driver: fix logging problems"

10 years agoMerge "Fixed spelling error - accomodate to accommodate"
Jenkins [Sat, 8 Mar 2014 05:04:38 +0000 (05:04 +0000)]
Merge "Fixed spelling error - accomodate to accommodate"

10 years agoMerge "EMC SMI-S delete snapshot unit test takes too long"
Jenkins [Sat, 8 Mar 2014 05:04:19 +0000 (05:04 +0000)]
Merge "EMC SMI-S delete snapshot unit test takes too long"

10 years agoget volumes API does not handle limit=0
Steven Kaufer [Fri, 7 Mar 2014 04:54:50 +0000 (04:54 +0000)]
get volumes API does not handle limit=0

This bug fixes a regression from bug 1288429, where the "next"
link is added when the number of volumes returned is the
maximum limit (even if the "limit" param is not specified).

The regression is hit when a "limit" of 0 is specified; in this
case the logic to create the "next" link is still executed and an
exception is thrown. The fix is to add back in the "if" check that
implictly checks if the max_items is non-0.

Test code was also created to verify that a limit of 0 is handled
correctly.

Change-Id: I92f9afb9b0e2c627d2c77f67fa026b731903384f
Closes-bug: 1289124

10 years agoEMC SMI-S delete snapshot unit test takes too long
Xing Yang [Fri, 7 Mar 2014 18:43:22 +0000 (13:43 -0500)]
EMC SMI-S delete snapshot unit test takes too long

EMC SMI-S unit test for deleting snapshot takes too long.
This patch sets Timout to 0 in cinder_emc_config.xml
so that it will return immediately.  Without this fix,
it will wait for 10 seconds by default.

Change-Id: I223f6741a2ce393e555467350201a695ae210152
Closes-Bug: #1289653

10 years ago3PAR: Support extend volume based on snapshot
Ramy Asselin [Tue, 4 Mar 2014 19:06:59 +0000 (11:06 -0800)]
3PAR: Support extend volume based on snapshot

If extend volume fails with an HTTP Forbidden error 150,
convert the volume to a base volume and retry extending.

Change-Id: Id407058e954b2630f4a7f31c6149361301b502f2
Closes-Bug: #1285906

10 years agoMerge "Re-enable lazy translation"
Jenkins [Fri, 7 Mar 2014 18:28:29 +0000 (18:28 +0000)]
Merge "Re-enable lazy translation"

10 years agoMerge "Sync latest Oslo config code for i18n"
Jenkins [Fri, 7 Mar 2014 18:28:13 +0000 (18:28 +0000)]
Merge "Sync latest Oslo config code for i18n"

10 years agoMerge "Sync log.py from oslo"
Jenkins [Fri, 7 Mar 2014 18:06:36 +0000 (18:06 +0000)]
Merge "Sync log.py from oslo"

10 years agoFixed spelling error - accomodate to accommodate
Alex Holden [Fri, 7 Mar 2014 18:04:15 +0000 (10:04 -0800)]
Fixed spelling error - accomodate to accommodate

Change-Id: I88bc2c3034e4fdc19b7d0a0e0ebf7eb5b2ad44f7

10 years agoGPFS unit tests: increased coverage, uses mock
Simon Lorenz [Fri, 7 Mar 2014 15:08:13 +0000 (16:08 +0100)]
GPFS unit tests: increased coverage, uses mock

Increased unit tests coverage for the GPFS driver 100%.
All tests make usage of mock.
This helped to uncover bugs in the error path (see 1289382).

Closes-bug: 1290921

Change-Id: Ic78ac9b49c6e22231b966052f65d8ae07824379e

10 years agoMerge "Clean Up EMC VNX Direct Driver in Cinder"
Jenkins [Fri, 7 Mar 2014 05:24:22 +0000 (05:24 +0000)]
Merge "Clean Up EMC VNX Direct Driver in Cinder"

10 years agoClean Up EMC VNX Direct Driver in Cinder
Xing Yang [Thu, 6 Mar 2014 21:50:26 +0000 (16:50 -0500)]
Clean Up EMC VNX Direct Driver in Cinder

This patch cleans up issues discovered during the review of
EMC VNX Direct Driver.

https://review.openstack.org/#/c/73672/

Implements blueprint emc-vnx-direct-driver
Closes-Bug: #1287944

Change-Id: I4002ef9ea14e2d843dd8cbccffa025997a54c738

10 years agoMerge "Include next link when default limit is reached"
Jenkins [Thu, 6 Mar 2014 23:48:59 +0000 (23:48 +0000)]
Merge "Include next link when default limit is reached"

10 years agogpfs driver: fix logging problems
Simon Lorenz [Thu, 6 Mar 2014 21:36:20 +0000 (22:36 +0100)]
gpfs driver: fix logging problems

Fixed the string formatting template issues
Fixed the name collision on the _ variable by changing the variable name to err

Closes-Bug: #1289382

Change-Id: Id690c2b6dcd5e9732330e6b98be34819586b78fc

10 years agoMerge "Fix HP LeftHand Performance issue with AO"
Jenkins [Thu, 6 Mar 2014 21:03:36 +0000 (21:03 +0000)]
Merge "Fix HP LeftHand Performance issue with AO"

10 years agoConvert cinder utils tests to use mock
Bill Owen [Thu, 27 Feb 2014 17:58:14 +0000 (10:58 -0700)]
Convert cinder utils tests to use mock

Convert the tests using mox to use mock.  Also add several
new tests to increase overall test coverage.

Closes-bug: 1285905
Change-Id: Ic7ed128e860aec50f135a9fd8728b868b27640ba

10 years agoInclude next link when default limit is reached
Steven Kaufer [Thu, 6 Mar 2014 17:20:50 +0000 (17:20 +0000)]
Include next link when default limit is reached

The /volumes and /volumes/details APIs support pagination and a
"next" link should be included when more data is available. When
the default "osapi_max" limit is reached then the "next" link is
not included in the API reply. In this case, the caller cannot
determine if there are any more volumes and has no marker value
such that they can retrieve the rest of the volumes.

The fix for this is to include the "next" link when the number of
volumes being returned is the maximum limit, even if the "limit"
parameter is not supplied.

Change-Id: I2f04192e67f80232b4019194f718625dbaf78fa6
Closes-bug: 1288429

10 years agoRe-enable lazy translation
Jay S. Bryant [Fri, 31 Jan 2014 22:46:29 +0000 (16:46 -0600)]
Re-enable lazy translation

This patch re-enables lazy translation to enable REST API
responses to be translated to the requested locale (I.E. setting
'Accept-Language: zh-CN'.)

This patch also removes the unnecessary manual import of
'cinder.openstack.common.gettextutils _' in Cinder code.  Since _ is
still being imported in the cinder.openstack.common files from Oslo
we still need to set gettexttutils.enable_lazy().  enable_lazy will
be able to be removed once the manual imports of _ have been removed
from Oslo.

implements-bp: i18n-messages
Change-Id: I0b5a35a2cc28d97d12ceccccd58565b487fef428

10 years agoSync latest Oslo config code for i18n
Jay S. Bryant [Mon, 24 Feb 2014 01:51:41 +0000 (19:51 -0600)]
Sync latest Oslo config code for i18n

This sync pulls the latest Oslo config code over
to Cinder.  This sync is needed to include a fix
to config generator which is needed as part of
the work to enabled i18n messages.  Config generator
was failing when lazy message translation was enabled.

The following changes are included with this patch. Each
patch includes the file(s) the patch touches:
-> c178e56 Add basic Python 3 tests
--> cinder/openstack/common/__init__.py
-> 12bcdb7 Remove vim header
--> cinder/openstack/common/__init__.py
-> 547ab34 Fix Copyright Headers - Rename LLC to Foundation
--> cinder/openstack/common/__init__.py
-> 44b6ea3 Import oslo.config configuration file generator
--> cinder/openstack/common/config/__init__.py
-> dd9aa2b Remove unused variables
--> cinder/openstack/common/config/generator.py
-> 5dce17b Use entry points to discover options in libraries
--> tools/config/generate_sample.sh
--> cinder/openstack/common/config/generator.py
-> e8e636c generator: add an EXTRA_LIBRARIES env variable
--> cinder/openstack/common/config/generator.py
-> e3dddd7 generator: use EXTRA_* env vars in the bash script
--> tools/config/generate_sample.sh
--> cinder/openstack/common/config/generator.py
-> 6da13e8 generator: rename EXTRA_MODULES_FILE to RC_FILE
--> tools/config/generate_sample.sh
-> 763eedf Fix DictOpt support in config sample generator
--> cinder/openstack/common/config/generator.py
-> e839886 Config generator fails with lazy messages
--> cinder/openstack/common/config/generator.py
-> 343686b Add check_uptodate to tools/config
--> tools/config/check_uptodate.sh

Oslo version:
-> 0f24d82 Fix migration.db_version when no tables
-> Date: Sat, 22 Feb 2014 00:32:18 +0000

Change-Id: I26a95fe96b08d6340b0fce1b9e2949c8e661a946
Closes-Bug: 1280826
Related-bp: i18n-messages

10 years agoFix HP LeftHand Performance issue with AO
Jim Branen [Wed, 5 Mar 2014 00:38:41 +0000 (16:38 -0800)]
Fix HP LeftHand Performance issue with AO

Setting AdaptiveOptimization (AO) to ‘true’, the default value,
at volume create time significantly slows down the operation on
the LeftHand array. If at create time, AO is set to ‘true’, it
will result in an update operation following the create operation
to set this value. Therefore, it is best to not specify the value,
when ‘true’, and let it default to ‘true’.

Change-Id: I2c8860e3f25a7bcaa2d2efefeffc1c11319f33e2
Closes-Bug:#1285925

10 years agoNetApp implementation for copy offload in clustered nfs driver
Navneet Singh [Wed, 12 Feb 2014 21:02:08 +0000 (02:32 +0530)]
NetApp implementation for copy offload in clustered nfs driver

The Copy offload binary is a special RPC implemented in Ontap that
allows NFS clients to ask the server to copy data between
volumes in the same cluster efficiently. The special
binary will be developed by NetApp and distributed to its customers.
It will address two copy cases after efficient image clone failed.
First when image cache file is present in a different share than
the one holding volume. Second when glance is backed by nfs share
which is on the same cluster as nfs driver backend. Instead
of regular http download the copy offload workflow will be used to copy
image to share and volume. Resubmitting it as there was a problem
with build in previous submission.

Change-Id: I0847d47cecdec8be2ade06d0ea944cc3fa6f476b
Implements: blueprint copyoffload

10 years agoMerge "GlusterFS: Set permissions on qcow2 snapshot files"
Jenkins [Wed, 5 Mar 2014 17:01:22 +0000 (17:01 +0000)]
Merge "GlusterFS: Set permissions on qcow2 snapshot files"

10 years agoMerge "Add EMC VNX Direct Driver in Cinder"
Jenkins [Wed, 5 Mar 2014 14:49:51 +0000 (14:49 +0000)]
Merge "Add EMC VNX Direct Driver in Cinder"

10 years agoMerge "Remove str() from LOG.* and exceptions"
Jenkins [Wed, 5 Mar 2014 14:49:44 +0000 (14:49 +0000)]
Merge "Remove str() from LOG.* and exceptions"

10 years agoMerge "Quota delete operation in cinder"
Jenkins [Wed, 5 Mar 2014 14:47:52 +0000 (14:47 +0000)]
Merge "Quota delete operation in cinder"

10 years agoMerge "Check if snapshot is deleted cleanly."
Jenkins [Wed, 5 Mar 2014 12:32:56 +0000 (12:32 +0000)]
Merge "Check if snapshot is deleted cleanly."

10 years agoMerge "NetApp eseries iscsi driver implementation"
Jenkins [Wed, 5 Mar 2014 10:38:19 +0000 (10:38 +0000)]
Merge "NetApp eseries iscsi driver implementation"

10 years agoMerge "Storwize volume manage/unmanage support"
Jenkins [Wed, 5 Mar 2014 04:23:41 +0000 (04:23 +0000)]
Merge "Storwize volume manage/unmanage support"

10 years agoMerge "Volume manage/unmanage support"
Jenkins [Wed, 5 Mar 2014 04:23:31 +0000 (04:23 +0000)]
Merge "Volume manage/unmanage support"

10 years agoMerge "Add user defined extra capabilities"
Jenkins [Wed, 5 Mar 2014 04:22:04 +0000 (04:22 +0000)]
Merge "Add user defined extra capabilities"

10 years agoMerge "Fix HP LeftHand migration with snapshots"
Jenkins [Wed, 5 Mar 2014 00:09:28 +0000 (00:09 +0000)]
Merge "Fix HP LeftHand migration with snapshots"

10 years agoRemove str() from LOG.* and exceptions
Jay S. Bryant [Wed, 26 Feb 2014 20:40:38 +0000 (14:40 -0600)]
Remove str() from LOG.* and exceptions

This commit removes the use of str() from LOG.* messages
and exceptions.

The reason we need to remove str() is because str() will fail if
it gets a Unicode string that has something that doesn't translate
to ASCII in it.  If such a situation is encountered you will lose
the message string in question.  In most cases, the use of str() is
unnecessary for LOG.* and exception messages.  Using %s is smart
enough to figure out what to do with what it is passed.  It first
tries to str() it, if this fails it falls back to using unicode.  Either
way, the result will then be something that gettextutils can
handle and translate.

Change-Id: I6eb81043edd9fa5e035d81ee81e8439340546d24
Closes-bug: 1274245
Related-bp: i18n-messages

10 years agoStorwize volume manage/unmanage support
Avishay Traeger [Tue, 4 Mar 2014 12:40:01 +0000 (14:40 +0200)]
Storwize volume manage/unmanage support

IBM Storwize/SVC support for managing and unmanaging volumes.

Partially Implements: blueprint add-export-import-volumes

Change-Id: Ie90d5c0a18fcfcf7208990abf3476f432ea863c3

10 years agoVolume manage/unmanage support
Geraint North [Thu, 13 Feb 2014 14:17:27 +0000 (09:17 -0500)]
Volume manage/unmanage support

Implements: blueprint add-export-import-volumes

Volume manage/unmanage support.

This change adds two new API extensions:

volume_unmanage.py:
Adds an "os-unmanage" action on an existing volume, which causes a
delete operation to flow through the stack, with a flag that indicates
that a different method ("unmanage") should be called on the driver
instead of delete_volume. A default, empty, implementation of unmanage
is provided.

volume_manage.py
Adds a new "os-manage-volume" API. A POST to this URI is very similar to
volume creation, except that the images, snapshots and existing volumes
cannot be specified. Instead the following must be specified:

host: Cinder host on which the existing storage resides
ref: Driver-specific reference to the existing storage object

name, description, volume_type, metadata and availability_zone are
supported as per a normal volume creation.

In order to support some re-use between volume_manage and the regular
volume creation, add_visible_admin_metadata has been factored out into
the cinder utils.py module.

The rest of the changes are just the implications of the host/ref
specification moving through the api, rpcapi, manager and flow (API and
Manager) layers. Management of an existing volume causes the
manage_existing_get_size() and manage_existing() methods to be called on
the driver, and a reference LVM implementation is provided.
brick/local_dev/lvm.py now includes a method to rename an LV.

Change-Id: Ifc5255b2fd277c0f60d25fc82a777e405b861320