]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
9 years agoMerge "Fix block_device driver to behave as documented"
Jenkins [Thu, 10 Sep 2015 22:09:34 +0000 (22:09 +0000)]
Merge "Fix block_device driver to behave as documented"

9 years agoMerge "ZFSSA driver to return project 'available' space"
Jenkins [Thu, 10 Sep 2015 17:51:42 +0000 (17:51 +0000)]
Merge "ZFSSA driver to return project 'available' space"

9 years agoMerge "Add unmanage default implementation to VolumeDriver"
Jenkins [Thu, 10 Sep 2015 06:06:06 +0000 (06:06 +0000)]
Merge "Add unmanage default implementation to VolumeDriver"

9 years agoMerge "Pass in snapshot refs for host on provider_update"
Jenkins [Thu, 10 Sep 2015 04:00:25 +0000 (04:00 +0000)]
Merge "Pass in snapshot refs for host on provider_update"

9 years agoMerge "Filter hosts with pool in snapshot_get_by_host"
Jenkins [Thu, 10 Sep 2015 03:57:54 +0000 (03:57 +0000)]
Merge "Filter hosts with pool in snapshot_get_by_host"

9 years agoMerge "Fix NetApp loop in clone of NFS backed images"
Jenkins [Thu, 10 Sep 2015 03:48:03 +0000 (03:48 +0000)]
Merge "Fix NetApp loop in clone of NFS backed images"

9 years agoFix NetApp loop in clone of NFS backed images
Tom Barron [Mon, 24 Aug 2015 17:21:48 +0000 (13:21 -0400)]
Fix NetApp loop in clone of NFS backed images

If there is a list of locations for glance images and an unsuitable
location is encountered when iterating through the list, current code
breaks out of the loop, failing to find later, valid locations.

Here we fix this issue by ignoring invalid locations and continuing
through the loop rather than breaking out when we find invalid locations.

Closes-bug: 1487074

Change-Id: Id2435ba633629367fa1bd8f339fc283f47eeb012

9 years agoMaking opt names consistent
Kendall Nelson [Wed, 9 Sep 2015 13:21:25 +0000 (08:21 -0500)]
Making opt names consistent

Wherever there are lists of options being registered, the name of
the list needs to be plural to be consistent with all other opt lists
being registered elsewhere. This change is necessary for the dynamic
generation of cinder.sample.conf.

Co-Authored-By: Jacob Gregor <jgregor@us.ibm.com>
Change-Id: I1434a195016a2a595d0205d73a78a60cd94137f8

9 years agoPass in snapshot refs for host on provider_update
John Griffith [Wed, 9 Sep 2015 15:15:31 +0000 (15:15 +0000)]
Pass in snapshot refs for host on provider_update

Now that snapshot_get_by_host is fixed we can and should
pass in a list of snapshot-refs to the drivers update_provider
method (just like we do with volumes).

Change-Id: I062efd1b7ab16f3f999464d3190c204026bba5ec
Closes-Bug: #1489182

9 years agoFilter hosts with pool in snapshot_get_by_host
Ivan Kolodyazhny [Wed, 9 Sep 2015 13:59:55 +0000 (16:59 +0300)]
Filter hosts with pool in snapshot_get_by_host

Snapshots use host field from the volume record. We need to ignore pool
if it is not specified in a host param for snapshot_get_by_host method.

Also snapshot_get_by_host will return empty list if host is None or an
empty string like a volume filer does.

Change-Id: I0d9eef8675d8dada3a0b6886dbb3f5807eecee73
Closes-Bug: #1493856

9 years agoMerge "Return a tuple from SolidFire update_provider_info"
Jenkins [Wed, 9 Sep 2015 02:20:32 +0000 (02:20 +0000)]
Merge "Return a tuple from SolidFire update_provider_info"

9 years agoMerge "Filter scheduler: Fix KeyError on invalid create request"
Jenkins [Wed, 9 Sep 2015 02:19:11 +0000 (02:19 +0000)]
Merge "Filter scheduler: Fix KeyError on invalid create request"

9 years agoFilter scheduler: Fix KeyError on invalid create request
Eric Harney [Tue, 8 Sep 2015 22:40:53 +0000 (18:40 -0400)]
Filter scheduler: Fix KeyError on invalid create request

An invalid request can generate a KeyError here rather
than the intended failure message.

Closes-Bug: #1493580

Change-Id: Ia73d8c2834e564ee14d72303001e11be2ea14900

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Tue, 8 Sep 2015 22:01:48 +0000 (22:01 +0000)]
Updated from global requirements

Change-Id: I100c3680608c7448dba1da3bd839b4ff2dc17f8d

