]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
11 years agoMerge "Add GlusterFS volume driver"
Jenkins [Sat, 16 Feb 2013 16:38:15 +0000 (16:38 +0000)]
Merge "Add GlusterFS volume driver"

11 years agoMerge "Add LIO iSCSI backend support using python-rtslib"
Jenkins [Sat, 16 Feb 2013 14:42:41 +0000 (14:42 +0000)]
Merge "Add LIO iSCSI backend support using python-rtslib"

11 years agoMerge "rbd: update volume<->image copying"
Jenkins [Sat, 16 Feb 2013 10:54:33 +0000 (10:54 +0000)]
Merge "rbd: update volume<->image copying"

11 years agoMerge "Update EMC SMI-S Driver"
Jenkins [Sat, 16 Feb 2013 10:54:27 +0000 (10:54 +0000)]
Merge "Update EMC SMI-S Driver"

11 years agoMerge "Add an update option to run_tests.sh"
Jenkins [Sat, 16 Feb 2013 06:18:08 +0000 (06:18 +0000)]
Merge "Add an update option to run_tests.sh"

11 years agoMerge "Create a RemoteFsDriver class"
Jenkins [Sat, 16 Feb 2013 04:19:10 +0000 (04:19 +0000)]
Merge "Create a RemoteFsDriver class"

11 years agoMerge "Adding support for Coraid AoE SANs Appliances."
Jenkins [Sat, 16 Feb 2013 04:19:07 +0000 (04:19 +0000)]
Merge "Adding support for Coraid AoE SANs Appliances."

11 years agoMerge "Allow create_volume() to retry when exception happened"
Jenkins [Fri, 15 Feb 2013 21:38:33 +0000 (21:38 +0000)]
Merge "Allow create_volume() to retry when exception happened"

11 years agoAdding support for Coraid AoE SANs Appliances.
Jean-Baptiste RANSY [Fri, 8 Feb 2013 20:10:39 +0000 (21:10 +0100)]
Adding support for Coraid AoE SANs Appliances.

This driver provide support for Coraid hardware storage appliances
using AoE (ATA Over Ethernet) protocol.

Implements blueprint coraid-volume-driver

Reference to Nova patch libvirt-aoe :
https://review.openstack.org/21101

The following operations are supported :
-- Volume Creation with Volume Types
-- Volume Deletion
-- Volume Attach
-- Volume Detach
-- Snapshot Creation
-- Snapshot Deletion
-- Create Volume from Snapshot
-- Volume Stats

The driver only work when operating on EtherCloud ESM,
Coraid VSX and Coraid SRX Appliances.

Change-Id: I7c8dde0c99698b52c151a4db0fb1bb94d516db61

11 years agoAdd an update option to run_tests.sh
Matthew Treinish [Fri, 15 Feb 2013 19:14:54 +0000 (14:14 -0500)]
Add an update option to run_tests.sh

This commit adds an update option to run_tests.sh. This option
is used to rerun install_venv.py on an already installed venv.
This will then just update out of date packages with pip.

Change-Id: I96dc6940f536feb810d57b3316e9d712aa750d93

11 years agoUpdate EMC SMI-S Driver
Xing Yang [Wed, 6 Feb 2013 18:32:12 +0000 (13:32 -0500)]
Update EMC SMI-S Driver

