]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
8 years agoMerge "Disallow transferring volume in consistency group"
Jenkins [Tue, 26 Jan 2016 00:42:10 +0000 (00:42 +0000)]
Merge "Disallow transferring volume in consistency group"

8 years agoMerge "fix NFS driver max_over_subscription_ratio typo"
Jenkins [Mon, 25 Jan 2016 23:54:45 +0000 (23:54 +0000)]
Merge "fix NFS driver max_over_subscription_ratio typo"

8 years agoMerge "Fixing HNAS XML parser"
Jenkins [Mon, 25 Jan 2016 23:54:27 +0000 (23:54 +0000)]
Merge "Fixing HNAS XML parser"

8 years agoMerge "Fix torpid coordinator unit tests"
Jenkins [Mon, 25 Jan 2016 22:45:13 +0000 (22:45 +0000)]
Merge "Fix torpid coordinator unit tests"

8 years agoMerge "NetApp ONTAP - Reapply API tracing"
Jenkins [Mon, 25 Jan 2016 22:44:48 +0000 (22:44 +0000)]
Merge "NetApp ONTAP - Reapply API tracing"

8 years agoMerge "Fix sluggish rbd unit tests"
Jenkins [Mon, 25 Jan 2016 22:43:14 +0000 (22:43 +0000)]
Merge "Fix sluggish rbd unit tests"

8 years agoFixing HNAS XML parser
Erlon R. Cruz [Tue, 17 Nov 2015 17:43:01 +0000 (15:43 -0200)]
Fixing HNAS XML parser

HNAS XML parser does not handles situations where the user
could accidentally insert a blank space in the parameter value
breaking the driver in execution time. With this fix, an
error is raised in the driver setup.

Closes-bug: #1537758
Change-Id: If553647563638a5c9a09441ad2ec40ed13a0ece2

8 years agoMerge "Set LVM driver default overprovisioning ratio to 1.0"
Jenkins [Sat, 23 Jan 2016 05:57:28 +0000 (05:57 +0000)]
Merge "Set LVM driver default overprovisioning ratio to 1.0"

8 years agoMerge "Fix xtremio slow unit tests"
Jenkins [Sat, 23 Jan 2016 05:23:12 +0000 (05:23 +0000)]
Merge "Fix xtremio slow unit tests"

8 years agoMerge "Adding action to policy.json"
Jenkins [Sat, 23 Jan 2016 04:57:09 +0000 (04:57 +0000)]
Merge "Adding action to policy.json"

8 years agoMerge "DRBD: Rename "dres" to avoid confusion with "res""
Jenkins [Sat, 23 Jan 2016 01:40:45 +0000 (01:40 +0000)]
Merge "DRBD: Rename "dres" to avoid confusion with "res""

8 years agoMerge "Tegile tests: Change volume size to int"
Jenkins [Sat, 23 Jan 2016 01:07:47 +0000 (01:07 +0000)]
Merge "Tegile tests: Change volume size to int"

8 years agoMerge "Huawei: Refactor driver for the second time"
Jenkins [Fri, 22 Jan 2016 22:53:19 +0000 (22:53 +0000)]
Merge "Huawei: Refactor driver for the second time"

8 years agoMerge "Return BadRequest for invalid Unicode names"
Jenkins [Fri, 22 Jan 2016 13:23:46 +0000 (13:23 +0000)]
Merge "Return BadRequest for invalid Unicode names"

8 years agoFix xtremio slow unit tests
Tom Barron [Thu, 21 Jan 2016 20:53:03 +0000 (15:53 -0500)]
Fix xtremio slow unit tests

This commit mocks out time.sleep() in the test_retry_request()
method of test_emc_xtremio.EMCXIODriverTestCase.

As documented in the accompanying bug, this yields about a 6X
speedup for this unit test suite.

Change-Id: I86647dce1fe8a6e8281ee3617fbc5e5c1332404d
Closes-Bug: #1536782

8 years agoFix sluggish rbd unit tests
Tom Barron [Thu, 21 Jan 2016 16:56:14 +0000 (11:56 -0500)]
Fix sluggish rbd unit tests

The rbd_test.py module tests methods decorated by utils.retry,
which does retries with exponential backoffs, without mocking out
time.sleep().

This commit mocks time.sleep(), yielding a 3x speedup, as documented
in the accompanying bug.

Closes-Bug: #1536717

Change-Id: I414629f09f397e44d3a5be794ef83658a4c1eec0

8 years agoFix torpid coordinator unit tests
Tom Barron [Thu, 21 Jan 2016 18:17:59 +0000 (13:17 -0500)]
Fix torpid coordinator unit tests

The test_coordination.py unit module tests a _reconnect() method
which does a randomly seeded exponential retry backoff.  This
retry/backoff mechanism introduces needless delay in unit test
runs.

This commit mocks out random.uniform, improving run time by about
a factor of nine, as documented in the accompanying bug.

Closes-Bug: #1536750