9 years agoReturn a tuple from SolidFire update_provider_info
John Griffith [Tue, 8 Sep 2015 21:29:05 +0000 (15:29 -0600)]
Return a tuple from SolidFire update_provider_info

The SolidFire update_provider_info is only returning
a list of updated volumes, but the manager call (and
the method def in the reference) calls for a tuple of
volumes and snapshots.

This patch fixes the return to be a tuple, a follow on
will be needed to add snapshot updates.

Change-Id: Ifa617bfd7b0652adf7bf1b19d48e88bfcfcec8df
Partial-Bug: #1493563

9 years agoAdd unmanage default implementation to VolumeDriver
Eric Harney [Tue, 8 Sep 2015 20:23:45 +0000 (16:23 -0400)]
Add unmanage default implementation to VolumeDriver

Currently, only drivers that inherit from ManageableVD
get the default unmanage() implementation.

This is not correct, because drivers can support unmanage
without driver code.  Fix unmanage() in VolumeDriver to
support the LVM driver's unmanage operation.

(Regression from the refactoring done when introducing
abc classes.)

Closes-Bug: #1493544

Change-Id: Iaacf10141559a2c88b5873722d1e237dc9223f27

9 years agoMerge "VMware: Fix re-attach volume error for VC 5.1"
Jenkins [Tue, 8 Sep 2015 20:06:58 +0000 (20:06 +0000)]
Merge "VMware: Fix re-attach volume error for VC 5.1"

9 years agoMerge "Update update_migrated_volume in VNX driver"
Jenkins [Tue, 8 Sep 2015 15:20:00 +0000 (15:20 +0000)]
Merge "Update update_migrated_volume in VNX driver"

9 years agoMerge "Fix HDS HNAS driver logging password as plain text"
Jenkins [Tue, 8 Sep 2015 15:19:49 +0000 (15:19 +0000)]
Merge "Fix HDS HNAS driver logging password as plain text"

9 years agoMerge "Add mechanism to update snapshot provider_id"
Jenkins [Tue, 8 Sep 2015 15:13:27 +0000 (15:13 +0000)]
Merge "Add mechanism to update snapshot provider_id"

9 years agoMerge "3PAR Disable generic image volume cache"
Jenkins [Tue, 8 Sep 2015 15:11:29 +0000 (15:11 +0000)]
Merge "3PAR Disable generic image volume cache"

9 years agoMerge "Adds allow_availability_zone_fallback option to Cinder"
Jenkins [Tue, 8 Sep 2015 12:59:01 +0000 (12:59 +0000)]
Merge "Adds allow_availability_zone_fallback option to Cinder"

9 years agoUpdate update_migrated_volume in VNX driver
peter_wang [Mon, 17 Aug 2015 14:33:18 +0000 (10:33 -0400)]
Update update_migrated_volume in VNX driver

Cinder framework adds an extra 'original_volume_status' in
update_migrated_volume.
Driver interface needs to update accordingly.

Change-Id: I59b3343529dd0a4c1f7ab3e74f203d6503f12697
Closes-Bug: 1486359

9 years agoMerge "Fix description for "Barbarism of editting a file""
Jenkins [Mon, 7 Sep 2015 20:59:52 +0000 (20:59 +0000)]
Merge "Fix description for "Barbarism of editting a file""

9 years agoMerge "Handle attachment of second volume"
Jenkins [Mon, 7 Sep 2015 20:40:13 +0000 (20:40 +0000)]
Merge "Handle attachment of second volume"

9 years ago3PAR Disable generic image volume cache
Walter A. Boring IV [Tue, 1 Sep 2015 18:59:22 +0000 (11:59 -0700)]
3PAR Disable generic image volume cache

This patch disables the 3PAR drivers if an admin tries to
enable the generic image volume cache capability.

The 3PAR drivers don't work with this currently because of the way volume
cloning works in the drivers.  When a volume is cloned, it's done so
in the background, which makes the clone available immediately for attaching.
The problem is, a background cloning also locks the original volume from
being modified.  The generic image cache does a clone, and then an extend
volume, which fails for the 3PAR drivers currently.

Change-Id: If2e79a24969ab85bacdffdf750af5fc74be37a5c
Partial-Bug: 1491088

9 years agoMerge "Add os-brick's scsi_id command to Cinder rootwrap"
Jenkins [Mon, 7 Sep 2015 06:01:33 +0000 (06:01 +0000)]
Merge "Add os-brick's scsi_id command to Cinder rootwrap"

9 years agoMerge "VMware: Remove global patching of open"
Jenkins [Sun, 6 Sep 2015 19:37:46 +0000 (19:37 +0000)]
Merge "VMware: Remove global patching of open"

9 years agoMerge "Correct usage of assertEqual for boolean values"
Jenkins [Sun, 6 Sep 2015 17:47:23 +0000 (17:47 +0000)]
Merge "Correct usage of assertEqual for boolean values"

