]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
9 years agoFix cinder concurrency issues on rtstool
Gorka Eguileor [Mon, 1 Jun 2015 16:30:01 +0000 (18:30 +0200)]
Fix cinder concurrency issues on rtstool

Since there's no synchronized access to configfs in rtslib it can happen
that rtstool or rtslib access an element that no longer exists because
it has been removed just in the middle of a loop by another Cinder
request.

This results in quite a different number of exceptions:
- .dump()
- KeyError
- IOError
- RTSLibError on storage_object

This patch synchronizes access to all rtstool calls that access or
modify configfs using utils.synchronized decorator.

Change-Id: I341a10da54ab01be68a0cae843f35e5c841c6d81
Closes-Bug: #1460692

9 years agoMerge "Add volume ID to fake volumes in Gluster tests"
Jenkins [Sun, 31 May 2015 20:02:18 +0000 (20:02 +0000)]
Merge "Add volume ID to fake volumes in Gluster tests"

9 years agoMerge "Notification with volume and snapshot metadata"
Jenkins [Sun, 31 May 2015 09:50:54 +0000 (09:50 +0000)]
Merge "Notification with volume and snapshot metadata"

9 years agoMerge "VMware: insecure option should be exposed"
Jenkins [Sun, 31 May 2015 03:27:12 +0000 (03:27 +0000)]
Merge "VMware: insecure option should be exposed"

9 years agoNotification with volume and snapshot metadata
wanghao [Wed, 6 May 2015 04:08:00 +0000 (12:08 +0800)]
Notification with volume and snapshot metadata

Now notify message to ceilometer do not contain volume
metadata/glance_metadata and snapshot metadata, which are
useful to bill and enrich resource information in ceilometer.

This feature will add the metadata/glance_metadata of volume
and metadata of snapshot to notification usage info.

Change-Id: I04097be9f2da1d6bc45a2d5770bcd543a3f41887
Implements: blueprint notification-with-volume-and-snapshot-metadata

9 years agoMerge "Create iSCSI lio portals with right IPs and port"
Jenkins [Sat, 30 May 2015 00:21:46 +0000 (00:21 +0000)]
Merge "Create iSCSI lio portals with right IPs and port"

9 years agoMerge "Fix capacity filter to allow oversubscription"
Jenkins [Fri, 29 May 2015 23:50:40 +0000 (23:50 +0000)]
Merge "Fix capacity filter to allow oversubscription"

9 years agoAdd volume ID to fake volumes in Gluster tests
John Griffith [Fri, 29 May 2015 18:57:59 +0000 (12:57 -0600)]
Add volume ID to fake volumes in Gluster tests

This adds the volume ID field to the fake volume objects
in the GlusterFS tests.  Turning up concurrency exposes some
issues where access of this field is attempted but doesn't
exist.

Parital-Bug: #1459854

Change-Id: I0edb4fc7f2d6d4a3c23f395b4c2a611c0e954425

9 years agoFix capacity filter to allow oversubscription
Xing Yang [Wed, 27 May 2015 16:58:04 +0000 (12:58 -0400)]
Fix capacity filter to allow oversubscription

Currently the capacity filter does not allow oversubscrition
if the free physical capacity is less than the new volume size.
This was based on the assumption that a new thinly provisioned
volume will be consumed right away. This assumption does not
allow us to take full advantage of thin provisioning.

The fix is to allow oversubscription if thin provisioning is
supported and max_over_subscription_ratio is greater than or
equal to 1. The free physical capacity will not be used to
compare with the new volume size for a backend that supports
oversubscription in thin provisioning. The oversubscription
ratio and virtual free capacity will still be used to decide
whether a backend can be chosen for thin provisioning.

Closes-Bug: #1458976
Change-Id: I4c8904445654db839c25ded420915f83c3756f94

9 years agoMerge "Fix response when querying host detail by host name"
Jenkins [Fri, 29 May 2015 17:12:20 +0000 (17:12 +0000)]
Merge "Fix response when querying host detail by host name"

9 years agoMerge "Fix expression-not-assigned pylint issues"
Jenkins [Fri, 29 May 2015 16:49:06 +0000 (16:49 +0000)]
Merge "Fix expression-not-assigned pylint issues"

9 years agoMerge "Stop using deprecated timeutils.isotime()"
Jenkins [Fri, 29 May 2015 04:44:54 +0000 (04:44 +0000)]
Merge "Stop using deprecated timeutils.isotime()"

9 years agoMerge "Fix wrong response with version details"
Jenkins [Fri, 29 May 2015 04:44:44 +0000 (04:44 +0000)]
Merge "Fix wrong response with version details"

9 years agoMerge "Create consistgroup from cgsnapshot support in VNX driver"
Jenkins [Fri, 29 May 2015 04:21:16 +0000 (04:21 +0000)]
Merge "Create consistgroup from cgsnapshot support in VNX driver"

9 years agoMerge "Updating cmd/manage.py get_arg_string() argument parser and adding unit test"
Jenkins [Fri, 29 May 2015 01:58:17 +0000 (01:58 +0000)]
Merge "Updating cmd/manage.py get_arg_string() argument parser and adding unit test"

9 years agoMerge "Add standard QoS spec support to cDOT drivers"
Jenkins [Fri, 29 May 2015 01:46:52 +0000 (01:46 +0000)]
Merge "Add standard QoS spec support to cDOT drivers"