Change-Id: I83fafba17be99cbe972dfb60fe87dac6dc3756cf

8 years agoMerge "EMC VMAX - Incorrect SG selected on an VMAX3 attach"
Jenkins [Fri, 22 Jan 2016 11:19:40 +0000 (11:19 +0000)]
Merge "EMC VMAX - Incorrect SG selected on an VMAX3 attach"

8 years agoMerge "Replace assertEqual(*, None) with assertIsNone in tests"
Jenkins [Fri, 22 Jan 2016 11:19:14 +0000 (11:19 +0000)]
Merge "Replace assertEqual(*, None) with assertIsNone in tests"

8 years agoMerge "NexentaStor 5 NFS backend driver."
Jenkins [Fri, 22 Jan 2016 10:40:57 +0000 (10:40 +0000)]
Merge "NexentaStor 5 NFS backend driver."

8 years agoMerge "Check min config requirements for rbd driver"
Jenkins [Fri, 22 Jan 2016 05:47:45 +0000 (05:47 +0000)]
Merge "Check min config requirements for rbd driver"

8 years agoMerge "Added 'bootable volume' filter for non-admin user"
Jenkins [Thu, 21 Jan 2016 23:58:36 +0000 (23:58 +0000)]
Merge "Added 'bootable volume' filter for non-admin user"

8 years agoMerge "Reduce use of eval()"
Jenkins [Thu, 21 Jan 2016 23:54:50 +0000 (23:54 +0000)]
Merge "Reduce use of eval()"

8 years agoMerge "VMware: Fix release notes"
Jenkins [Thu, 21 Jan 2016 23:42:50 +0000 (23:42 +0000)]
Merge "VMware: Fix release notes"

8 years agoMerge "NetApp FC drivers should not set 'rw' access mode"
Jenkins [Thu, 21 Jan 2016 22:34:40 +0000 (22:34 +0000)]
Merge "NetApp FC drivers should not set 'rw' access mode"

8 years agoNetApp ONTAP - Reapply API tracing
Andrew Kerr [Thu, 21 Jan 2016 15:22:33 +0000 (10:22 -0500)]
NetApp ONTAP - Reapply API tracing

The NetApp ONTAP drivers had their API tracing inadvertently
removed when the netapp_lib changes were reverted.

This patch adds that tracing back in.

Closes-Bug: #1536683
Change-Id: I3c9f8fdc33e0e5128db41b497f54bd8ff07a8d85

8 years agoReplace assertEqual(*, None) with assertIsNone in tests
Einst Crazy [Wed, 6 Jan 2016 02:35:24 +0000 (10:35 +0800)]
Replace assertEqual(*, None) with assertIsNone in tests

Replace assertEqual(*, None) with assertIsNone in tests to have
more clear messages in case of failure.

Change-Id: If62be1aa29fd420855f42d44865fbdcbab16bf70

8 years agoMerge "Refactor Windows drivers using os-win"
Jenkins [Thu, 21 Jan 2016 01:07:58 +0000 (01:07 +0000)]
Merge "Refactor Windows drivers using os-win"

8 years agoMerge "Add pagination support to volume type"
Jenkins [Thu, 21 Jan 2016 00:37:58 +0000 (00:37 +0000)]
Merge "Add pagination support to volume type"

8 years agoMerge "Activate sparse copy for Netapp"
Jenkins [Wed, 20 Jan 2016 17:25:31 +0000 (17:25 +0000)]
Merge "Activate sparse copy for Netapp"

8 years agoMerge "NetApp ONTAP: Fix extending volume beyond lun geometry"
Jenkins [Wed, 20 Jan 2016 17:13:47 +0000 (17:13 +0000)]
Merge "NetApp ONTAP: Fix extending volume beyond lun geometry"

8 years agoMerge "Remove DB calls from Pure Volume Driver CG methods"
Jenkins [Wed, 20 Jan 2016 09:42:31 +0000 (09:42 +0000)]
Merge "Remove DB calls from Pure Volume Driver CG methods"

8 years agoAdding action to policy.json
Doug Schveninger [Sun, 3 Jan 2016 01:03:46 +0000 (19:03 -0600)]
Adding action to policy.json

After reviewing code found out the volume:create_snapshot policy.json
action is missing so added it to the policy.json file.

Closes-bug: #1530196

Change-Id: I2a0bf01bc465b0bcbe7ea0b7c65b90851ddfac2c

8 years agofix NFS driver max_over_subscription_ratio typo
Tom Barron [Fri, 15 Jan 2016 18:00:20 +0000 (13:00 -0500)]
fix NFS driver max_over_subscription_ratio typo

Change-Id: I3b8a23f9c5854500f8577c2b87818e9689e753b8

8 years agoMerge "Add cinder backup driver for Google Cloud Storage"
Jenkins [Tue, 19 Jan 2016 18:22:04 +0000 (18:22 +0000)]
Merge "Add cinder backup driver for Google Cloud Storage"