1. Merged with Avishay's changes(https://review.openstack.org/#/c/
19808/3) and removed copy volume<->image from my driver.
2. Also did some refactoring based on Mike's comments
last time (See https://review.openstack.org/#/c/19979/).
Made the following changes in emc_smis_common:
- Added a member variable conn to save get_ecom_connection
and moved exceptions inside the helper function get_ecom_connection.
- Also moved exceptions inside find_pool and get_storage_type.
- Added test cases so get_ecom_connection, find_pool, and
get_storage_type will be covered.
3. Made changes in emc_smis_common to handle both iscsi and fc.

Change-Id: I56db3ba41215489f6afe840ce5310a31f28bf5ae

11 years agoAdd LIO iSCSI backend support using python-rtslib
Eric Harney [Mon, 17 Dec 2012 22:31:40 +0000 (17:31 -0500)]
Add LIO iSCSI backend support using python-rtslib

This patch enables LIO as an iSCSI backend for Cinder, using
python-rtslib.

To enable, set "iscsi_helper = lioadm" in cinder.conf.

This requires python-rtslib 2.1.fb27, which is available from pip.

Implements blueprint lio-iscsi-support
DocImpact

Change-Id: Ifb23de65f26a40997afd6148a1d0be39bcc8d196

11 years agoAdd GlusterFS volume driver
Eric Harney [Wed, 6 Feb 2013 15:26:45 +0000 (10:26 -0500)]
Add GlusterFS volume driver

This driver enables use of GlusterFS in a similar fashion
as the NFS driver.  It supports basic volume operations,
and like NFS, does not support snapshot/clone.

To enable, set volume_driver to
 cinder.volume.drivers.glusterfs.GlusterfsDriver

Note that this requires a Nova libvirt GlusterFS driver
as well.

Adds config options: glusterfs_shares_config,
glusterfs_mount_point_base, glusterfs_disk_util, and
glusterfs_sparsed_volumes.

DocImpact

Change-Id: I3dd4018f0cb4db48348728ca66bae7918309bb32

11 years agoCreate a RemoteFsDriver class
Eric Harney [Wed, 6 Feb 2013 15:25:51 +0000 (10:25 -0500)]
Create a RemoteFsDriver class

This class holds common functions for drivers similar to NFS.

Change-Id: I83d89c971fd0153df7702e2803bed66df1a759f6

11 years agoFix ordering of function args
John Griffith [Fri, 15 Feb 2013 03:41:15 +0000 (03:41 +0000)]
Fix ordering of function args

Previous change swapped context and type-id params in function
declaration.  Put it back.

Also, no reason for storing the qos dict in the parameters, if
it's stored then we continuously have to update it, remove that
for now and come up with a cleaner method later.

Change-Id: I0820a48660bdfd0481be3681e33d7e2ff3246bb1

11 years agoAllow create_volume() to retry when exception happened
Zhiteng Huang [Fri, 25 Jan 2013 18:18:03 +0000 (02:18 +0800)]
Allow create_volume() to retry when exception happened

Due to the fact that certain volume back-ends cannot easily report
simple total_capacity_gb/free_capacity_gb for their internal
implementation complexity, scheduler is updated to let those back-ends
who report unclear capacity pass capacity filter, thus there is chance
create_volume() request would fail. In a more general case, when a
volume back-end failed to serve create_volume request for whatever reason
it'd be good that we have a mechanism to 'retry' the request.

So the idea is when volume manager catches the exception from
driver.create_volume() call, it checks if the request is allowed to be
rescheduled (requests that are not: clone volume and create volume from
snapshot while 'snapshot_same_host' option is true), it composes a new
request back to scheduler with additional information to mark this specific
back-end has been tried (so that scheduler may choose to skip this back-end
if needed).  Scheduler is (filter scheduler only, simple and chance
scheduler is not supported) is updated as well so that it only retry
scheduler_max_attempts times.  In order to skip/rule out previously tried
back-ends in next schedule task, a new RetryFilter is added.

Changes:
1) volume RPC API create_volume() is updated with new parameters
to save original request information in case rescheduling is needed.
This bumps volume RPC API to 1.4.

2) implementation of create_volume() method in volume API is
refactored in order to distinguish if a request is allowed to
do reschedule (i.e. currently create volume from source volume
bypasses scheduler, not rescheduling is allowed).

3) add reschedule functionality in create_volume() of volume
manager so that it's able to send the request back to scheduler.

4) add schedule_max_attempts config option in scheduler/driver.py

5) add RetryFitler

6) change scheduler_driver default option to FilterScheduler

Change-Id: Ia46b5eb4dc033d73734b6aea82ada34ba5731075

11 years agorbd: update volume<->image copying
Josh Durgin [Wed, 13 Feb 2013 02:18:39 +0000 (18:18 -0800)]
rbd: update volume<->image copying

Use fetch_to_raw() to convert from any format when
copying an image.

Fix two bugs in copy_image_to_volume():
 1) use rbd format 2 if supported
 2) resize to match the expected volume size

Also implement copy_volume_to_image().

Change-Id: I5589666c33ead087876e850363ad869050120882
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoFix PEP8 violation
Mate Lakat [Wed, 13 Feb 2013 10:18:15 +0000 (10:18 +0000)]
Fix PEP8 violation

There was a PEP8 violation in cinder/tests/test_solidfire.py, thus
./run_tests.sh was failing. This patch fixes the error.

Change-Id: I444fbfa57550db5c75b80683054c0ca44f4ee657

11 years agoMerge "add postgresql opportunistic testing"
Jenkins [Wed, 13 Feb 2013 08:19:43 +0000 (08:19 +0000)]
Merge "add postgresql opportunistic testing"

11 years agoMerge "make test_databases instance variable"
Jenkins [Wed, 13 Feb 2013 08:19:37 +0000 (08:19 +0000)]
Merge "make test_databases instance variable"

11 years agoMerge "v2 volume/snapshot create will correctly give a 202 response"
Jenkins [Wed, 13 Feb 2013 08:19:34 +0000 (08:19 +0000)]
Merge "v2 volume/snapshot create will correctly give a 202 response"

11 years agoMerge "NetApp direct to filer drivers for iscsi and nfs."
Jenkins [Wed, 13 Feb 2013 08:19:25 +0000 (08:19 +0000)]
Merge "NetApp direct to filer drivers for iscsi and nfs."