9 years agoUpdating cmd/manage.py get_arg_string() argument parser and adding unit test
Daniel Allegood [Wed, 27 May 2015 17:27:06 +0000 (10:27 -0700)]
Updating cmd/manage.py get_arg_string() argument parser and adding unit test

Looks like get_arg_string() would improperly chop off the first two characters
of an argument that was passed in with one dash.  For example,
passing '-option foo' would return 'tion foo' instead of 'option foo'.

Change-Id: Ib9aee601711b22c5243aca35f5c6196f494d23a9
Closes-Bug: #1459453

9 years agoMerge "Display NOTIFICATIONS on assert failure"
Jenkins [Thu, 28 May 2015 17:28:55 +0000 (17:28 +0000)]
Merge "Display NOTIFICATIONS on assert failure"

9 years agoFix expression-not-assigned pylint issues
Rajesh Tailor [Wed, 27 May 2015 09:43:02 +0000 (02:43 -0700)]
Fix expression-not-assigned pylint issues

Fixed expression-not-assigned (warning code W0106: Expression "%s" is
assigned to nothing) pylint issues in cinder project.

Closes-Bug: 1459538
Change-Id: Ibb16bde9ff0e3ebc3f1b595ea402d27938b5cf32

9 years agoAdd standard QoS spec support to cDOT drivers
Tom Barron [Mon, 23 Feb 2015 13:51:13 +0000 (08:51 -0500)]
Add standard QoS spec support to cDOT drivers

This commit adds support for standard cinder QoS specs to
NetApp cDOT drivers, alongside our pre-existing support for
externally provisioned QoS policy groups via qualified
extra specs.

Implements-blueprint: add-qos-spec-support

Change-Id: I4bd123020d00866a346ad02919ac1d82f7236134

9 years agoMerge "Avoid LUN ID collisions in NetApp iSCSI drivers"
Jenkins [Wed, 27 May 2015 20:46:55 +0000 (20:46 +0000)]
Merge "Avoid LUN ID collisions in NetApp iSCSI drivers"

9 years agoAvoid LUN ID collisions in NetApp iSCSI drivers
Rushil Chugh [Wed, 22 Apr 2015 22:40:18 +0000 (18:40 -0400)]
Avoid LUN ID collisions in NetApp iSCSI drivers

Previously, the logic to calculate the LUN ID only considered a single attached
host. Because multiple hosts can be attached to a LUN, the logic needs to
consider multiple hosts. This patchset proposes to choose non-conflicting
LUN IDs across the whole array. This patch first checks for an empty LUN ID
across the array. If it doesn't find one, then it looks for the least used
LUN ID across the whole array.
The value of MAX_LUNS_PER_HOST has been changed here as the range function
iterates from 0 to n-1 LUN IDs. With Eseries backend, a maximum of 256 LUN_IDS
are supported, thus a value of 256 MAX_LUNS_PER_HOST is required.

Closes-bug: 1433825
Closes-bug: 1457995
Change-Id: I033368c12c90d7fbbaf81b065f1a1c8c5975006a

9 years agoVMware: insecure option should be exposed
Eric Brown [Tue, 5 May 2015 01:42:48 +0000 (18:42 -0700)]
VMware: insecure option should be exposed

Commit Ida730db66b154a4d445f7a91bccb9ca5b5a26f5e introduced
certificate verification but did not expose the option to turn
on/off verification using the insecure boolean of oslo.vmware.

DocImpact

Change-Id: I834c9fb407c8790dab14db0308f7e7f1d551669e
Closes-Bug: #1451633

9 years agoMerge "Dell SC driver honoring folder name after volume creation."
Jenkins [Wed, 27 May 2015 16:28:52 +0000 (16:28 +0000)]
Merge "Dell SC driver honoring folder name after volume creation."

9 years agoCreate iSCSI lio portals with right IPs and port
Gorka Eguileor [Wed, 4 Mar 2015 13:24:25 +0000 (14:24 +0100)]
Create iSCSI lio portals with right IPs and port

Currently lioadm helper creates portals with fixed IP addresses 0.0.0.0
and ::0 and also uses fixed standard port 3260 instead of using store
configuration (iscsi_ip_address, iscsi_secondary_ip_addresses,
iscsi_port) from the configuration as it should.

This could lead to problems if a different port was defined in the
configuration as the target would be available only on 3260 and other
services would look for it at configured port.

With this fix we now create the right portals with the right port.

Since now we pass list of ips and port to helpers cxt helper has also
been updated to use these parameters instead of going directly to the
configuration.

Change-Id: I77e8865b1f015a9fa155f2b4552a5d9c27f5e122
Closes-Bug: #1425875

9 years agoCreate consistgroup from cgsnapshot support in VNX driver
Tina [Thu, 12 Mar 2015 00:34:36 +0000 (20:34 -0400)]
Create consistgroup from cgsnapshot support in VNX driver

Changed VNX Cinder driver to support creating a consistency group from
a consistency group snapshot and refactored the migration lun code for
reusing the code in create cg from cgsnapshot feature.

Change-Id: Id8f35b3e427262faf8c29506dfdc166403aca6db
Implements: blueprint create-cg-from-cg-snapshot-vnx