8 years agoMerge "API Middleware fault: Log exception type"
Jenkins [Tue, 19 Jan 2016 17:36:19 +0000 (17:36 +0000)]
Merge "API Middleware fault: Log exception type"

8 years agoAdded 'bootable volume' filter for non-admin user
Sheel Rana [Fri, 15 Jan 2016 20:23:49 +0000 (01:53 +0530)]
Added 'bootable volume' filter for non-admin user

During launch instance from Horizon, if non-admin
user selects volume as source for launching
instance, drop down list for volumes will also
show non-bootable volumes. It is wrong behaviour.

To fix this, 'bootable volume' search filter is
enabled so that only bootable volumes get
displayed in drop down list of volume.

APIImpact

DocImpact:Need to add bootable against
query_volume_filters in OpenStack Configuration
Reference

Closes-Bug: #1524450

Change-Id: If5bfbd73bbe02b13b76d7169ea16424493ac5fca

8 years agoSet LVM driver default overprovisioning ratio to 1.0
Eric Harney [Wed, 13 Jan 2016 15:29:50 +0000 (10:29 -0500)]
Set LVM driver default overprovisioning ratio to 1.0

This introduces a config option, 'lvm_max_over_subscription_ratio',
which allows overriding the global max_over_subscription_ratio.

This is needed because the way we handle configuration with
multi-backend does not allow setting a value which will be applied
to each LVM backend without manually setting it in each backend,
and it would be better to default to a safe overprovisioning
ratio for the LVM driver.  It is often used in smaller deployments
and POCs which may not have all of the capacity monitoring
infrastructure used with other drivers, so overprovisioning should
be an opt-in capability rather than opt-out.

Partial-Bug: #1472803
DocImpact: new config option lvm_max_over_subscription_ratio

Change-Id: I5a214462b573d00d26086512821b4f8cc1db4fc3

8 years agoTegile tests: Change volume size to int
Eric Harney [Tue, 19 Jan 2016 16:06:48 +0000 (11:06 -0500)]
Tegile tests: Change volume size to int

Defining volume size as a string is not correct, and
causes huge memory consumption when multiplied by
units.Gi in the driver.

Change-Id: Ib4cf13629b70dc1c517e4c12f29c62bb9c75adbf
Closes-Bug: #1535464

8 years agoMerge "NexentaStor 5 iSCSI backend driver."
Jenkins [Tue, 19 Jan 2016 14:43:10 +0000 (14:43 +0000)]
Merge "NexentaStor 5 iSCSI backend driver."

8 years agoMerge "Add Fujitsu ETERNUS DX Volume Driver (FC part)"
Jenkins [Tue, 19 Jan 2016 12:08:26 +0000 (12:08 +0000)]
Merge "Add Fujitsu ETERNUS DX Volume Driver (FC part)"

8 years agoMerge "Add finish_volume_migration to volume object"
Jenkins [Tue, 19 Jan 2016 11:12:42 +0000 (11:12 +0000)]
Merge "Add finish_volume_migration to volume object"

8 years agoVMware: Fix release notes
Vipin Balachandran [Tue, 19 Jan 2016 07:26:02 +0000 (23:26 -0800)]
VMware: Fix release notes

This patch fixes some typos in the VMware VMDK driver
release notes.

Change-Id: Ibe6ec3aa4ddbf29d303a92f8561d4a3587d9bedc

8 years agoMerge "Imported Translations from Zanata"
Jenkins [Tue, 19 Jan 2016 07:05:15 +0000 (07:05 +0000)]
Merge "Imported Translations from Zanata"

8 years agoHuawei: Refactor driver for the second time
chenzongliang [Sat, 12 Dec 2015 09:11:55 +0000 (17:11 +0800)]
Huawei: Refactor driver for the second time

After a few new features being added into drivers,
we found it hard to maintain the code. For further working,
we need to refactor our code. The work contains the following:
1. Define a new class, named HuaweiConf, to parse xml config file.
   We used an external xml file to store SAN info.
   But we do config parsing anywhere in our code,
   even two different functions do the same parsing.
2. Adjust some function structures.
3. Rename some functions & variables.

DocImpact
Implements: blueprint refactor-huawei-driver
Change-Id: If935a38399809cf95848825344fb837bf04a7dd3

8 years agoMerge "NetApp eseries: report max_over_subscription_ratio correctly"
Jenkins [Mon, 18 Jan 2016 19:24:54 +0000 (19:24 +0000)]
Merge "NetApp eseries: report max_over_subscription_ratio correctly"

8 years agoAdd cinder backup driver for Google Cloud Storage
Nikesh [Wed, 13 Jan 2016 13:39:33 +0000 (19:09 +0530)]
Add cinder backup driver for Google Cloud Storage

Implement cinder backup driver for Google Cloud Storage.
It supports:
 - creating backup which is stored on Google Cloud Storage
 - restoring backup from Google cloud storage
 - incremental backup
 - independent of any volume backend