11 years agochange display_description to description in volumes
Mike Perez [Mon, 11 Feb 2013 08:00:16 +0000 (00:00 -0800)]
change display_description to description in volumes

Rest v2 api volume responses key display_description changes to
description to be consistent with other modules and projects.

Change-Id: Ibafa2865c6c4a73fc1cf4694ae77a6709fd2e6e5

11 years agov2 volume/snapshot create will correctly give a 202 response
Mike Perez [Sun, 10 Feb 2013 20:34:44 +0000 (12:34 -0800)]
v2 volume/snapshot create will correctly give a 202 response

Before it was giving a 200 response. Since the request was received fine
but still has to process things, this is a more correct response. In
addition this is more consistent with other OpenStack project create
rest api calls.

Change-Id: I4f29cda7638c257c9cb5be7a5edf2bc4c48626d8

11 years agoadd postgresql opportunistic testing
Sean Dague [Sat, 9 Feb 2013 22:22:22 +0000 (17:22 -0500)]
add postgresql opportunistic testing

sync _reset_databases from nova, which is needed for working
postgresql. Add opportunistic testing for postgresql, which will
run in CI.

Change-Id: I8166c2f723cabc5c5c07c7babaec8ffed5cee650

11 years agomake test_databases instance variable
Sean Dague [Sat, 9 Feb 2013 15:10:03 +0000 (10:10 -0500)]
make test_databases instance variable

eventually we'll need to do this to allow for testr testing, but in
doing so this also exposed that sqlite downgrade of source_volid
didn't work when data was in the table (sqlite just happily ignored
the drop, then failed when trying to added the column for a second
time during the snake walk.)

This fix also adds the correct sqlite downgrade path for migration
005 to actually drop source_volid, but ensure we don't loose any
other data in the process.

Change-Id: I082b53e108c4d564e33ef79979ea8c1642afdbcd

11 years agoMerge "Allow disabling of long-lived SSH connections."
Jenkins [Thu, 7 Feb 2013 18:04:17 +0000 (18:04 +0000)]
Merge "Allow disabling of long-lived SSH connections."

11 years agoMerge "Move create_cloned_volume() to LVMVolumeDriver."
Jenkins [Thu, 7 Feb 2013 17:57:49 +0000 (17:57 +0000)]
Merge "Move create_cloned_volume() to LVMVolumeDriver."

11 years agoMerge "XenAPINFS: Copy volume to glance"
Jenkins [Thu, 7 Feb 2013 17:32:36 +0000 (17:32 +0000)]
Merge "XenAPINFS: Copy volume to glance"

11 years agoMerge "Update to latest oslo-version code."
Jenkins [Thu, 7 Feb 2013 15:50:17 +0000 (15:50 +0000)]
Merge "Update to latest oslo-version code."

11 years agoMerge "Allow for specifying nfs mount options"
Jenkins [Thu, 7 Feb 2013 14:21:28 +0000 (14:21 +0000)]
Merge "Allow for specifying nfs mount options"

11 years agoMerge "Don't require importing paramiko for error."
Jenkins [Thu, 7 Feb 2013 13:30:18 +0000 (13:30 +0000)]
Merge "Don't require importing paramiko for error."

11 years agoMerge "rework migration 004 testing with real data"
Jenkins [Thu, 7 Feb 2013 12:43:58 +0000 (12:43 +0000)]
Merge "rework migration 004 testing with real data"

11 years agoMerge "XenAPINFS: Copy image from glance"
Jenkins [Thu, 7 Feb 2013 12:43:54 +0000 (12:43 +0000)]
Merge "XenAPINFS: Copy image from glance"

11 years agoMerge "Allow tools/install_venv_common.py to be run from within the source directory."
Jenkins [Thu, 7 Feb 2013 12:29:15 +0000 (12:29 +0000)]
Merge "Allow tools/install_venv_common.py to be run from within the source directory."

11 years agoMove create_cloned_volume() to LVMVolumeDriver.
Avishay Traeger [Thu, 7 Feb 2013 09:11:03 +0000 (11:11 +0200)]
Move create_cloned_volume() to LVMVolumeDriver.

The implementation of create_cloned_volume() that was in driver.py
relied on functions that aren't declared there, such as
_create_volume(), _copy_volume(), and _sizestr().  Moved the function
to LVMVolumeDriver in lvm.py, where those functions exist.

Change-Id: I5ab77a119b3af0a152a3b5e0c2ff6a5ce196ad0f
Fixes: bug #1112485
11 years agoUpdate to latest oslo-version code.
Monty Taylor [Sun, 3 Feb 2013 00:33:33 +0000 (11:33 +1100)]
Update to latest oslo-version code.

In prep for tag-based versioning, update to latest oslo-version code.

Change-Id: Ic5046006919e20247481fa1ddbde2dfd456b188a