9 years agoStop using deprecated timeutils.isotime()
Julien Danjou [Sat, 16 May 2015 12:39:23 +0000 (14:39 +0200)]
Stop using deprecated timeutils.isotime()

oslo_utils.timeutils.isotime() has been deprecated, stop using it, see:

  http://docs.openstack.org/developer/oslo.utils/api/timeutils.html#oslo_utils.timeutils.isotime

Change-Id: I0176f498db89a3a10c2474e4ae5c4b0929c65ece

9 years agoFix response when querying host detail by host name
wanghao [Mon, 9 Mar 2015 10:49:31 +0000 (18:49 +0800)]
Fix response when querying host detail by host name

When querying host detail by host name like
'wanghao-devstack-snapshot@lvmdriver-1'
returned by host list command, cinder returns
incorrect result in 'total' block.
"resource": {
        "volume_count": "0",
        "total_volume_gb": "0",
        "total_snapshot_gb": "0",
        "project": "(total)",
        "host": "wanghao-devstack-snapshot@lvmdriver-1",
        "snapshot_count": "0"
        }
This issue is caused by 'volume_data_get_for_host'
in sqlalchemy. This has nothing to do with multibackend,
this is due to the introduction of pool support for single
backend.
Fix this by querying volume filter by host or host name
like 'host#%' in volume_data_get_for_host.

Change-Id: I751a474677d50e552d87fe06fadfed45e3c1ddab
Closes-Bug: #1429787

9 years agoFix wrong response with version details
wangxiyuan [Tue, 26 May 2015 12:12:51 +0000 (20:12 +0800)]
Fix wrong response with version details

Now,Version details for API v2 were being reported as v1.

This patch fixed this bug.

Change-Id: I9698b33210e7d2f89f8a717d0ad2ada3edb4c391
Closes-bug:#1458850

9 years agoMerge "Leverage dict comprehension in PEP-0274"
Jenkins [Tue, 26 May 2015 20:03:41 +0000 (20:03 +0000)]
Merge "Leverage dict comprehension in PEP-0274"

9 years agoMerge "Targets test refactoring"
Jenkins [Tue, 26 May 2015 19:29:18 +0000 (19:29 +0000)]
Merge "Targets test refactoring"

9 years agoMerge "Address 0x712d8e0e error in VNX Cinder Driver"
Jenkins [Tue, 26 May 2015 18:37:02 +0000 (18:37 +0000)]
Merge "Address 0x712d8e0e error in VNX Cinder Driver"

9 years agoMerge "Add missing '-o' CLI option to VNX Cinder Driver"
Jenkins [Tue, 26 May 2015 18:21:09 +0000 (18:21 +0000)]
Merge "Add missing '-o' CLI option to VNX Cinder Driver"

9 years agoMerge "Brocade driver not parsing zone data correctly"
Jenkins [Tue, 26 May 2015 16:48:54 +0000 (16:48 +0000)]
Merge "Brocade driver not parsing zone data correctly"

9 years agoMerge "Don't use dict.iterkeys()"
Jenkins [Tue, 26 May 2015 16:12:53 +0000 (16:12 +0000)]
Merge "Don't use dict.iterkeys()"

9 years agoDisplay NOTIFICATIONS on assert failure
Gorka Eguileor [Tue, 26 May 2015 14:39:28 +0000 (16:39 +0200)]
Display NOTIFICATIONS on assert failure

From time to time we have itermitent errors regarding the
fake_notifier.NOTIFICATIONS count.

This patch does two things to try to find out which notifications are
being fired unexpectedly:
- Make sure that fake_notifier is reset in cleanup regardless of
  exception raised by shutil.rmtree
- Display fake_notifier.NOTIFICATIONS whenever count assertion fails.

Related-Bug: #1412513
Change-Id: I07370636d8b30098dcb2a70ef1985c2f5aee81be

9 years agoMerge "Validate name and description for volume type"
Jenkins [Tue, 26 May 2015 13:34:23 +0000 (13:34 +0000)]
Merge "Validate name and description for volume type"

9 years agoBrocade driver not parsing zone data correctly
Liu Xinguo [Wed, 20 May 2015 11:19:48 +0000 (19:19 +0800)]
Brocade driver not parsing zone data correctly

There is an error in the parsing of zone information
in the Brocade zone manager driver. This patch ensures
the zone information is correctly parsed.

Closes-Bug: 1456996
Change-Id: I6477164af0a60997be295587e506b37d7e019bcf

9 years agoMerge "Use nfs_oversub_ratio when reporting pool capacity"
Jenkins [Tue, 26 May 2015 02:32:54 +0000 (02:32 +0000)]
Merge "Use nfs_oversub_ratio when reporting pool capacity"

9 years agoDon't use dict.iterkeys()
Victor Stinner [Mon, 25 May 2015 14:30:23 +0000 (16:30 +0200)]
Don't use dict.iterkeys()

Replace list(dict.iterkeys()) with list(dict). The call to iterkeys() is
useless and the iterkeys() method of dictionaries was removed in
Python 3

Change-Id: I16733643d4b92fe8134eec2549bbd679fe75fb9c

9 years agoMerge "Add ability for drivers to copy data preserving sparseness"
Jenkins [Mon, 25 May 2015 15:50:24 +0000 (15:50 +0000)]
Merge "Add ability for drivers to copy data preserving sparseness"