9 years agoMerge "Switch SVC driver to use lsportfc to determine FC target WWPNS"
Jenkins [Sun, 6 Sep 2015 13:28:26 +0000 (13:28 +0000)]
Merge "Switch SVC driver to use lsportfc to determine FC target WWPNS"

9 years agoMerge "Fix the virtual port support in VNX driver"
Jenkins [Sun, 6 Sep 2015 13:24:45 +0000 (13:24 +0000)]
Merge "Fix the virtual port support in VNX driver"

9 years agoAdd os-brick's scsi_id command to Cinder rootwrap
Sean McGinnis [Sat, 5 Sep 2015 18:04:05 +0000 (13:04 -0500)]
Add os-brick's scsi_id command to Cinder rootwrap

FC drivers are failing on calls to scsi_id. This command
is in the os-brick rootwrap filters, but that file is not
being pulled in to Cinder yet.

As a temporary fix until that work can be completed, this
patch adds the missing command directly to volume.filters
to allow this command to run. Follow up work will be needed
to remove this and other legacy brick commands from the
volume.filters file and instead pull in os-brick's
os-brick.filters values.

Change-Id: Iba8e5c82f8d203759cda0e21de5fdf2404b18e69
Partial-bug: #1479842

9 years agoMerge "Error message in update_migrated_volume was incorrect"
Jenkins [Sat, 5 Sep 2015 04:33:45 +0000 (04:33 +0000)]
Merge "Error message in update_migrated_volume was incorrect"

9 years agoMerge "Updated from global requirements"
Jenkins [Sat, 5 Sep 2015 02:22:33 +0000 (02:22 +0000)]
Merge "Updated from global requirements"

9 years agoMerge "Use consolidated update for failover_replication"
Jenkins [Sat, 5 Sep 2015 00:16:12 +0000 (00:16 +0000)]
Merge "Use consolidated update for failover_replication"

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Fri, 4 Sep 2015 21:51:13 +0000 (21:51 +0000)]
Updated from global requirements

Change-Id: I62f6f6d3847cc5c9dcc4c002b6d0da5f6ebe9d38

9 years agoError message in update_migrated_volume was incorrect
Jacob Gregor [Fri, 4 Sep 2015 21:30:12 +0000 (16:30 -0500)]
Error message in update_migrated_volume was incorrect

If an error was encountered in self.vg.rename_volume the error
message tried to use volume['name'], which is an invalid key.
The invalid key error would then cause the retype/migration to
abort in the middle of the process and leave original and temporary
volume in place. This patch fixes this bug by providing a valid key.

Change-Id: I73e1335c649df41d5167efc3cb4b9af48a5d537d
Closes-bug: #1492462

9 years agoMerge "VMware: Skip ESX hosts in maintenance mode"
Jenkins [Fri, 4 Sep 2015 20:47:33 +0000 (20:47 +0000)]
Merge "VMware: Skip ESX hosts in maintenance mode"

9 years agoMerge "3PAR Add update_migrated_volume to drivers"
Jenkins [Fri, 4 Sep 2015 19:19:07 +0000 (19:19 +0000)]
Merge "3PAR Add update_migrated_volume to drivers"

9 years agoFix HDS HNAS driver logging password as plain text
Tiago Pasqualini [Wed, 2 Sep 2015 17:58:03 +0000 (14:58 -0300)]
Fix HDS HNAS driver logging password as plain text

HDS HNAS driver logs every command that is sent to HNAS. Some
commands need the HNAS password, so the driver ends up logging
this password as plain text. This patch changes these commands
syntax so that oslo_utils.strutils.mask_password can successfully
mask this password.

Change-Id: I720701d8ee2b944ad498917f668160894f1f07cc
Closes-Bug: #1491524

9 years agoAdd mechanism to update snapshot provider_id
John Griffith [Wed, 2 Sep 2015 20:08:49 +0000 (20:08 +0000)]
Add mechanism to update snapshot provider_id

During the L release we added the ability to store
provider_id info for volumes and snapshots.  We did
not however add a mechanism for this info to be updated
on upgrades.

This patch adds on to the volume update mechanism and
gives a driver the opportunity to set provider_id columns
that aren't set on snapshots just as it does for volumes.

Change-Id: Ie6585e4f0d2a4a511e5fbe35b91186d8ad7e9874
Closes-Bug: #1489182

9 years agoMerge "Remove useless response checks in SolidFire driver"
Jenkins [Fri, 4 Sep 2015 17:26:00 +0000 (17:26 +0000)]
Merge "Remove useless response checks in SolidFire driver"