DocImpact
Implements: blueprint gcs-cinder-backup-driver
Depends-On: I04f2e3dee1f5e001ad2f1cce15893b0965c082d7

Change-Id: Id2951176ad636afa52208e78c0b678cf02b8fad2
Co-Authored-By: Sreedhar Varma<sreedharv@vedams.com>
Co-Authored-By: Lakshmi Narayana<lakshminarayanat@vedams.com>
8 years agoNexentaStor 5 iSCSI backend driver.
Alexey Khodos [Wed, 10 Jun 2015 22:45:12 +0000 (01:45 +0300)]
NexentaStor 5 iSCSI backend driver.

This patch implements a driver for NexentaStor 5 iSCSI backend.

DocImpact
Change-Id: I16af54cf1bb08c5742adb0a87f24edad1a097de7
Implements: blueprint nexentastor-5-cinder-iscsi-driver

8 years agoNexentaStor 5 NFS backend driver.
Alexey Khodos [Wed, 10 Jun 2015 17:29:07 +0000 (20:29 +0300)]
NexentaStor 5 NFS backend driver.

This patch implements a driver for NexentaStor 5 NFS backend.

DocImpact
Change-Id: I424970b20925bf3d2eec8d6e8f633d79e07a93cb
Implements: blueprint nexentastor-5-cinder-nfs-driver

8 years agoDRBD: Rename "dres" to avoid confusion with "res"
Philipp Marek [Fri, 15 Jan 2016 20:51:53 +0000 (21:51 +0100)]
DRBD: Rename "dres" to avoid confusion with "res"

Expand the "d(rbd)res(ource)" abbreviation.

Change-Id: I37eb7bc6c73436eafe948363538d9b77c01c0ccc

8 years agoEMC VMAX - Incorrect SG selected on an VMAX3 attach
Helen Walsh [Thu, 26 Nov 2015 15:29:06 +0000 (15:29 +0000)]
EMC VMAX - Incorrect SG selected on an VMAX3 attach

Use the default storage group for an SLO/Workload
combination and not the storage group that will be
part of the Masking View(contains the host name).

Change-Id: I195dd0113103930af6e54e19afeebf33f979e8fa
Closes-Bug: #1515176

8 years agoActivate sparse copy for Netapp
Marc Koderer [Mon, 18 Jan 2016 07:11:16 +0000 (08:11 +0100)]
Activate sparse copy for Netapp

Activating sparse copy of files since using
"volume migration" or "retype" the size of the resulting
file is larger than before. Due to the reason that the
sparse blocks in the file are copied over completely. This
is inefficient performance wise and wastes space on the
storage itself.

Closes bug: #1534649

Change-Id: I3be7baf0255d838e6f5e16302c85d318061f4004

8 years agoAdd Fujitsu ETERNUS DX Volume Driver (FC part)
Yusuke Hayashi [Wed, 6 Jan 2016 08:02:54 +0000 (17:02 +0900)]
Add Fujitsu ETERNUS DX Volume Driver (FC part)

As I explained in my blueprint,
this patch completes Fujitsu ETERNUS DX Volume Driver.
Fujitsu ETERNUS DX Volume Driver consists of two parts, iSCSI and FC.
The iSCSI part [1] had been reviewed and
thanks to the nice reviews, it's merged.
The iSCSI and FC parts have a lot of common codes,
and all the common codes are included in the iSCSI part.

[1] https://review.openstack.org/201500/

DocImpact
Implements: blueprint fujitsu-eternus-dx-driver
Change-Id: If61145ee999bffd82223a99a7d59de315a5ecd3b

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Mon, 18 Jan 2016 06:23:24 +0000 (06:23 +0000)]
Imported Translations from Zanata

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I9fac5927f89f28c399b9870e029b7baf27eceb8f

8 years agoMerge "Remote unused iscsi_targets table"
Jenkins [Sun, 17 Jan 2016 23:34:41 +0000 (23:34 +0000)]
Merge "Remote unused iscsi_targets table"

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Sun, 17 Jan 2016 01:09:46 +0000 (01:09 +0000)]
Updated from global requirements

Change-Id: Ia5570e89fd81f9cf4cae08628fda829c500e62e0

8 years agoMerge "Python 3: Replace reduce and xrange with six.moves"
Jenkins [Sat, 16 Jan 2016 13:42:32 +0000 (13:42 +0000)]
Merge "Python 3: Replace reduce and xrange with six.moves"

8 years agoMerge "Huawei: Add manage/unmanage volume support"
Jenkins [Sat, 16 Jan 2016 12:29:54 +0000 (12:29 +0000)]
Merge "Huawei: Add manage/unmanage volume support"

8 years agoMerge "Infrastructure to use the DRBD transport for NOVA"
Jenkins [Sat, 16 Jan 2016 12:23:58 +0000 (12:23 +0000)]
Merge "Infrastructure to use the DRBD transport for NOVA"