9 years agoAddress 0x712d8e0e error in VNX Cinder Driver
Jeegn Chen [Fri, 8 May 2015 07:41:23 +0000 (15:41 +0800)]
Address 0x712d8e0e error in VNX Cinder Driver

In original implementation, 0x712d8e0e error is not considered.
Thus, some snapshot creation and volume extending operations may fail
when the system is in a transition state.

This patch is to add some waiting and retry logic when 0x712d8e0e error
comes out so that the system is more error-tolerant.

Change-Id: I615e49693ada7cf25fd2d2fa224f76c6f20cf630
Closes-Bug: #1443338

9 years agoLeverage dict comprehension in PEP-0274
ChangBo Guo(gcb) [Wed, 24 Dec 2014 14:42:58 +0000 (22:42 +0800)]
Leverage dict comprehension in PEP-0274

PEP-0274 introduced dict comprehensions to replace dict constructor
with a sqeuence of key-pairs[1], these are benefits:
  First, it makes the code look neater.
  Second, it gains a micro-optimization.

Cinder dropped python 2.6 support in Kilo, we can leverage this now.
Note: This commit doesn't handle dict constructor with kwargs.
This commit also adds a hacking rule.

[1]http://legacy.python.org/dev/peps/pep-0274/

Change-Id: Ie65796438160b1aa1f47c8519fb9943e81bff3e9

9 years agoMerge "Leave sqlalchemy convert to boolean to the DB SQL type to use."
Jenkins [Wed, 20 May 2015 19:33:25 +0000 (19:33 +0000)]
Merge "Leave sqlalchemy convert to boolean to the DB SQL type to use."

9 years agoMerge "Check volume_backend in retype"
Jenkins [Wed, 20 May 2015 16:37:41 +0000 (16:37 +0000)]
Merge "Check volume_backend in retype"

9 years agoAdd missing '-o' CLI option to VNX Cinder Driver
Jeegn Chen [Wed, 20 May 2015 14:00:07 +0000 (22:00 +0800)]
Add missing '-o' CLI option to VNX Cinder Driver

In some NaviSecCLI command, if -o is not given, the command may prompt
some message and ask for 'y' or 'n' for confirmation in some special
scenario, which is not working for Cinder.

This patch is to add the missing '-o' option to avoid these failures.

Change-Id: Ia665f6a20703218065aa4cf65b766def3daee290
Closes-Bug: #1453654

9 years agoValidate name and description for volume type
PranaliDeore [Wed, 29 Apr 2015 09:35:52 +0000 (02:35 -0700)]
Validate name and description for volume type

If you pass name parameter with long string of more than
255 characters to type-create and type-update api, then
it returns 500 error code.

Added a check in _create() and _update() methods of 'types_manage'
extension to validate string limit and returned 400 if limit exceeds.

Closes-Bug: 1450388
Change-Id: I68c607df90a3dfeae7a841a1dddee5416fa42d13

9 years agoLeave sqlalchemy convert to boolean to the DB SQL type to use.
Romain Chantereau [Wed, 20 May 2015 13:06:36 +0000 (15:06 +0200)]
Leave sqlalchemy convert to boolean to the DB SQL type to use.

Closes-Bug: #1457033

Change-Id: I969a4d60aa156ccfff09a58c3a448b5a9619e71f

9 years agoMerge "Fix a problem with FAST support in VMAX driver"
Jenkins [Wed, 20 May 2015 00:25:48 +0000 (00:25 +0000)]
Merge "Fix a problem with FAST support in VMAX driver"

9 years agoMerge "Remove HDS HUS iSCSI driver"
Jenkins [Fri, 15 May 2015 22:19:09 +0000 (22:19 +0000)]
Merge "Remove HDS HUS iSCSI driver"

9 years agoAdd ability for drivers to copy data preserving sparseness
Eric Harney [Fri, 15 May 2015 17:23:08 +0000 (13:23 -0400)]
Add ability for drivers to copy data preserving sparseness

Drivers can set self._sparse_copy_volume_data to opt in
to copying data in a way that preserves sparseness.

This is likely to be desired elsewhere, but currently this
patch only enables it for the NFS driver and provides a
method for other drivers to opt in, in case there are
unexpected issues in some drivers.

On the NFS driver, this prevents volume migration from
changing a volume file from sparse to fully allocated.

Change-Id: Ib74b2fb4015b805d33de42dfe60c8a97cc970b84
Closes-Bug: #1455595

9 years agoRemove HDS HUS iSCSI driver
Diego Zamboni [Fri, 15 May 2015 14:15:10 +0000 (11:15 -0300)]
Remove HDS HUS iSCSI driver

Removes HDS HUS iSCSI driver as it's deprecated and will not be maintained anymore.

DocImpact

The documentation about HDS HUS iSCSI driver should be removed.

Change-Id: If30c3e183f8216a6a1406dfc8041a37b88132ac0

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Fri, 15 May 2015 03:34:56 +0000 (03:34 +0000)]
Updated from global requirements

Change-Id: I6f3a3aee9af7752d2a2372d8177133925157dfb5

9 years agoMerge "VMware: Handle concurrent inventory folder create"
Jenkins [Fri, 15 May 2015 03:09:08 +0000 (03:09 +0000)]
Merge "VMware: Handle concurrent inventory folder create"