9 years agoVMware: Remove global patching of open
Vipin Balachandran [Fri, 4 Sep 2015 08:17:34 +0000 (13:47 +0530)]
VMware: Remove global patching of open

Commit 212aff327a36f925be3be69b9b54b946dbdd5c2a replaced
'cinder.openstack.common.fileutils.file_open' with 'open'
from builtins. It also updated unit tests to patch 'six.
moves.builtins.open' instead of 'cinder.openstack.common.
fileutils.file_open'. This resulted in intermittent failure
of test 'test_create_backing_from_stream_optimized_file'
in VMwareVcVmdkDriverTestCase. The failure happens because
the test patches 'open' from builtins and tests code which
throws an exception in a 'with open(...)' block. This
exception is handled in excutils.save_and_reraise_exception
which uses 'with open(...)' and the exception handling
fails due to the global patching of 'open'.

This patch replaces the global patching of builtins 'open'
with a patch decorator which binds 'open' to the namespace
of the code under testing.

Closes-bug: #1488690
Change-Id: Ib0f47b8fcbc54a9111c1bdff6d4b6fa7568518ca

9 years agoVMware: Skip ESX hosts in maintenance mode
Vipin Balachandran [Wed, 26 Aug 2015 11:30:40 +0000 (17:00 +0530)]
VMware: Skip ESX hosts in maintenance mode

Volume creation will fail if the VMDK driver selects
an ESX host in maintenance mode for volume creation.
This may happen even if there are usable ESX hosts
in vCenter. This patch fixes the problem by ignoring
ESX hosts in maintenance mode during volume creation.

Closes-bug: #1492221
Change-Id: I8cb89f95d0411ea2140e3107941d4e5e04a0156d

9 years agoMerge "Updated from global requirements"
Jenkins [Fri, 4 Sep 2015 10:31:44 +0000 (10:31 +0000)]
Merge "Updated from global requirements"

9 years agoMerge "DotHill driver fix create_cloned_volume parent id"
Jenkins [Fri, 4 Sep 2015 09:11:42 +0000 (09:11 +0000)]
Merge "DotHill driver fix create_cloned_volume parent id"

9 years agoMerge "Remove deprecated options"
Jenkins [Fri, 4 Sep 2015 07:58:59 +0000 (07:58 +0000)]
Merge "Remove deprecated options"

9 years agoMerge "VMware: Fix exception messages"
Jenkins [Fri, 4 Sep 2015 07:58:49 +0000 (07:58 +0000)]
Merge "VMware: Fix exception messages"

9 years agoMerge "Detect addition of executable files"
Jenkins [Fri, 4 Sep 2015 05:14:01 +0000 (05:14 +0000)]
Merge "Detect addition of executable files"

9 years ago3PAR Add update_migrated_volume to drivers
Walter A. Boring IV [Fri, 4 Sep 2015 00:05:44 +0000 (17:05 -0700)]
3PAR Add update_migrated_volume to drivers

The 3PAR drivers were missing the method
update_migrated_volume, which would then cause
all sorts of problems after a volume was migrated
into a 3PAR array.

Change-Id: Iab9b3ef1812bc7e8249c802f0c699787b0a58af6
Closes-Bug: 1492023

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Fri, 4 Sep 2015 04:14:09 +0000 (04:14 +0000)]
Updated from global requirements

Change-Id: I2db4de3ab7e39548bdc40a72dede16bd1a5c6824

9 years agoMerge "3PAR Fix create_cloned_volume source volume id"
Jenkins [Fri, 4 Sep 2015 03:28:57 +0000 (03:28 +0000)]
Merge "3PAR Fix create_cloned_volume source volume id"

9 years agoMerge "NetApp E-Series over-subscription support"
Jenkins [Fri, 4 Sep 2015 00:49:07 +0000 (00:49 +0000)]
Merge "NetApp E-Series over-subscription support"

9 years agoSwitch SVC driver to use lsportfc to determine FC target WWPNS
Gerald McBrearty [Thu, 3 Sep 2015 03:08:54 +0000 (22:08 -0500)]
Switch SVC driver to use lsportfc to determine FC target WWPNS

Switched the startup code within SVC driver to use the
SVC lsportfc command rather than the lsnode command to determine the
target WWPNs for an SVC node, and updated SVC testcases.
The SVC lsportfc command returns all of the FC ports so that
all of the FC ports can be zoned and thus utilized by
the VM that a volume is attached to.
Where the lsnode command is documented to only report the
first 4 FC ports.

Closes-Bug: 1490041

Change-Id: I6acac0080a96a5b3dfbc6fb8b54a456206b21688

9 years agoUse consolidated update for failover_replication
Patrick East [Wed, 2 Sep 2015 20:58:02 +0000 (13:58 -0700)]
Use consolidated update for failover_replication