8 years agoMerge "EMC VMAX - Extend Volume for VMAX3"
Jenkins [Sat, 16 Jan 2016 09:17:06 +0000 (09:17 +0000)]
Merge "EMC VMAX - Extend Volume for VMAX3"

8 years agoMerge "ITRI DISCO cinder driver"
Jenkins [Sat, 16 Jan 2016 09:15:39 +0000 (09:15 +0000)]
Merge "ITRI DISCO cinder driver"

8 years agoDisallow transferring volume in consistency group
Accela Zhao [Sat, 16 Jan 2016 06:43:29 +0000 (22:43 -0800)]
Disallow transferring volume in consistency group

Currently, transferring a volume in a consistency group would
success. But consistency group is not designed to span multiple
tenants. If the accepted volume is attached to an instance, and
the original user try to delete the CG, it would fail and could
not find the attachment.

This patch fixes it by adding a check in transfer API accept. It
raises InvalidVolume exception if the volume being transferred
belongs to a consistency group.

Change-Id: I597d32a301a1ded87ba711de6168995b5f62c4d8
Closes-bug: #1499584

8 years agoReduce use of eval()
Eric Harney [Fri, 15 Jan 2016 21:52:56 +0000 (16:52 -0500)]
Reduce use of eval()

Calling eval() is less than ideal security practice,
and does not appear to be needed in these instances.
Convert to ast.literal_eval() which is a safer
mechanism for parsing inputs like this.

Change-Id: I102f28cfa2a643f36a4d4174cef09c6f7576a804

8 years agoRemote unused iscsi_targets table
Gorka Eguileor [Fri, 15 Jan 2016 16:17:44 +0000 (17:17 +0100)]
Remote unused iscsi_targets table

iscsi_targets table, ORM class IscsiTarget, and db methods are not
currently being used, so we can drop them.

Closes-Bug: #1534808
Change-Id: I5bd0013f8fbcce18c844a1b051c3d385176f7e5b

8 years agoITRI DISCO cinder driver
Thelo Gaultier [Fri, 4 Dec 2015 07:29:44 +0000 (15:29 +0800)]
ITRI DISCO cinder driver

    This commit adds a Cinder volume driver for ITRI DISCO product.
    The DISCO driver supports the following features:
    * Volume Create/Delete
    * Volume Attach/Detach
    * Snapshot Create/Delete
    * Create Volume from Snapshot
    * Get Volume Stats
    * Copy Image to Volume
    * Copy Volume to Image
    * Clone Volume
    * Extend volume

    Implements: blueprint disco-driver-cinder

This patchset also includes the unit tests.

New config options for the cinder driver were also added.
related nova patchset : https://review.openstack.org/253353
related os_brick patchset : https://review.openstack.org/253352

DocImpact
Change-Id: I0168af34364343246a2855bdbd4a9f5ed5b05438

8 years agoNetApp eseries: report max_over_subscription_ratio correctly
Eric Harney [Thu, 14 Jan 2016 17:27:59 +0000 (12:27 -0500)]
NetApp eseries: report max_over_subscription_ratio correctly

The scheduler is looking for a key named
"max_over_subscription_ratio".

Closes-Bug: #1534240

Change-Id: I12f7a6ae8592bc8bc3b7fe70b2ff9cc947dc57d3

8 years agoMerge "Base iSCSI initiator validation"
Jenkins [Fri, 15 Jan 2016 11:25:49 +0000 (11:25 +0000)]
Merge "Base iSCSI initiator validation"

8 years agoPython 3: Replace reduce and xrange with six.moves
Ankit Agrawal [Fri, 15 Jan 2016 09:56:56 +0000 (01:56 -0800)]
Python 3: Replace reduce and xrange with six.moves

1. Builtin function 'reduce' in Python 2 has been moved to standard
library module in Python 3 [1]. To make code compatible, replaced
reduce(expr) with six.moves.reduce(expr).
2. xrange is renamed to range in Python 3, replaced it with
six.moves.range
3. Added __bool__() method in FeatureState class to make it python 3
compatible because Python 3 calls the __bool__() method instead of
__nonzero__ when evaluating an instance in a boolean context.
4. Added this test case to tests-py3.txt.

[1] http://python3porting.com/stdlib.html#moved-builtins

Closes-Bug: 1530249
Change-Id: I376cd643b9f58358a3e147532dafe77a7325a114

8 years agoInfrastructure to use the DRBD transport for NOVA
Philipp Marek [Fri, 15 Jan 2016 10:22:38 +0000 (11:22 +0100)]
Infrastructure to use the DRBD transport for NOVA

Our DRBD block storage driver for Cinder can be used to make
Nova directly connect to the DRBD 9 storage servers, instead
of needing an iSCSI hop.

Please see
  http://drbd.linbit.com/users-guide-9.0/s-openstack-transport-protocol.html
for more details.

Change-Id: Ie26f10302cd8ce3fd06bc52dd4f431ead5a03c24
Implements: blueprint drbd-transport