9 years agoMerge "Remove unused context parameter"
Jenkins [Thu, 14 May 2015 22:04:31 +0000 (22:04 +0000)]
Merge "Remove unused context parameter"

9 years agoMerge "Fix tiny typo: compatability => compatibility"
Jenkins [Thu, 14 May 2015 17:06:29 +0000 (17:06 +0000)]
Merge "Fix tiny typo: compatability => compatibility"

9 years agoMerge "LVM: Support efficient data copy using "dd" for create_cloned_volume"
Jenkins [Thu, 14 May 2015 04:12:27 +0000 (04:12 +0000)]
Merge "LVM: Support efficient data copy using "dd" for create_cloned_volume"

9 years agoMerge "Replace suds test dependency with suds-jurko"
Jenkins [Thu, 14 May 2015 02:24:53 +0000 (02:24 +0000)]
Merge "Replace suds test dependency with suds-jurko"

9 years agoMerge "Cinder os-force_detach api returns 500"
Jenkins [Thu, 14 May 2015 01:56:42 +0000 (01:56 +0000)]
Merge "Cinder os-force_detach api returns 500"

9 years agoMerge "LVM: Pass volume size in MiB to copy_volume() during volume migration"
Jenkins [Thu, 14 May 2015 01:54:55 +0000 (01:54 +0000)]
Merge "LVM: Pass volume size in MiB to copy_volume() during volume migration"

9 years agoMerge "Switch to oslo_versionedobjects"
Jenkins [Thu, 14 May 2015 00:02:42 +0000 (00:02 +0000)]
Merge "Switch to oslo_versionedobjects"

9 years agoMerge "Remove use of deprecated LOG.warn"
Jenkins [Wed, 13 May 2015 22:31:41 +0000 (22:31 +0000)]
Merge "Remove use of deprecated LOG.warn"

9 years agoMerge "Fix incorrect reraising of exceptions"
Jenkins [Wed, 13 May 2015 22:23:48 +0000 (22:23 +0000)]
Merge "Fix incorrect reraising of exceptions"

9 years agoUse nfs_oversub_ratio when reporting pool capacity
Tom Barron [Tue, 21 Apr 2015 15:07:30 +0000 (11:07 -0400)]
Use nfs_oversub_ratio when reporting pool capacity

Currently NetApp NFS drivers do not make use of the nfs_oversub_ratio
configuration parameter to enable OpenStack administrators to report
anything other than the most conservative capacity and usage information
up to the scheduler

This commit:
  *  modifies the NetApp drivers to use the nfs_oversub_ratio as
     documented.
  *  uses direct API with filers to gather capacity information rather
     than stat and du commands
  *  brings our reporting of reserved percentage in line with the way
     the scheduler actually makes use of this statistic
  *  simplifies and cleans up the way we gather and report pool statistics

Note that this fix addresses an in-the-field bug report from juno
and is intended to be the basis for backported fixes.

In kilo, a more general approach to overprovisioning using
     max_oversubscription_ratio
was introduced via commit 3548a4bc9edbb26b248b5af5ecc2145f2c6f7481.
In this newer approach, the scheduler computes "virtual" free space
rather than the driver reporting "apparent" free space.

This fix to bring NetApp NFS drivers into conformity with the generic
NFS driver is not intended as a substitute for introducing support
in our drivers for the newer approach to overprovisioning.  Rather,
it is a bug-fix for an existing failure to honor the nfs_oversub_ratio.

DocImpact
Co-Authored-By: Dustin Schoenbrun <dustin.schoenbrun@netapp.com>
Closes-bug: 1449620
Change-Id: Ic7b606b88f063b9ed6df62fd1fb7248922496326

9 years agoLVM: Pass volume size in MiB to copy_volume() during volume migration
Mitsuhiro Tanino [Wed, 13 May 2015 15:59:13 +0000 (11:59 -0400)]
LVM: Pass volume size in MiB to copy_volume() during volume migration

Currently migrate_volume() in lvm.py does not pass volume size in
MiB but passes volume size in GiB to copy_volume(). The size argument
of copy_volume() requires MiB value. As a result, if the volume size
is 1GiB, copy_volume() copies only 1MiB head of 1GiB volume to the
destination volume, and then the volume data is corrupted.
This patch fixes to pass volume size in MiB.

Closes-bug: #1454835
Change-Id: I8e06195dc3625ef07bc9858d844541e37a231b73

9 years agoMerge "Fix overwrite of params in SF image cache update"
Jenkins [Wed, 13 May 2015 17:00:22 +0000 (17:00 +0000)]
Merge "Fix overwrite of params in SF image cache update"

9 years agoLVM: Support efficient data copy using "dd" for create_cloned_volume
Mitsuhiro Tanino [Fri, 8 May 2015 19:00:03 +0000 (15:00 -0400)]
LVM: Support efficient data copy using "dd" for create_cloned_volume

The create_cloned_volume uses dd command for data copy, but the
copy always copy full blocks even if the source data contains
many null or zero blocks. When we use thin provisioned LVM,
blocks are not pre-allocated, so unused region returns zero.
If we copy full block for destination volume, unnecessary blocks
will be allocated and the usage will be 100%.

The dd command has conv=sparse option in order to copy data more
efficiently. This patch enables conv=sparse option as an argument
of dd command for create_cloned_volume when we use thin provisioned
LVM.