Right now it’s using a special built volume_updates dictionary that
contains some fields *and* a model update. We then glom all of them
together into an update dictionary for the volume model.

This change simplifies them into a single model update more in-line with
how the other volume API’s work for drivers.

It also fixes a bug where the model_update property of the volume_update
was not being applied to the db model.

Change-Id: I8ad85bf0e62099a8ea4dd471dfcb64fa057f1021
Closes-Bug: #1491587

9 years agoVMware: Fix exception messages
Vipin Balachandran [Tue, 25 Aug 2015 09:06:51 +0000 (14:36 +0530)]
VMware: Fix exception messages

Currently some of the exceptions defined in the VMware driver
emit unformatted error messages. This is because they are
not overriding the correct message format variable. This
patch fixes the issue by overriding the correct variable
defined in the exception super class.

Closes-Bug: #1491834
Change-Id: I1c66d60ab2ea402dd944587b3d8b6d7c293c4d85

9 years agoAdds allow_availability_zone_fallback option to Cinder
Edmund Rhudy [Thu, 27 Aug 2015 17:49:58 +0000 (13:49 -0400)]
Adds allow_availability_zone_fallback option to Cinder

This change adds allow_availability_zone_fallback, which allows Cinder
to fall back to an already configured availability zone if the
requested availability zone is unavailable.

Change-Id: Id6b43fc3243b4de82241cfab34ff10953b537874
DocImpact: cinder
Closes-Bug: #1489575

9 years agoNetApp E-Series over-subscription support
Michael Price [Sun, 16 Aug 2015 14:58:41 +0000 (10:58 -0400)]
NetApp E-Series over-subscription support

Add support to the E-Series driver for
over-subscription/overprovisioning. This allows the Cinder scheduler
to more accurately represent the remaining space on a pool when
thin provisioned Cinder volumes are in use on an E-Series backend.

Co-Authored-By: Tom Barron <tpb@dyncloud.net>
DocImpact
Partially-implements: blueprint netapp-block--over-subscription-thin-provisioning
Change-Id: I5fb8f480168b9195221412d70f187c5ddfc4f527

9 years agoZFSSA driver to return project 'available' space
Abhiram Moturi [Mon, 10 Aug 2015 14:23:09 +0000 (14:23 +0000)]
ZFSSA driver to return project 'available' space

This fix allows the iSCSI driver to return the 'available' space
property at project level instead of the pool level which is more
accurate in cases when storage is not thin provisioned.

Change-Id: I52dec5e527eab393fd464fbc7f4f910fafb67268
Closes-Bug: #1479342

9 years agoMerge "Fix problem of efficient volume copy for migration"
Jenkins [Thu, 3 Sep 2015 11:49:18 +0000 (11:49 +0000)]
Merge "Fix problem of efficient volume copy for migration"

9 years agoMerge "Get full volume model in Replication manager API’s"
Jenkins [Thu, 3 Sep 2015 11:38:29 +0000 (11:38 +0000)]
Merge "Get full volume model in Replication manager API’s"

9 years agoMerge "Implement thin provisioning support for E-Series"
Jenkins [Thu, 3 Sep 2015 08:36:12 +0000 (08:36 +0000)]
Merge "Implement thin provisioning support for E-Series"

9 years agoMerge "Generic image-volume cache"
Jenkins [Thu, 3 Sep 2015 08:13:12 +0000 (08:13 +0000)]
Merge "Generic image-volume cache"

9 years agoMerge "Remove executable bits on files"
Jenkins [Thu, 3 Sep 2015 08:12:47 +0000 (08:12 +0000)]
Merge "Remove executable bits on files"

9 years agoMerge "Implement manage/unmanage snapshot in Pure drivers"
Jenkins [Thu, 3 Sep 2015 07:41:45 +0000 (07:41 +0000)]
Merge "Implement manage/unmanage snapshot in Pure drivers"

9 years agoMerge "Cloudbyte fix create_cloned_volume parent id"
Jenkins [Thu, 3 Sep 2015 06:29:03 +0000 (06:29 +0000)]
Merge "Cloudbyte fix create_cloned_volume parent id"

9 years agoMerge "NetApp DOT block driver over-subscription support"
Jenkins [Thu, 3 Sep 2015 00:23:41 +0000 (00:23 +0000)]
Merge "NetApp DOT block driver over-subscription support"

9 years agoGet full volume model in Replication manager API’s
Patrick East [Wed, 2 Sep 2015 20:51:42 +0000 (13:51 -0700)]
Get full volume model in Replication manager API’s

Currently we pass in a dictionary of the volume properties, but not the
actual volume model. This dictionary is missing some of the properties
like ‘name’ which backends may required for volume operations.

Change-Id: Idcb7b2c8313360a77ba336f3b7534d8fa7431a41
Closes-Bug: #1491585