11 years agoMerge "Add volume_glance_metadata to volume.api.get"
Jenkins [Thu, 7 Feb 2013 08:22:00 +0000 (08:22 +0000)]
Merge "Add volume_glance_metadata to volume.api.get"

11 years agoAllow disabling of long-lived SSH connections.
Avishay Traeger [Wed, 6 Feb 2013 21:04:15 +0000 (23:04 +0200)]
Allow disabling of long-lived SSH connections.

Currently, SSHPool connections are kept alive indefinitely.  This can
be good for many cases, but sometimes it is not desirable.  For
example, this causes unit tests which use SSH to not complete because
of the open connections.  This patch allows users to revert back
to paramiko's regular timeout policy.

Change-Id: Ifa96508b38d90610390c9ec3d48a7de75d02f08b

11 years agoMerge "Copy glance_image_metadata when cloning volumes."
Jenkins [Wed, 6 Feb 2013 20:22:41 +0000 (20:22 +0000)]
Merge "Copy glance_image_metadata when cloning volumes."

11 years agoDon't require importing paramiko for error.
Avishay Traeger [Wed, 23 Jan 2013 11:55:51 +0000 (13:55 +0200)]
Don't require importing paramiko for error.

The _run_ssh function raises a paramiko exception, which requires
functions that use it to import the paramiko class. This should be
hidden away, and so I created a new exception in its place. Nobody
but the Storwize/SVC driver use it anyway, and I am updating that
driver in a separate patch.

Change-Id: Ibf353edc664765897a5fa7a08d126de4b8992863

11 years agoAllow for specifying nfs mount options
Rafi Khardalian [Sat, 2 Feb 2013 23:01:54 +0000 (23:01 +0000)]
Allow for specifying nfs mount options

Fixes bug 1113042

Adds a new config option:
    nfs_mount_options=None (Default)

When not None, anything set here will be passed as -o <options> to
the mount command. The default behavior is to do exactly as we are
doing today and relying on the OS/kernel defaults.

Change-Id: I6bd27f9d0e8848a9ba98318ba7288e43ee6b4cb9
Flags: DocImpact

11 years agoMerge "add data injection on migrations"
Jenkins [Wed, 6 Feb 2013 08:53:34 +0000 (08:53 +0000)]
Merge "add data injection on migrations"

11 years agoMerge "Update some Oslo Packages"
Jenkins [Wed, 6 Feb 2013 08:53:32 +0000 (08:53 +0000)]
Merge "Update some Oslo Packages"

11 years agoMerge "sync database connect changes from nova"
Jenkins [Wed, 6 Feb 2013 02:39:35 +0000 (02:39 +0000)]
Merge "sync database connect changes from nova"

11 years agorework migration 004 testing with real data
Sean Dague [Tue, 5 Feb 2013 23:12:29 +0000 (18:12 -0500)]
rework migration 004 testing with real data

tests that 004 works with real data.

Fix downgrade issue where id conversion needed to happen prior to
the schema definition change.

Fix pep8 E12* items

Change-Id: I216d649bf081a6d70321e72e06357ef5a729a998

11 years agoAllow tools/install_venv_common.py to be run from within the source directory.
Davanum Srinivas [Wed, 6 Feb 2013 01:54:43 +0000 (20:54 -0500)]
Allow tools/install_venv_common.py to be run from within the source directory.

(Copy latest update from oslo)

Not doing this raised exceptions when it tried importing modules
that didn't exist in the path.

Fixes LP# 1112484

Change-Id: I2be7bde0bf873a22318617b987a76b209caef22a

11 years agoMerge "Update 3PAR driver"
Jenkins [Tue, 5 Feb 2013 23:35:20 +0000 (23:35 +0000)]
Merge "Update 3PAR driver"

11 years agoMerge "Add unit tests for ISCSIDriver._do_iscsi_discovery and ISCSIDriver._get_iscsi_...
Jenkins [Tue, 5 Feb 2013 23:05:05 +0000 (23:05 +0000)]
Merge "Add unit tests for ISCSIDriver._do_iscsi_discovery and ISCSIDriver._get_iscsi_properties"

11 years agoadd data injection on migrations
Sean Dague [Tue, 5 Feb 2013 12:28:22 +0000 (07:28 -0500)]
add data injection on migrations

bring over the data injection from migrations from nova, which allows
us to inject sample data at every migration in the walk_versions, and
run a check after the migration to make sure that things look as we
expected.

Change-Id: I8b1d36f1363c12768dea228a3ecfafc1b919f083

11 years agosync database connect changes from nova
Sean Dague [Tue, 5 Feb 2013 12:20:32 +0000 (07:20 -0500)]
sync database connect changes from nova

bring over the changes from nova that let opportunistic testing
work on pg as well as mysql. Preparitory for data injection changes.