[NOTE]
This patch only enables conv=sparse parameter of dd command for
create_cloned_volume() path of LVM driver. There are some places
using dd in Cinder, but we should carefully consider to apply
this parameter for other places because misuse of this parameter
causes security issues or data corruptions. Also we DO NOT use this
parameter for volume wiping case because the volume is not cleared
at all.

Here are some results for this option.

- Without conv=sparse option
  LV            VG    Attr       LSize   Pool     Origin Data%
  vg1-pool      vg1   twi-a-tz--   3.80g                  31.45
  volume-clone  vg1   Vwi-a-tz--   1.00g vg1-pool        100.00
  volume-source vg1   Vwi-a-tz--   1.00g vg1-pool         19.53

- With conv=sparse option
  LV            VG    Attr       LSize   Pool     Origin Data%
  vg1-pool      vg1   twi-a-tz--   3.80g                  10.28
  volume-clone  vg1   Vwi-a-tz--   1.00g vg1-pool         19.53
  volume-source vg1   Vwi-a-tz--   1.00g vg1-pool         19.53

Change-Id: I743f823ca38529b12301a89308d1d406aa3fa45f
Closes-bug: #1224671

9 years agoFix a problem with FAST support in VMAX driver
Xing Yang [Thu, 2 Apr 2015 05:31:56 +0000 (01:31 -0400)]
Fix a problem with FAST support in VMAX driver

The VMAX driver doesn't distinguish between storage groups for
masking views (used for attachment) and storage groups for volumes
under FAST policy. This causes problems during attach volume.
This patch fixed the problem.

Change-Id: Ibb086f336e78c23e4907562d39f460eae3004bca
Closes-Bug: #1435069

9 years agoRemove use of deprecated LOG.warn
Sean McGinnis [Wed, 13 May 2015 14:30:20 +0000 (09:30 -0500)]
Remove use of deprecated LOG.warn

LOG.warn is deprecated and LOG.warning should be used.

This patch fixes up instances of LOG.warn usage and adds a
hacking check to make sure it doesn't creep back in.

See Logger.warning note here for background:
https://docs.python.org/3/library/logging.html

Also cleaned up some remaining instances where logging was
preformatting strings rather than passing in formatting
arguments to the logger to handle.

Change-Id: Id2e6cba489d8509601820b5aed83652f71be2bdc

9 years agoFix incorrect reraising of exceptions
Sean McGinnis [Sat, 25 Apr 2015 00:15:37 +0000 (19:15 -0500)]
Fix incorrect reraising of exceptions

There are several places in the code where exception handling raises
the exception variable rather than just calling raise. This results
in the traceback being incorrect.

Had considered adding a hacking check for this, but that becomes a
little tricky. There are valid places where "raise ex" is used that
would prevent a simple check.

Change-Id: Ib2bd745c7ef600c514a94c3fd638d15d17a623a2

9 years agoSwitch to oslo_versionedobjects
Thang Pham [Sun, 1 Mar 2015 22:46:02 +0000 (17:46 -0500)]
Switch to oslo_versionedobjects

oslo_versionedobjects was not made available until very
late in the Kilo cycle (i.e. near the end of kilo-3).
In order to make progress on cinder objects, a fork of
nova objects was made, so that proper trial and testing
could be done. The following patch makes the switch to
use oslo_versionedobjects.

Implements: blueprint cinder-objects
Change-Id: I883f387c8247e8d79da82016a624cef2180cde88

9 years agoMerge "Add patch for consistency group update in ProphetStor driver"
Jenkins [Wed, 13 May 2015 14:41:00 +0000 (14:41 +0000)]
Merge "Add patch for consistency group update in ProphetStor driver"

9 years agoMerge "Removing sleep between when a command is sent and 'YES' is sent"
Jenkins [Wed, 13 May 2015 14:40:50 +0000 (14:40 +0000)]
Merge "Removing sleep between when a command is sent and 'YES' is sent"

9 years agoMerge "Logging not using oslo.i18n guidelines (openstack)"
Jenkins [Wed, 13 May 2015 13:12:12 +0000 (13:12 +0000)]
Merge "Logging not using oslo.i18n guidelines (openstack)"

9 years agoMerge "VNX Cinder driver Over Subscription Support"
Jenkins [Wed, 13 May 2015 11:40:56 +0000 (11:40 +0000)]
Merge "VNX Cinder driver Over Subscription Support"

9 years agoCinder os-force_detach api returns 500
PranaliDeore [Wed, 29 Apr 2015 12:31:04 +0000 (05:31 -0700)]
Cinder os-force_detach api returns 500

If invalid 'attachment_id' is passed to the os-force_detach
api, then it returns 500 error because even though
VolumeAttachmentNotFound exception is raised from manager,
it gets converted to RemoteError due to rpcapi call.

Caught RemoteError exception in the api and returned 400
error to the user if exception type is VolumeAttachmentNotFound
or InvalidVolume. In other cases 500 error is raised.

Closes-Bug: 1450431
Change-Id: I5e308d9f4b3772284caaedb3d2d0b3f7d25e1e5d

9 years agoMerge "Port block_device driver to use new driver model"
Jenkins [Wed, 13 May 2015 11:05:21 +0000 (11:05 +0000)]
Merge "Port block_device driver to use new driver model"