9 years agoFix problem of efficient volume copy for migration
Mitsuhiro Tanino [Wed, 2 Sep 2015 18:33:18 +0000 (14:33 -0400)]
Fix problem of efficient volume copy for migration

After introducing commit f586043fa969b9d1dcf4933aacbf615f53691093,
new volume copy method _copy_volume_data() was added into
manager.py. Originally driver.py had this method and it was copied
into manager.py. However new _copy_volume_data() lost efficient
volume copy logic during the reimplementation.

This patch simply add efficient volume copy logic again into new
_copy_volume_data() to fix the problem.

Change-Id: I183cbd2265c1f47c9047818e1d4915c896927280
Closes-Bug: 1491538

9 years agoMerge "Cleanup for SnapshotObject"
Jenkins [Wed, 2 Sep 2015 18:22:12 +0000 (18:22 +0000)]
Merge "Cleanup for SnapshotObject"

9 years agoMerge "Scheduler-based over-subscription for NFS drivers"
Jenkins [Wed, 2 Sep 2015 18:22:01 +0000 (18:22 +0000)]
Merge "Scheduler-based over-subscription for NFS drivers"

9 years agoMerge "Support efficient non-disruptive volume backup in VNX"
Jenkins [Wed, 2 Sep 2015 18:21:49 +0000 (18:21 +0000)]
Merge "Support efficient non-disruptive volume backup in VNX"

9 years agoGeneric image-volume cache
Patrick East [Wed, 8 Jul 2015 00:23:58 +0000 (17:23 -0700)]
Generic image-volume cache

This introduces a new feature for backends to be able to use cached
glance images when creating volumes from images.

If enabled, and the cinder internal tenant is configured, it will
create a minimal sized clone of a volume the first time it is
downloaded from glance. A new db table ‘image_volume_cache’ tracks
these volumes, which are owned by the Cinder internal tenant. The
original will then be extended to full size. Any subsequent requests to
create a volume from an image will be able to do a volume clone from
the image-volume cache entry instead of downloading the image data from
glance again.

In the future we could create an entry upon creating an image from a
volume right before uploading the volume to glance. This version
however does not aim to do more than add the initial framework and
help with subsequent image downloads. There are certainly more
improvements that can be done over time on top of this.

These image-volumes are host specific, so each backend may end up with
its very own image-volume to do clones from.

The cache is limited in size by number of entries allowed and size in
gb. When creating a new entry if space is needed the last used entries
will be evicted to make room.

In the current implementation the image-volumes will be viewable by a
cloud admin in the volume list, and show up as owned by the Cinder
internal tenant. They can safely be deleted manually by an admin, this
will cause the entry to be removed from the cache. These volumes will
use quota for the internal tenant.

Cache actions will post notifications to Ceilometer. There are
notifications like ‘image_volume_cache.miss’, ‘image_volume_cache.hit’,
and ‘image_volume_cache.evict’. A change will be required to the
event_definitions.yaml to see them nicely. Until then you only need to
add a new event type 'image_volume_cache.*' and look for the ‘image_id’
and ‘host’ fields.

DocImpact: We probably want some instructions on restrictions of the
cache and how to use it. The three new config options should also be
documented somewhere: ‘image_volume_cache_enabled’,
’image_volume_cache_max_size_gb’, ‘image_volume_cache_max_size_count’

Co-Authored-By: Tomoki Sekiyama <tomoki.sekiyama@hds.com>
Implements: blueprint image-volume-cache
Change-Id: If22bbaff89251e4e82a715170a48b4040f95c09f

9 years agoImplement thin provisioning support for E-Series
Michael Price [Wed, 5 Aug 2015 20:36:59 +0000 (15:36 -0500)]
Implement thin provisioning support for E-Series

Implement a new extra spec, 'netapp_thin_provisioned', that will allow
users to define thin provisioned Cinder volumes on E-Series storage,
alongside pre-existing extra specs such as
'netapp_eseries_data_assurance', 'netapp_eseries_flash_reach_cache',
'netapp_raid_type', etc.

We have a followup patch, https://review.openstack.org/#/c/215801/ ,
that reports 'thin_provisioning_support=True/False' and same for
'thick_provisioning_support', in accord with the scheduler-based
over-subscription support added in Kilo.