Change-Id: I368f8645cf1be477c25b0fbd1d35cff8859b615a

11 years agoXenAPINFS: Copy volume to glance
Mate Lakat [Tue, 5 Feb 2013 13:11:50 +0000 (13:11 +0000)]
XenAPINFS: Copy volume to glance

related to blueprint xenapinfs-glance-integration

This patch enables to upload XenAPINFS backed cinder volumes to glance
by using the nova glance plugin.

Change-Id: Ie41aa6871fec691556b82501ce3bfdf50898471d

11 years agoXenAPINFS: Copy image from glance
Mate Lakat [Fri, 25 Jan 2013 14:44:08 +0000 (14:44 +0000)]
XenAPINFS: Copy image from glance

related to blueprint xenapinfs-glance-integration

This change is using the glance xenapi plugin to copy a glance image to
a xenapinfs backed volume. It slightly differs from the reference
implementation, as this implementation is composed of three steps:
- create volume
- overwrite the created volume with the one downloaded from glance
- resize the volume
As opposed to fill the bytes from glance to the created image. This
approach works more effective with XenServer type semi ovf tgz -ed vhds.

Change-Id: I2345f6bb355aa285eee0455380c580e4724f004e

11 years agoMerge "Fix provider_location column add for PSQL"
Jenkins [Tue, 5 Feb 2013 17:50:29 +0000 (17:50 +0000)]
Merge "Fix provider_location column add for PSQL"

11 years agoMerge "Fix inability to delete volumes in error state for NetApp driver"
Jenkins [Tue, 5 Feb 2013 17:50:24 +0000 (17:50 +0000)]
Merge "Fix inability to delete volumes in error state for NetApp driver"

11 years agoMerge "Mark password config options with secret"
Jenkins [Tue, 5 Feb 2013 16:21:14 +0000 (16:21 +0000)]
Merge "Mark password config options with secret"

11 years agoFix inability to delete volumes in error state for NetApp driver
Rushi Agrawal [Fri, 1 Feb 2013 18:16:58 +0000 (23:46 +0530)]
Fix inability to delete volumes in error state for NetApp driver

While using NetApp 7-mode storage box to create volumes, if the volume
is not created on the storage box (possibly due to wrong/missing
options in cinder.conf file), the volume goes in error state, and when
one tries to delete the volume, an exception was raised which made
the volume go in error_deleting state, which is unrecoverable. This
commit quiesces that exception, resulting in successful removal of the
volume entry from the volume table.

Fixes bug 1090167

Change-Id: I0a25b71ad03e7f7acf58df3952e074ff164b82ff

11 years agoCopy glance_image_metadata when cloning volumes.
John Griffith [Tue, 5 Feb 2013 00:54:56 +0000 (17:54 -0700)]
Copy glance_image_metadata when cloning volumes.

When cloning a volume we were not capturing/copying
the glance_image_metadata from the source volume.

This change implements a copy_image_metadata_from_vol_to_vol.
So now we can clone bootable volumes without going back to glance
or messing with them otherwise, they're just ready to be booted.

Fixes bug: 1115634

Change-Id: I859bb2550267c6a5142e85ec89f1c7ff885588ac

11 years agoAdd volume_glance_metadata to volume.api.get
John Griffith [Mon, 4 Feb 2013 23:18:29 +0000 (16:18 -0700)]
Add volume_glance_metadata to volume.api.get

The dict(rv.iteritems()) agains the volume object from
volume.api.get does NOT set the volume_glance_metadata k/v.

This is used to show bootable in the show and list api calls,
the result was that list properly reflected the bootable status
of a volume, however show would always describe the flag as False.

So we simply check if the rv includes the glance_metadata and if
so go ahead and create the entry in the volume dict.

Fixes bug: 1115629

Change-Id: Ia0be08f3d2c85b7fe8390fca264803c96cdce7f7

11 years agoImport Oslo's common rootwrap to Cinder
Thierry Carrez [Tue, 29 Jan 2013 13:58:07 +0000 (14:58 +0100)]
Import Oslo's common rootwrap to Cinder

Import oslo-incubator's rootwrap, which contains all the new
features and bugfixes that were pushed to nova-rootwrap earlier
in this cycle, including logging support and path search.

Implements bp: cinder-common-rootwrap

Change-Id: I68cbb788a3dda58dc146933be190146607b48801

11 years agoMark password config options with secret
Michael J Fork [Mon, 4 Feb 2013 14:51:29 +0000 (14:51 +0000)]
Mark password config options with secret

Config object supports masking values when writing out if the secret
flag is set on the option definition.  This change flags all cinder
options containing a password.

Change-Id: Ia0b203417774797c1fe1eaf2946453c9b2509b98

11 years agoMerge "Skip tests if cinder is not installed"
Jenkins [Mon, 4 Feb 2013 06:28:32 +0000 (06:28 +0000)]
Merge "Skip tests if cinder is not installed"