9 years agoMerge "Fix missing translations for log messages"
Jenkins [Wed, 13 May 2015 10:59:17 +0000 (10:59 +0000)]
Merge "Fix missing translations for log messages"

9 years agoCheck volume_backend in retype
John Griffith [Mon, 11 May 2015 19:55:41 +0000 (13:55 -0600)]
Check volume_backend in retype

The retype command will always attempt a call
to the driver.retype method.  In *most* cases this
will hit the default impl which returns False because
most drivers don't implement any retype (most, a few do).

The problem is that the drivers that do implement this in
most cases will iterate through the settings and just make
the changes that are valid and ignore the rest, and then
return True. I think this is "ok" for the drivers to do,
drivers should be allowed to be somewhat dumb WRT Cinder
state management and placement info.  If we give them an
invalid command (which we're doing here) then it's on us
higher up the chain IMO.

The result is that for example if you're trying to retype
from backend-a to backend-b and backend-a implements retype
it can return True telling the manager that the volume was
succesfully retyped, even when it wasn't.

There's a lot of confusion around this bug, YES the
filter scheduler is used to determine if the retype is
valid and to what host.  That's not the issue, the issue
is that regardless of the source and destination host settings
that are provided from the filter-scheduler, we always make the
call to the driver, introducing the opportunity for a false
success status being reported back.

This patch adds a very simple check between the source and
destination host settings as provided by the scheduler and in
the case that the two are "different"(not including pool designations)
we skip calling the driver.retype method altogether and fall through
to the migrate process.

This introduces a new hosts_are_equivalent method in
cinder.volume.utils

Change-Id: Idfd7dfa2284fcea66cf23c4273efda61ee8f7eba
Closes-Bug: #1452823

9 years agoMerge "LIO: Enable iSER for IPv6"
Jenkins [Tue, 12 May 2015 22:30:14 +0000 (22:30 +0000)]
Merge "LIO: Enable iSER for IPv6"

9 years agoMerge "LIO: Use rtslib property instead of private method"
Jenkins [Tue, 12 May 2015 22:26:01 +0000 (22:26 +0000)]
Merge "LIO: Use rtslib property instead of private method"

9 years agoFix overwrite of params in SF image cache update
John Griffith [Tue, 12 May 2015 21:48:03 +0000 (15:48 -0600)]
Fix overwrite of params in SF image cache update

In the update cache volume routine of the SolidFire driver
we're unintentionally re-initializing the params variable
when assigning volID as opposed to just appending another key
to it.

This patch fixes that.

Change-Id: I213776ee6aef6e5dee2807c19b7eea05af23d6c0
Closes-Bug: #1454425

9 years agoMerge "GlusterFS: Support over subscription in thin provisioning"
Jenkins [Tue, 12 May 2015 21:30:32 +0000 (21:30 +0000)]
Merge "GlusterFS: Support over subscription in thin provisioning"

9 years agoMerge "Check type match on create from source/snap"
Jenkins [Tue, 12 May 2015 19:39:10 +0000 (19:39 +0000)]
Merge "Check type match on create from source/snap"

9 years agoDell SC driver honoring folder name after volume creation.
Tom Swanson [Mon, 27 Apr 2015 22:33:40 +0000 (17:33 -0500)]
Dell SC driver honoring folder name after volume creation.

The Dell SC driver was not honoring the volume folder name
after creation.  This has been changed so that find_volume
now checks the dell_sc_volume_folder for the requested volume
before doing a general search of the storage center.  In
either case if more than one volume is returned (two in
the dell_sc_volume_folder or two outside of that folder) then
an exception is thrown.

Also the dell_sc_volume_folder, dell_sc_server_folder and
dell_sc_ssn variables are no longer being passed arond.  They
are saved as part of the backend API object.

Tests have been updated.

Change-Id: I962ea3ed262d21deff65cdc8476939aab6ba07e2
Closes-Bug: #1449290

9 years agoMerge "Remove Brick from cinder codebase"
Jenkins [Tue, 12 May 2015 17:25:17 +0000 (17:25 +0000)]
Merge "Remove Brick from cinder codebase"

9 years agoCheck type match on create from source/snap
John Griffith [Tue, 12 May 2015 14:03:27 +0000 (08:03 -0600)]
Check type match on create from source/snap

We used to allow creating from source/snap and specifying a
different type than the originating resource when doing so.
Once we started getting more drivers and more multi-backend
configurations, we implemented a check in volume.api that
took this away (broke it).  There have been a number of
arguments about whether this should be allowed or not, and
that it could fail after the rpc call leaving the user with
nothing more than a "failed" volume and no explanation as to
why.

This patch allows the capability, but checks validity at the
API layer before issuing the create call.  There are two
requirements for the new type specification to be valid:
1. There is only one backend (cinder-volume) topic configured
2. Both types in question specify the same volume_backend_name
If neither of these requirements are met, the user will receive
an "invalid type" error explaining that the type combination is
not compatible and that they should omit the type argument altogether.

Change-Id: I08bc5e9a8800ce3b27c7db90b7bff86d7d14359a
Closes-Bug: #1289931

9 years agoAdd patch for consistency group update in ProphetStor driver
rick.chen [Wed, 1 Apr 2015 07:46:58 +0000 (15:46 +0800)]
Add patch for consistency group update in ProphetStor driver

BP consistency-groups-kilo-update has introduced CG Modification
support. This patch is adding support for the new API in
ProphetStor driver.

This patch also included styling changes which replaced \ with
().

Change-Id: I256f320d2563b247a2493301638a7699b66a83b6
Implements: blueprint cg-modified-prophetstor

9 years agoLogging not using oslo.i18n guidelines (openstack)
Sean McGinnis [Tue, 12 May 2015 13:52:52 +0000 (08:52 -0500)]
Logging not using oslo.i18n guidelines (openstack)

Multi-patch set for easier chunks. This one addresses
the openstack cinder directory. That directory is synced
from oslo, so no changes made. Translation markers are
being used, so this just removes the hacking check
exclusion of that directory.

Some cleanup of a couple files are also included in this
patch for other directories that had been previously
covered.

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
one such as LOG.info("No markers!").

Change-Id: If58a29c179e79e0b99e9da1d9a2ff1bc9c7b09e1
Closes-bug: 1433216
Closes-bug: 1431256

9 years agoRemove unused context parameter
Abhijeet Malawade [Tue, 12 May 2015 08:58:46 +0000 (01:58 -0700)]
Remove unused context parameter

Below methods from volume utils are not using context parameter:
1. _usage_from_volume
2. _usage_from_backup
3. _usage_from_snapshot
4. _usage_from_consistencygroup
5. _usage_from_cgsnapshot

So the context parameter is removed from all of these methods.

Closes-Bug: #1454212
Change-Id: Id87c5635db4a0e8df00f7bd7b87ffe60876f255c

9 years agoReplace suds test dependency with suds-jurko
Victor Stinner [Tue, 5 May 2015 12:50:31 +0000 (14:50 +0200)]
Replace suds test dependency with suds-jurko

suds-jurko is actively maintained (latest commit in december 2014) and supports
Python 3, whereas suds doesn't seem to be maintained anymore (last release in
2010).