We are not yet attempting to implement the get_capabilities()
feature just merged into Liberty
(https://review.openstack.org/#/c/201243/)
but fully intend to do so in a way that conforms with that plan of
record.

Partially-Implements: blueprint netapp-eseries-additional-extra-specs
DocImpact
Change-Id: Ia00b56e6d6a644cff81791bbd04e97f0c02b9e65

9 years agoMerge "ScaleIO driver should use os-brick connector"
Jenkins [Wed, 2 Sep 2015 16:05:07 +0000 (16:05 +0000)]
Merge "ScaleIO driver should use os-brick connector"

9 years agoMerge "Earlier authority check for create volume API"
Jenkins [Wed, 2 Sep 2015 16:04:56 +0000 (16:04 +0000)]
Merge "Earlier authority check for create volume API"

9 years agoMerge "Check before add lun to QoS in Huawei driver"
Jenkins [Wed, 2 Sep 2015 16:04:42 +0000 (16:04 +0000)]
Merge "Check before add lun to QoS in Huawei driver"

9 years agoMerge "Minor optimization"
Jenkins [Wed, 2 Sep 2015 16:04:30 +0000 (16:04 +0000)]
Merge "Minor optimization"

9 years agoRemove useless response checks in SolidFire driver
John Griffith [Wed, 2 Sep 2015 15:56:15 +0000 (15:56 +0000)]
Remove useless response checks in SolidFire driver

The main issue_api_request method in the SolidFire driver
has had a mechanism to check validity of response data for
some time now.  It checks the response and if there isn't
a valid result in the response it raises.

The problem is that we still have some cruft from the old
code that does local checking/verfication.  These checks
won't ever actually be called because of the exception, and
they create some confusion.

This patch just removes those useless checks and cleans up
the api_request calls a bit.

Change-Id: Ifbcda0f943bb0b9dc47aff25bbb9245ce361fc48
Closes-Bug: #1491485

9 years agoMerge "Add additional SSC extra specs to E-Series driver"
Jenkins [Wed, 2 Sep 2015 13:23:05 +0000 (13:23 +0000)]
Merge "Add additional SSC extra specs to E-Series driver"

9 years agoMerge "Add delete_snapshot and update_snapshot rules"
Jenkins [Wed, 2 Sep 2015 12:27:32 +0000 (12:27 +0000)]
Merge "Add delete_snapshot and update_snapshot rules"

9 years agoMerge "Implement AutoSupport for NetApp E-Series driver"
Jenkins [Wed, 2 Sep 2015 12:27:12 +0000 (12:27 +0000)]
Merge "Implement AutoSupport for NetApp E-Series driver"

9 years agoMerge "Add support for volume groups and netapp_raid_type"
Jenkins [Wed, 2 Sep 2015 12:25:02 +0000 (12:25 +0000)]
Merge "Add support for volume groups and netapp_raid_type"

9 years agoMerge "Fix backup metadata import missing fields"
Jenkins [Wed, 2 Sep 2015 06:37:01 +0000 (06:37 +0000)]
Merge "Fix backup metadata import missing fields"

9 years agoMerge "Fix a merge problem in VMAX driver"
Jenkins [Wed, 2 Sep 2015 06:36:19 +0000 (06:36 +0000)]
Merge "Fix a merge problem in VMAX driver"

9 years agoMerge "Add instructions on how to deploy API under Apache"
Jenkins [Wed, 2 Sep 2015 06:14:57 +0000 (06:14 +0000)]
Merge "Add instructions on how to deploy API under Apache"

9 years agoMerge "Sync volume versionedobject to ORM"
Jenkins [Wed, 2 Sep 2015 05:31:26 +0000 (05:31 +0000)]
Merge "Sync volume versionedobject to ORM"

9 years agoFix the virtual port support in VNX driver
Tina [Thu, 6 Aug 2015 03:11:13 +0000 (23:11 -0400)]
Fix the virtual port support in VNX driver

VNX support virtual port on each physical iSCSI port. The
driver used some incorrect command which cannot get the virtual
port id information. This causes the driver to not be able to
tell whether the registered port is a virtaul port or not.
This change fixes the driver to use correct command and handle
the virtual port id correctly.

Change-Id: I11994dd5a0c8da74fcf15668f49796a45719b5e4
Closes-Bug: #1485484

9 years agoDotHill driver fix create_cloned_volume parent id
Walter A. Boring IV [Wed, 2 Sep 2015 02:20:32 +0000 (02:20 +0000)]
DotHill driver fix create_cloned_volume parent id

This patch changes how the Dothill driver finds the
parent volume id during create_cloned_volume time.
The proper place to get it is from the source volume
dict/object being passed in.

Change-Id: I7623b31d850701fe7c85eff59085197a2cd73352
Closes-Bug: 1491207

9 years ago3PAR Fix create_cloned_volume source volume id
Walter A. Boring IV [Tue, 1 Sep 2015 23:22:40 +0000 (16:22 -0700)]
3PAR Fix create_cloned_volume source volume id

This patch fixes where we are getting the source volume id
from.  Previously we were reading the source volume id from
the destination volume object in volume['source_volid'].  There are
cases where this value doesn't exist.   We are now reading the value
from the src_vref['id'] instead.

Change-Id: I7cf3137048d4b46099077402ec76faf20bd66b83
Closes-Bug: 1491175

9 years agoCloudbyte fix create_cloned_volume parent id
Walter A. Boring IV [Wed, 2 Sep 2015 02:10:43 +0000 (02:10 +0000)]
Cloudbyte fix create_cloned_volume parent id

The CloudByte driver is reading the parent's volume id from the
new volume's source_volid.  There are some cases when this isn't set.
The source volume object/dict is passed in, so just access the id
from there.

Change-Id: If6d3f50d11e36434e194a355e874d44f9d79f553
Closes-Bug: 1491206

9 years agoScheduler-based over-subscription for NFS drivers
Tom Barron [Mon, 17 Aug 2015 18:08:28 +0000 (14:08 -0400)]
Scheduler-based over-subscription for NFS drivers

Add support to the NFS drivers for over-subscription/overprovisioning.
This allows the Cinder scheduler to more accurately represent the
remaining space on a pool when thin-provisioned Cinder Volumes are in
use on an NFS backend.

DocImpact
Co-Authored-By: Clinton Knight <cknight@netapp.com>
Co-Authored-By: Mike Rooney <rooneym@netapp.com>
Implements: blueprint nfs-over-subscription-thin-provisioning

Change-Id: Ib94d5131554466709e168c18d1b8690dddd55ff0

9 years agoScaleIO driver should use os-brick connector
Xing Yang [Wed, 19 Aug 2015 02:16:03 +0000 (22:16 -0400)]
ScaleIO driver should use os-brick connector

Currently the ScaleIO Cinder volume driver contains the connect_volume logic
inside the driver itself. This code is redundant with the code in the os-brick
connector. This patch modifies the driver to use the os-brick connector and
removes the redundant code.

Change-Id: Ic26880f133c0ce10f9a67acd6e16b0d88cb2a242
Closes-Bug: #1486315

9 years agoMerge "Allow specified backend capabilities to be retrieved"
Jenkins [Tue, 1 Sep 2015 19:29:42 +0000 (19:29 +0000)]
Merge "Allow specified backend capabilities to be retrieved"

9 years agoAdd instructions on how to deploy API under Apache
Anton Arefiev [Wed, 29 Jul 2015 12:23:41 +0000 (15:23 +0300)]
Add instructions on how to deploy API under Apache

Add new documentation with steps how to deploy Cinder API under Apache.

Implements: blueprint non-eventlet-wsgi-app

Change-Id: I25335991206a2563d266baac6730d130890777db

9 years agoSync volume versionedobject to ORM
Thang Pham [Fri, 28 Aug 2015 14:02:50 +0000 (07:02 -0700)]
Sync volume versionedobject to ORM

The following patch syncs the volume object to match the
ORM.  More specifically, it adds metadata, admin_metdata,
volume_attachment, and volume_type to the volume object.
These fields are required to convert cinder internals to
use volume versionedobject.  It was originally part of
a large patch, but is broken up to make reviews more
bearable.

Change-Id: I80c1734072cb26acbe207914e812a3b169b69dfb
Partial-Implements: blueprint cinder-objects

9 years agoCheck before add lun to QoS in Huawei driver
Wilson Liu [Tue, 1 Sep 2015 11:22:41 +0000 (19:22 +0800)]
Check before add lun to QoS in Huawei driver

Check whether the lun_id has already been
added into the QoS before we add it.

Also some very small code clean in this patch.

Closes-Bug: #1490935
Change-Id: Ie0a2e4debe229d2f5ad8c66cfd1f0bf5522e4733

9 years agoFix backup metadata import missing fields
Gorka Eguileor [Sun, 12 Jul 2015 11:30:03 +0000 (13:30 +0200)]
Fix backup metadata import missing fields

When importing backup metadata only required fields were being imported,
and all other fields were being ignored.

This led to some serious problems when importing backups back, since
you would lose not only the original Volume ID, but also relevant parent
id information needed to restore incremental backups.

This patch fixes this by importing everything back and creating backup
records with the right ID.

Closes-Bug: #1455043
Closes-Bug: #1476416
Depends-On: Id7ab6e174c1fe85772477f03059c4f457c5c8b17
Change-Id: Ia42ba73e9078d993c63f8e16308151ad11721ea9

9 years agoMerge "Service object"
Jenkins [Tue, 1 Sep 2015 12:45:32 +0000 (12:45 +0000)]
Merge "Service object"

9 years agoMerge "Add support for file I/O volume migration"
Jenkins [Tue, 1 Sep 2015 09:52:47 +0000 (09:52 +0000)]
Merge "Add support for file I/O volume migration"