8 years agoMerge "Fix ChunkedBackupDriver _create_container"
Jenkins [Fri, 15 Jan 2016 08:24:26 +0000 (08:24 +0000)]
Merge "Fix ChunkedBackupDriver _create_container"

8 years agoMerge "LeftHand: Implement v2 replication (managed)"
Jenkins [Fri, 15 Jan 2016 08:22:51 +0000 (08:22 +0000)]
Merge "LeftHand: Implement v2 replication (managed)"

8 years agoNetApp ONTAP: Fix extending volume beyond lun geometry
Alex Meade [Fri, 8 Jan 2016 18:52:22 +0000 (13:52 -0500)]
NetApp ONTAP: Fix extending volume beyond lun geometry

In the case where a LUN is extended beyond it's supported geometry,
a new LUN must be created and only the used blocks should be copied
to the new LUN. Currently, we do not pass the block count, source
block, and destination block information. This causes the extend to
fail.

Closes-Bug: 1532836
Change-Id: I31d93ecfeee9884d6796c66acfbe556363130c44

8 years agoRefactor Windows drivers using os-win
Lucian Petrut [Wed, 14 Oct 2015 12:40:00 +0000 (15:40 +0300)]
Refactor Windows drivers using os-win

A common library abstracting Windows specific operations has been
created in order to remove duplicated code among OpenStack projects,
also being easier to maintain.

This patch refactors Windows drivers, leveraging the os-win library.

The Windows iSCSI driver unit tests needed to be updated, for which
reason those where rewritten using mock.

Implements: blueprint windows-os-win

Change-Id: I234835eebac83baab9c3e13b6cf069734137bbc2

8 years agoBase iSCSI initiator validation
Ivan Kolodyazhny [Thu, 14 Jan 2016 17:04:10 +0000 (19:04 +0200)]
Base iSCSI initiator validation

Validate that iSCSI initiator is string

Change-Id: I2309c70e1d937b1897a0e4f85a9255a9abe15169
Closes-Bug: #1534199

8 years agoFix ChunkedBackupDriver _create_container
Gorka Eguileor [Thu, 14 Jan 2016 14:35:15 +0000 (15:35 +0100)]
Fix ChunkedBackupDriver _create_container

Current _create_container method in ChunkedBackupDriver is not behaving
as expected.

According to update_container_name docstring the method should return
None if the container name that comes in to the driver is to be used,
but code was using backup_default_container instead.

Also, if None is returned by update_container_name the logging will
report that it will be using None instead of the name that it will be
really using.

If update_container_name returns the same value we already have in the
DB, driver will unnecessarily update the DB.

This patch fixes all this.

Change-Id: I2aeac37f5533b6bf0c10dd6bfe45224a25f39ea6
Closes-Bug: #1534182

8 years agoMerge "Enable trim/discard in SolidFire's driver"
Jenkins [Thu, 14 Jan 2016 06:24:21 +0000 (06:24 +0000)]
Merge "Enable trim/discard in SolidFire's driver"

8 years agoMerge "Allow host and instance_uuid at attach"
Jenkins [Thu, 14 Jan 2016 05:45:09 +0000 (05:45 +0000)]
Merge "Allow host and instance_uuid at attach"

8 years agoMerge "Handling Invalid argument iflag=direct in dd"
Jenkins [Wed, 13 Jan 2016 22:11:51 +0000 (22:11 +0000)]
Merge "Handling Invalid argument iflag=direct in dd"

8 years agoMerge "Dell SC: Adding logging to httpclient"
Jenkins [Wed, 13 Jan 2016 20:32:13 +0000 (20:32 +0000)]
Merge "Dell SC: Adding logging to httpclient"

8 years agoHuawei: Add manage/unmanage volume support
Wilson Liu [Fri, 30 Oct 2015 04:43:43 +0000 (12:43 +0800)]
Huawei: Add manage/unmanage volume support

Add manage/unmanage volume support for Huawei
drivers. Also implement the required
manage_existing_get_size function.

DocImpact
Implements: blueprint huawei-support-manage-volume
Change-Id: I964d49b9979b710bca445c2d209099dcea64d3da

8 years agoMerge "Report discard support for Dell SC connections"
Jenkins [Wed, 13 Jan 2016 02:35:28 +0000 (02:35 +0000)]
Merge "Report discard support for Dell SC connections"

8 years agoRemove DB calls from Pure Volume Driver CG methods
Patrick East [Tue, 12 Jan 2016 18:22:18 +0000 (10:22 -0800)]
Remove DB calls from Pure Volume Driver CG methods

After the updates to the CG API’s to pass in the objects we didn’t need
to call the DB anymore. This finally fixes that issue and updates to
return the actual database updates.

Change-Id: If6c96843be1d7e1cbc83e4258b917296129df621
Closes-Bug: #1531676

8 years agoDell SC: Adding logging to httpclient
Tom Swanson [Tue, 12 Jan 2016 19:28:45 +0000 (13:28 -0600)]
Dell SC: Adding logging to httpclient