11 years agoMerge "Fixes 'not in' operator usage"
Jenkins [Mon, 4 Feb 2013 06:28:30 +0000 (06:28 +0000)]
Merge "Fixes 'not in' operator usage"

11 years agoMerge "import tools/flakes from oslo"
Jenkins [Mon, 4 Feb 2013 05:25:36 +0000 (05:25 +0000)]
Merge "import tools/flakes from oslo"

11 years agoFixes 'not in' operator usage
Zhongyue Luo [Thu, 31 Jan 2013 06:58:50 +0000 (14:58 +0800)]
Fixes 'not in' operator usage

Change-Id: Id4c83e32f6dcb4f710c5a8d8b6f130038cf07648

11 years agoSkip tests if cinder is not installed
Chuck Short [Sun, 3 Feb 2013 01:22:18 +0000 (19:22 -0600)]
Skip tests if cinder is not installed

The test_capacity_filter_passes_infinite and test_capacity_filter_passes_unknown
tests were failing when cinder is not installed. Skip the tests like the other
tests for test_host_filters.

Change-Id: I5ebfa2dca05b6e89a12e3153598bf4699da888de
Signed-off-by: Chuck Short <chuck.short@canonical.com>
11 years agoFix provider_location column add for PSQL
john-griffith [Sat, 2 Feb 2013 02:21:18 +0000 (19:21 -0700)]
Fix provider_location column add for PSQL

Migration 006 (commit 690cae58e6bbac5758ea2f7b60774c797d28fba5)
didn't work properly for postgres,
this patch corrects the upgrade by ensuring the execute
is performed and the value is initialized to None.

Since we haven't released a milestone etc with this migration in the
code it should be safe to just fix it here and submit.

Change-Id: I10a09aed3470c35c8ebbe22f29aa511592167c35

11 years agoUpdate 3PAR driver
Kurt Martin [Sat, 12 Jan 2013 01:13:43 +0000 (17:13 -0800)]
Update 3PAR driver

Added support for get_volume_stats()
Add sanity checks for:
    Ensure the CPG lives in the Domain that's configured.
    On 3PAR systems, the create volume from snapshot has to be
    the same size. The driver now checks to make sure that they
    are the same size.
    Now using volume and snapshot id's instead of the names.
    Checking for optional fields before using them(i.e. description).
    Added a new method get_ports() to gather the active array ports.
    Fixed inline comments, added a space between the comment and # sign

Change-Id: Ie2aed38c6349bb5ee8bbea4d0928cd606427a26f

11 years agoFix the generalized copy_image_to_volume operation.
john-griffith [Fri, 1 Feb 2013 05:38:51 +0000 (22:38 -0700)]
Fix the generalized copy_image_to_volume operation.

The Generis iSCSI copy volume<->image patch
(change: Iff097629bcce9154829a7eb5aee0ea6302338b26) did
not account for the fact that the existing volume reference
passed in to the copy method would not have the updated
provider_location and iSCSI info available.

To address this, we simply just get a new ref from the DB
after creation if a copy image is requested.

Also, the list of acceptable formats was not fully inclusive,
not only that, but there's no reason to not let the qemu-convert
handle any errors here.

Change-Id: I7b1910080d285562c7f2d8afa7f65768b1089b73

11 years agoMerge "Set source volume to "in use" during clone"
Jenkins [Fri, 1 Feb 2013 01:52:39 +0000 (01:52 +0000)]
Merge "Set source volume to "in use" during clone"

11 years agoMerge "Allow volume back-end to report 'infinite' or 'unknown' as capacity"
Jenkins [Fri, 1 Feb 2013 01:04:22 +0000 (01:04 +0000)]
Merge "Allow volume back-end to report 'infinite' or 'unknown' as capacity"

11 years agoMerge "Check for non-default volume name template."
Jenkins [Thu, 31 Jan 2013 22:57:57 +0000 (22:57 +0000)]
Merge "Check for non-default volume name template."

11 years agoimport tools/flakes from oslo
Joe Gordon [Wed, 30 Jan 2013 21:33:31 +0000 (13:33 -0800)]
import tools/flakes from oslo

Change-Id: Iac52a0cc48de9f29a91545e319c144e3f935799d

11 years agoAdd unit tests for ISCSIDriver._do_iscsi_discovery and ISCSIDriver._get_iscsi_properties
Lucas Alvares Gomes [Thu, 31 Jan 2013 00:16:15 +0000 (00:16 +0000)]
Add unit tests for ISCSIDriver._do_iscsi_discovery and ISCSIDriver._get_iscsi_properties

Change-Id: Id62124247e264a248ca071d45c03969ee75a31d3

11 years agoMerge "Clean up QTree when deleting volume on NetApp storage box."
Jenkins [Thu, 31 Jan 2013 07:13:20 +0000 (07:13 +0000)]
Merge "Clean up QTree when deleting volume on NetApp storage box."