suds-jurko is a drop-in replacement for suds, both packages provide the same
Python module.

suds-jurko is already in global requirements.

Change-Id: I646602624af7fbece277fe2305a3a541a456ed85

9 years agoMerge "Clean up failed clones in VMAX driver"
Jenkins [Tue, 12 May 2015 01:42:43 +0000 (01:42 +0000)]
Merge "Clean up failed clones in VMAX driver"

9 years agoFix missing translations for log messages
ankitagrawal [Mon, 16 Mar 2015 13:26:11 +0000 (06:26 -0700)]
Fix missing translations for log messages

Fixed log translations in volume.drivers and volume.manager modules
for error, info and warning messages with appropriate marker function
according to the logging standards [1].

As LOG.warn has deprecated [2] so I have changed LOG.warn to
LOG.warning.

[1] http://docs.openstack.org/developer/oslo.i18n/guidelines.html
[2] http://bugs.python.org/issue13235

Note: Any new occurrences added in master during the review can be
handled separately if they are not caught by hacking checks.

Partial-Bug: 1431256
Change-Id: I9b7b89097b296ea62b43f1d948dcf59e2e5a40c4

9 years agoMerge "Fix common misspellings"
Jenkins [Mon, 11 May 2015 20:03:52 +0000 (20:03 +0000)]
Merge "Fix common misspellings"

9 years agoMerge "Follow i18n guidelines in LIO target"
Jenkins [Mon, 11 May 2015 18:43:26 +0000 (18:43 +0000)]
Merge "Follow i18n guidelines in LIO target"

9 years agoMerge "Fix typo in log messages and comments"
Jenkins [Mon, 11 May 2015 15:46:38 +0000 (15:46 +0000)]
Merge "Fix typo in log messages and comments"

9 years agoMerge "GlusterFS: Renaming test case to test_mount_glusterfs"
Jenkins [Mon, 11 May 2015 15:46:24 +0000 (15:46 +0000)]
Merge "GlusterFS: Renaming test case to test_mount_glusterfs"

9 years agoRemove Brick from cinder codebase
Walter A. Boring IV [Wed, 11 Feb 2015 20:22:01 +0000 (12:22 -0800)]
Remove Brick from cinder codebase

This patch removes the existing brick initiator code from Cinder.
The new os-brick pypi library takes over.

The only thing left behind is the local_dev directory
as it's not part of os-brick.   We should possibly
move this elsewhere in a follow up patch.

Change-Id: Iaa22b30b852ea055a8698e0faaefa5caff84d090
Depends-On: I0096e76f958e04829b98d5c4c47f49c82b58d8aa

9 years agoFollow i18n guidelines in LIO target
Gorka Eguileor [Wed, 6 May 2015 12:44:19 +0000 (14:44 +0200)]
Follow i18n guidelines in LIO target

In LIO target some logging instances do not follow i18n guidelines
related to delayed string interpolation.

Change-Id: Ie184725ea9d83d676612ec82ea56013c0f15eed4

9 years agoNFS Backup: Correcting backup_sha_block_size_bytes help message
Bharat Kumar Kobagana [Mon, 11 May 2015 10:31:10 +0000 (16:01 +0530)]
NFS Backup: Correcting backup_sha_block_size_bytes help message

This patch corrects the help message of configuration parameter
"backup_sha_block_size_bytes".

Change-Id: I9d8082adad8ea13aec348a4cbb027ec16d4086a4