Added url and payload logging to REST calls in the
HttpClient class of the Dell Storage Center Cinder
driver.

Change-Id: Iedf915a8678698721e05a938712339e7715b333e

8 years agoLeftHand: Implement v2 replication (managed)
Alex O'Rourke [Mon, 23 Nov 2015 18:43:13 +0000 (10:43 -0800)]
LeftHand: Implement v2 replication (managed)

This patch implements the managed side of v2 replication in the HPE
LeftHand driver.

At this time, only periodic mode is supported with LeftHand arrays.

extra_spec value 'replication:sync_period' will specify the sync period
for the volume type. If it is not provided, it will be defaulted to 1800
seconds, or 30 minutes. 'replication:retention_count' determines how
many snapshots will be kept on the primary system. The maximum is 50,
and if the value is not specified, it defaults to 5.
'replication:remote_retention_count' determines how many snapshots will
be kept on the secondary system. The maximum is 50, and if the value is
not specified, it defaults to 5.

cinder.conf should have the replication config group (lefthandrep)
and at least one other target group (lefthand) as such:

[lefthand]
hpelefthand_api_url = https://10.10.10.10:8081/lhos
hpelefthand_username = user
hpelefthand_password = pass
hpelefthand_clustername = mgm-cluster-name-1
volume_backend_name = lefthand
volume_driver = cinder.volume.drivers.hpe.hpe_lefthand_iscsi.\
                HPELeftHandISCSIDriver

[lefthandrep]
hpelefthand_api_url = https://11.11.11.11:8081/lhos
hpelefthand_username = user
hpelefthand_password = pass
hpelefthand_clustername = mgm-cluster-name-2
volume_backend_name = lefthandrep
volume_driver = cinder.volume.drivers.hpe.hpe_lefthand_iscsi.\
                HPELeftHandISCSIDriver
replication_device = managed_backend_name:alex-devstack@lefthand#lefthand,
                     target_device_id:lh-id,
                     hpelefthand_api_url:https://10.10.10.10:8081/lhos,
                     hpelefthand_username:user,
                     hpelefthand_password:pass,
                     hpelefthand_clustername:mgm-cluster-name-1

Change-Id: I97959e78b71042642a9f36fc2cd8a4ad3c73f135
Implements: blueprint hp-lefthand-v2-replication
DocImpact

8 years agoEnable trim/discard in SolidFire's driver
Chris Morrell [Thu, 7 Jan 2016 23:06:22 +0000 (23:06 +0000)]
Enable trim/discard in SolidFire's driver

Pretty straight forward change to set a flag in the connection info
returned from initialize_connection. This change will work pending
upcoming Nova code reviews, as trim/discard support has been supported
by SolidFire since its inception.

Followed the Cinder Liberty spec titled
'cinder-backend-report-discard' for this change.

Change-Id: I667bb27cf4be7cfe7d403c9603c40bf20db9491e

8 years agoMerge "Re-add Nexenta drivers"
Jenkins [Tue, 12 Jan 2016 18:53:44 +0000 (18:53 +0000)]
Merge "Re-add Nexenta drivers"

8 years agoMerge "Execute mount.nfs check as root"
Jenkins [Tue, 12 Jan 2016 15:35:12 +0000 (15:35 +0000)]
Merge "Execute mount.nfs check as root"

8 years agoAPI Middleware fault: Log exception type
Eric Harney [Mon, 11 Jan 2016 20:22:25 +0000 (15:22 -0500)]
API Middleware fault: Log exception type

This causes a fault such as the following to log the type:

ERROR cinder.api.middleware.fault [req-7d2... ddf... 658...]
  Caught error: <class 'oslo_db.exception.DBDataError'> (pymysql.err.InternalError)
  (1366, u"Incorrect string value: '\\xF0\\x9F\\x8C\\x8B' for column 'display_name'
   at row 1") [SQL: u'INSERT...

Without this info (DBDataError), it is rather difficult to
determine which exception actually occurred.

Change-Id: I51ca64847b7d82c4258e134161e1b23f232004e5

8 years agoRe-add Nexenta drivers
Mikhail Khodos [Wed, 9 Dec 2015 17:19:16 +0000 (09:19 -0800)]
Re-add Nexenta drivers

Drivers were removed due to lack of CI.

Refactored iSCSI to use single target/tg with multiple zvols.
Migrated unit tests to use mock.
Added releasenotes.

DocImpact
Implements: blueprint nexentastor-4-cinder-drivers
Change-Id: I2ff4c79573322a9c0cd473a9d413e1fcdbe55ee0

8 years agoMerge "3PAR: Adding volume checks to manage snapshot API"
Jenkins [Tue, 12 Jan 2016 08:41:43 +0000 (08:41 +0000)]
Merge "3PAR: Adding volume checks to manage snapshot API"

8 years agoMerge "Add ConsistencyGroupStatus enum field"
Jenkins [Tue, 12 Jan 2016 08:37:24 +0000 (08:37 +0000)]
Merge "Add ConsistencyGroupStatus enum field"

8 years agoMerge "Dell SC: Implements Replication V2"
Jenkins [Mon, 11 Jan 2016 21:49:42 +0000 (21:49 +0000)]
Merge "Dell SC: Implements Replication V2"

8 years agoReturn BadRequest for invalid Unicode names
Eric Harney [Mon, 11 Jan 2016 20:48:18 +0000 (15:48 -0500)]
Return BadRequest for invalid Unicode names

If the database fails to insert values due to them
containing Unicode that the database can't support (or other
similar errors that fall under DBDataError), return an
HTTP 400 Bad Request rather than HTTP 500.