11 years agoMerge "Update osapi_volume_extension default."
Jenkins [Thu, 31 Jan 2013 07:13:18 +0000 (07:13 +0000)]
Merge "Update osapi_volume_extension default."

11 years agoMerge "Fixes "is not" usage"
Jenkins [Thu, 31 Jan 2013 06:38:57 +0000 (06:38 +0000)]
Merge "Fixes "is not" usage"

11 years agoMerge "Use install_venv_common.py from oslo."
Jenkins [Thu, 31 Jan 2013 06:32:10 +0000 (06:32 +0000)]
Merge "Use install_venv_common.py from oslo."

11 years agoFixes "is not" usage
Zhongyue Luo [Thu, 31 Jan 2013 02:31:51 +0000 (10:31 +0800)]
Fixes "is not" usage

Fixes bug #1110987

Change-Id: Iafa9fc548deaf03c229cc9144d85e6c68b3101be

11 years agoMerge "Implement LVM thin provisioning support."
Jenkins [Wed, 30 Jan 2013 18:06:36 +0000 (18:06 +0000)]
Merge "Implement LVM thin provisioning support."

11 years agoPull cfg module from Oslo and update cinder-manage accordingly
Zhiteng Huang [Wed, 19 Dec 2012 06:56:11 +0000 (14:56 +0800)]
Pull cfg module from Oslo and update cinder-manage accordingly

New cfg module abandons previous disable_interspersed_args() and
recommand to use add_subparsers from argparser module instead.
This patch pull cfg module from Oslo and update the affected
cinder-manage utils.

Change-Id: I8913fafb8fdb19b3fe0a695a70c8b1e8f59c1027

11 years agoMerge "Check for installed cinder in filter tests."
Jenkins [Wed, 30 Jan 2013 05:30:07 +0000 (05:30 +0000)]
Merge "Check for installed cinder in filter tests."

11 years agoMerge "Generic iSCSI copy volume<->image."
Jenkins [Wed, 30 Jan 2013 04:31:56 +0000 (04:31 +0000)]
Merge "Generic iSCSI copy volume<->image."

11 years agoMerge "Fix typo in cinder/db/api.py"
Jenkins [Wed, 30 Jan 2013 01:53:35 +0000 (01:53 +0000)]
Merge "Fix typo in cinder/db/api.py"

11 years agoMerge "Replace CRLF with unix-style "LF""
Jenkins [Wed, 30 Jan 2013 01:42:11 +0000 (01:42 +0000)]
Merge "Replace CRLF with unix-style "LF""

11 years agoSet source volume to "in use" during clone
Walter A. Boring IV [Tue, 29 Jan 2013 19:52:46 +0000 (11:52 -0800)]
Set source volume to "in use" during clone

When we are cloning a volume, we now set the source volume's status
to 'in use'. This prevents a user from deleting the source volume while the
backend copies/clones the contents to the new volume.
When the cloning is complete, we reset the status to it's original
state.

Change-Id: Ie43345aba77df4671ed2b429645cf8d1af9b975b

11 years agoUpdate some Oslo Packages
Walter A. Boring IV [Tue, 29 Jan 2013 17:32:41 +0000 (09:32 -0800)]
Update some Oslo Packages

I exluded packages that caused unit tests to fail.   We'll have
to tackle those individually.

Change-Id: I24c9c29decf1f171a214a837e69fc47d7e763a92

11 years agoFix typo in cinder/db/api.py
Ollie Leahy [Tue, 29 Jan 2013 11:25:27 +0000 (11:25 +0000)]
Fix typo in cinder/db/api.py

The api method quota_destroy_all_by_project() calls the implementation
quota_get_all_by_project()

Change-Id: I11927e1fd29c6248ce755dfd236bf0f9adf39d94
Fixes: bug #1108766
11 years agoReplace CRLF with unix-style "LF"
Dirk Mueller [Tue, 29 Jan 2013 08:58:50 +0000 (09:58 +0100)]
Replace CRLF with unix-style "LF"

Seems to be more welcome, see e.g.
http://lists.openstack.org/pipermail/openstack-dev/2013-January/004549.html

Change-Id: I35e0fac4bbfc2fdf2dd9c56c264209e0c3a20cee

11 years agoAllow volume back-end to report 'infinite' or 'unknown' as capacity
Zhiteng Huang [Mon, 28 Jan 2013 17:12:31 +0000 (01:12 +0800)]
Allow volume back-end to report 'infinite' or 'unknown' as capacity

For some reason, some volume back-ends cannot report actual capacity
that is available or even total capacity (e.g. thin-provisioning),
Cinder should allow such capability report and make placement/schedule
decision based on these status.

In particular, we agree to use 'infinite' to mark unlimited space and
'unknown' to mark unknown/unclear space.  Host manager and CapacityFilter
are updated accordingly to allow such capacity.  For those back-ends
report 'infinite' or 'unknown' capacity, CapacityFilter will let them
pass to give them a chance to try.  Even if failure happened, the retry
mechanism should take care of the case.

Change-Id: I6871a28745111b1878a606372e6edd664f0ea10c

11 years agoWrap SolidFire size parameter in int.
john-griffith [Tue, 29 Jan 2013 03:28:14 +0000 (20:28 -0700)]
Wrap SolidFire size parameter in int.

SolidFire API requires that volume size is specified as
an int value, ensure an int is provided by wrapping in int()

Change-Id: If251ce2a7095f32aa2a59bb6cc767a4136c5f88c

11 years agoUse install_venv_common.py from oslo.
Matthew Treinish [Mon, 28 Jan 2013 18:02:50 +0000 (13:02 -0500)]
Use install_venv_common.py from oslo.

This syncs install_venv_common.py from oslo and reworks the
tools/install_venv.py script to use the new library.

Change-Id: Ia271de047cc80e462fa0850cd8d626d2da777dff

11 years agoUpdate osapi_volume_extension default.
Dan Prince [Mon, 28 Jan 2013 15:44:57 +0000 (10:44 -0500)]
Update osapi_volume_extension default.

Updates the Cinder config default for osapi_volume_extension
so that it only uses the new cinder.api.contrib.standard_extensions
loader.

Previously both the new and old extension loader path were listed
which can cause extensions to be loaded twice thus causing
log WARNINGs to appear in the Cinder API log file.

Also, regenerates the cinder.conf.sample to reflect this change.

Fixes LP Bug #1107963.

Change-Id: I4e060fc8dcc49d8285e0e7db57489d10aa6d193a

11 years agoGeneric iSCSI copy volume<->image.
Avishay Traeger [Wed, 16 Jan 2013 14:19:40 +0000 (16:19 +0200)]
Generic iSCSI copy volume<->image.

Implements a generic version of copy_volume_to_image and
copy_image_to_volume for iSCSI drivers.

Change-Id: Iff097629bcce9154829a7eb5aee0ea6302338b26
Implements: blueprint generic-iscsi-copy-vol-image

11 years agoImplement LVM thin provisioning support.
John Griffith [Fri, 11 Jan 2013 21:38:23 +0000 (14:38 -0700)]
Implement LVM thin provisioning support.

As of LVM2 version 2.02.89 the ability to do thin provisioning
was made available in LVM, this provides some cool new features
but also addresses some problems with things like terrible
LVM snapshot performance.

Currently the version of LVM in Ubuntu 12.04 does NOT support LVM thin,
however an experimental PPA from brightbox which is a backport from
Quantal has been proposed to Cannonical to be pulled in.  For some
users the experimental PPA is a better option than dealing with some of
the current issues in the standard LVM2 version of Precise (including
the dd hangs on secure delete). See BP for more info.

This change will create the thin pool if it doesn't exist
using pool_size flag, or by default using entire VG space.

Implements BP: implement-lvm-thin-provisioning

Change-Id: I8a30a1283e1992c64e8ac96841ae4a6f82f7018a

11 years agoMerge "Fix hosts extension and enable its tests"
Jenkins [Fri, 25 Jan 2013 05:50:25 +0000 (05:50 +0000)]
Merge "Fix hosts extension and enable its tests"

11 years agoMerge "Update EMC SMI-S iSCSI Driver"
Jenkins [Fri, 25 Jan 2013 02:49:44 +0000 (02:49 +0000)]
Merge "Update EMC SMI-S iSCSI Driver"

11 years agoMerge "Get updated vol status in volume.api.reserve."
Jenkins [Fri, 25 Jan 2013 00:25:10 +0000 (00:25 +0000)]
Merge "Get updated vol status in volume.api.reserve."

11 years agoCheck for installed cinder in filter tests.
John Griffith [Tue, 22 Jan 2013 04:50:20 +0000 (21:50 -0700)]
Check for installed cinder in filter tests.

Some of the filter tests require that the cinder pkg is
installed on the system, specifically cinder.egg-info/entry_points.

This change check that the egg-info directory exists in the root
cinder directory and determines whether to skip or not.

Change-Id: I36145f170e802aed5dfae8eec4684e60ad3d6f2c

11 years agoFix hosts extension and enable its tests
Zhiteng Huang [Thu, 24 Jan 2013 17:21:44 +0000 (01:21 +0800)]
Fix hosts extension and enable its tests

This patch corrects the import in hosts.py, fix the DB API
service_get_by_host_and_topic raises ServiceNotFound exception with
right parameter and move tests to the right place so that they are
enabled.

Fix LP bug: #1104231

Change-Id: I07c486f456196a3812eb5274b950ab9560a51cf3