The following fix in oslo.db is needed for this to be
most useful, but is not a requirement:
  https://review.openstack.org/#/c/265921/

This will need to be applied to numerous calls other
than just volume_create, as well.

Closes-Bug: #1393871
Partial-Bug: #1531400

Change-Id: I8f71df58082adca95c30d69eab211529025a3ab6

8 years agoHandling Invalid argument iflag=direct in dd
Sheel Rana [Mon, 11 Jan 2016 20:06:46 +0000 (01:36 +0530)]
Handling Invalid argument iflag=direct in dd

During volume/snapshot create/delete operations,
dd command is used to clear contents of disk.

Before invoking dd, it is checked if iflag=direct
supports dd or not by executing dd command with
iflag=direct and if=/dev/zero combination.
But this always results in invalid argument
error.

Handling for this argument is done to eliminate
unnecessary call to dd command when it is used
with iflag=direct and if=/dev/zero combination
to check if this argument supports dd or not.

Closes-Bug: #1270362

Change-Id: Ic6dd029ca1a339076e491c38ef3c69315497f189

8 years agoExecute mount.nfs check as root
Tom Patzig [Mon, 11 Jan 2016 19:55:01 +0000 (20:55 +0100)]
Execute mount.nfs check as root

Currently the existence of 'mount.nfs' is checked with a
non-root user, in this case cinder. This results, for example on SUSE,
in the error:

      NfsException: mount.nfs is not installed

Because mount.nfs is located under /sbin, unprivileged users do not
have /sbin in their PATH to search for executables.
This change switches the parameter run_as_root to true, to find
the binary in privileged directories, as well.

Change-Id: Id1dcc9a7653f1317532da2eb83aa1ecbb5cf5ec8
Closes-Bug: #1510150

8 years agoReport discard support for Dell SC connections
Sean McGinnis [Fri, 8 Jan 2016 14:43:35 +0000 (08:43 -0600)]
Report discard support for Dell SC connections

Add reporting of discard in the properties returned from
initialize_connection. Dell SC arrays support trim/discard
with no special configuration needed, so this can always
be set to true.

Change-Id: Ib0136369e230b5219b2b3994d17b6b31a9aba69f

8 years agoAdd ConsistencyGroupStatus enum field
Slade Baumann [Mon, 28 Dec 2015 16:44:34 +0000 (10:44 -0600)]
Add ConsistencyGroupStatus enum field

This change adds a new enum and field, ConsistencyGroupStatus and
ConsistencyGroupStatusField, that will hold the constants for the
'status' field of the ConsistencyGroup object. This enum and field
are based off the base oslo.versionedobjects enum and field. This
also changes over the ConsistencyGroup object to use the new field
(and bumps the version so newer versions know to enforce
valid values). Finally, all uses of strings for comparison and
assignment to this field are changed over to use the constants
defined within the enum.

Change-Id: Icee2727f0a550541876c63b6e7340acf3de553c8
Implements:  bp cinder-object-fields

8 years ago3PAR: Adding volume checks to manage snapshot API
Anthony Lee [Tue, 22 Dec 2015 21:57:37 +0000 (13:57 -0800)]
3PAR: Adding volume checks to manage snapshot API

Updated the checks in the HPE 3PAR manage snapshot API to use
the volume object for comparison. Also added new checks to
prevent un/managing of snapshots from/to volumes that have a
status of 'failed-over' for replication status.

This is a follow-up patch for:
https://review.openstack.org/#/c/253760/

Implements: blueprint 3par-manage-unmanage-snapshot
Change-Id: Ie187e67d9eec2121d6ccad5667c6d9fc73f98ce3

8 years agoMerge "Wrong usage of "an" in the mesages:"
Jenkins [Mon, 11 Jan 2016 14:39:13 +0000 (14:39 +0000)]
Merge "Wrong usage of "an" in the mesages:"

8 years agoAllow host and instance_uuid at attach
Walter A. Boring IV [Mon, 11 Jan 2016 11:43:09 +0000 (03:43 -0800)]
Allow host and instance_uuid at attach

This patch removes the restriction on passing both
host name and instance_uuid during os-attach call.

Change-Id: I2a66920a76d3abfd6da384d2dd963f054ce61c03
Partial-Bug: #1471278