]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
11 years agoFix typo in bin/cinder-volume-usage-audit
scott-dangelo [Thu, 29 Aug 2013 15:36:55 +0000 (15:36 +0000)]
Fix typo in bin/cinder-volume-usage-audit

Fixes bug #1218383

Change-Id: Ie1545736aee43805e8e3f8c3b9b7d5b3a7f36a67

11 years agoMerge "Adding Read-Only volume attaching support to Cinder"
Jenkins [Thu, 29 Aug 2013 12:36:55 +0000 (12:36 +0000)]
Merge "Adding Read-Only volume attaching support to Cinder"

11 years agoMerge "Pass MB size on copy_volume_data call copy_volume"
Jenkins [Thu, 29 Aug 2013 10:17:15 +0000 (10:17 +0000)]
Merge "Pass MB size on copy_volume_data call copy_volume"

11 years agoMerge "Move create_volume flow to a subfolder"
Jenkins [Thu, 29 Aug 2013 01:44:51 +0000 (01:44 +0000)]
Merge "Move create_volume flow to a subfolder"

11 years agoPass MB size on copy_volume_data call copy_volume
Bill Owen [Wed, 28 Aug 2013 22:54:54 +0000 (15:54 -0700)]
Pass MB size on copy_volume_data call copy_volume

Modify cinder/volume/driver.py method copy_volume_data
to pass size in MB when calling cinder/volume/utils/copy_volume.py

Closes-Bug #1218054

Change-Id: I5430f015ef0f0077b4794f1ff458e3f54cc4dc06

11 years agoMerge "Modified 3PAR drives to support 3parclient 2.0.0"
Jenkins [Wed, 28 Aug 2013 20:59:22 +0000 (20:59 +0000)]
Merge "Modified 3PAR drives to support 3parclient 2.0.0"

11 years agoMerge "Migrate manage script needs import of db session module"
Jenkins [Wed, 28 Aug 2013 19:18:45 +0000 (19:18 +0000)]
Merge "Migrate manage script needs import of db session module"

11 years agoAdding Read-Only volume attaching support to Cinder
Zhi Yan Liu [Fri, 19 Jul 2013 22:18:24 +0000 (06:18 +0800)]
Adding Read-Only volume attaching support to Cinder

1. Adding an API extension to allow clients set volume Read-Only flag on
demand.
2. Require client to provide and be aware of volume attaching mode when
they call 'os-attach' API.
3. Adding a 'access_mode' field to connection info which
'os-initialize_connection' API returned. This field should be used by
client such as Nova to use correct mode accessing attached volume.
Currently access mode can be 'rw' or 'ro'.
4. In future, the driver within Cinder need to ensure the volume be
exposed under the correct access mode which connection info described,
for example backend should set volume to readonly mode when connection
info ask client using 'ro' access mode consume attached volume. That
means Read-Only is not only a attaching mode but also a status for a
volume.

blueprint read-only-volumes

Change-Id: I4c84614d6541d5f7c358abadb957da7b8c3d9c48
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
11 years agoMerge "Add optimized volume migration to Storwize/SVC"
Jenkins [Wed, 28 Aug 2013 07:10:28 +0000 (07:10 +0000)]
Merge "Add optimized volume migration to Storwize/SVC"

11 years agoMerge "Fix cinder error for deprecated Netapp drivers"
Jenkins [Wed, 28 Aug 2013 07:09:58 +0000 (07:09 +0000)]
Merge "Fix cinder error for deprecated Netapp drivers"

11 years agoMerge "Imported Translations from Transifex"
OpenStack Jenkins [Wed, 28 Aug 2013 05:39:45 +0000 (05:39 +0000)]
Merge "Imported Translations from Transifex"

11 years agoMerge "Migration for attached volumes"
Jenkins [Wed, 28 Aug 2013 05:11:59 +0000 (05:11 +0000)]
Merge "Migration for attached volumes"

11 years agoMerge "Fix quota update validation for non-int types"
Jenkins [Tue, 27 Aug 2013 22:10:14 +0000 (22:10 +0000)]
Merge "Fix quota update validation for non-int types"

11 years agoModified 3PAR drives to support 3parclient 2.0.0
Jim Branen [Mon, 19 Aug 2013 23:36:16 +0000 (16:36 -0700)]
Modified 3PAR drives to support 3parclient 2.0.0

Replaced ssh calls to remove host, show host,
show port, show vlun and create vlun with the
new hp3parclient calls.

Change-Id: I917b4263389331597103d2fe6c9a73994165051b
Fixes: bug #1211994
11 years agoMove create_volume flow to a subfolder
Joshua Harlow [Wed, 21 Aug 2013 01:06:32 +0000 (18:06 -0700)]
Move create_volume flow to a subfolder

In order to start splitting up the create_volume flow into
smaller files we will start by moving the create_volume.py
file to a folder with just __init__.py and this will then
act as the base for create_volume task modules.

Also add in a utils file that contains to start the commonly
used debug listener attachment mechanism.

Change-Id: Ie2fd0c77bb04f8153afecdce75588614b48fed8a

11 years agoMerge "Import order cleanup"
Jenkins [Tue, 27 Aug 2013 17:00:38 +0000 (17:00 +0000)]
Merge "Import order cleanup"

11 years agoImport order cleanup
Zhongyue Luo [Tue, 27 Aug 2013 02:04:47 +0000 (10:04 +0800)]
Import order cleanup

According to
https://github.com/openstack-dev/hacking/blob/master/HACKING.rst#imports
imports must be ordered by the full module path by the below template

{{stdlib imports in human alphabetical order}}
\n
{{third-party lib imports in human alphabetical order}}
\n
{{project imports in human alphabetical order}}
\n
\n
{{begin your code}}

Change-Id: Ia517e629d557133fca1a4927020a93e9e2abf3f9

11 years agoMerge "Fix except in lvm.py"
Jenkins [Tue, 27 Aug 2013 12:39:25 +0000 (12:39 +0000)]
Merge "Fix except in lvm.py"

11 years agoMerge "Removes exception instance creation on execute()"
Jenkins [Tue, 27 Aug 2013 12:11:48 +0000 (12:11 +0000)]
Merge "Removes exception instance creation on execute()"

11 years agoMigrate manage script needs import of db session module
Michael Kerrin [Tue, 27 Aug 2013 10:48:45 +0000 (10:48 +0000)]
Migrate manage script needs import of db session module

This import looks like it is not used but importing this module as
the side effect of defining the olso configuration. Without it the
script will not work.

Change-Id: Id65f726f34aa2fb86fda13fd65e2e512b3a899ac

11 years agoMigration for attached volumes
Avishay Traeger [Mon, 19 Aug 2013 10:45:38 +0000 (13:45 +0300)]
Migration for attached volumes

Enable migration for attached volumes by calling Nova to have the
hypervisor copy the data (Nova's swap_volume feature). A new API
function is added for Nova to call once it is done copying to finish
the Cinder side of the migration.

The overall 'generic' migration flow (i.e., not performed by a driver)
is as follows:
1. Creates a new volume
2a. If the source volume's state is 'available', attach both volumes
    and run 'dd' to copy, then detach both. When finished, call the
    migrate_volume_completion function.
2b. If the source volume's state is 'in-use', call Nova to perform the
    copy. Nova will attach the new volume, copy the data from the
    original volume to the new one, and detach the original volume.
    When the copy completes, Nova will call Cinder's new
    migrate_volume_completion function.
3. The migrate_volume_completion function deletes the original volume,
   and calls the database API's finish_volume_migration function. This
   copies all of the new volume's information to the original, and
   deletes the new volume's row, and thus we can keep using the
   original volume_id (the user sees no change).

We also don't change the original volume's status, and instead add a
migration_status column which only selected users can see (e.g., admin).
The migration status is None when no migration is in progress, whether
it succeeded or failed. The admin should check the volume's current
host to determine success or failure. This is meant to simplify
operations. The user will only be aware of a migration if they try to
change the volume's state during the course of a migration.

As mentioned, we change the volume while keeping the original volume
ID. Because a volume's name depends on its ID, the new volume will have
a different name than the original. This is the purpose of the name_id
field in the database - the name is now based on name_id. So although
we keep the original volume's ID, we use the new volume's ID as the
name_id. Thus we can remove the rename_volume function - it is no
longer necessary because the name_id field in the database already
allows for the volume's name on the backend to not rely on its ID.
The user than can see the migration_status can also see the
name_id, in case they need to find it on the backend.

There were a few other places throughout the code that relied on
constructing a volume's name from its ID, and those were fixed.

DocImpact

Implements: bp online-volume-migration

Change-Id: I8daaee174e426fbd450fa75f04f9c8e6fa09f01a

11 years agoAdd optimized volume migration to Storwize/SVC
Avishay Traeger [Wed, 10 Jul 2013 10:59:51 +0000 (13:59 +0300)]
Add optimized volume migration to Storwize/SVC

Add an optimized migration path for when the source and destination are
managed by the same storage. If the source and destination pools have
the same extent_size, it will use the optimal migratevdisk command.
Otherwise, it will use addvdiskcopy and rmvdiskcopy, which must be
watched until the copies are sync'ed.

Change-Id: Ic6069422f5ac7f963f4b1268c0d632a038a8474f

11 years agoFix quota update validation for non-int types
Rohan Kanade [Fri, 23 Aug 2013 10:15:12 +0000 (03:15 -0700)]
Fix quota update validation for non-int types

Fixes lp bug #1215301

Change-Id: I4bf813579c128844884138ba49f074f81f96790a

11 years agoImported Translations from Transifex
OpenStack Jenkins [Tue, 27 Aug 2013 06:10:11 +0000 (06:10 +0000)]
Imported Translations from Transifex

Change-Id: I1831ed17f316a71ada1606555bf73c10eae62d71

11 years agoMerge "Remove deprecated code from Nexenta Exception class"
Jenkins [Tue, 27 Aug 2013 04:14:55 +0000 (04:14 +0000)]
Merge "Remove deprecated code from Nexenta Exception class"

11 years agoMerge "Extend volume for GlusterFS"
Jenkins [Tue, 27 Aug 2013 04:14:53 +0000 (04:14 +0000)]
Merge "Extend volume for GlusterFS"

11 years agoMerge "Sync up with global requirements"
Jenkins [Tue, 27 Aug 2013 02:56:32 +0000 (02:56 +0000)]
Merge "Sync up with global requirements"

11 years agoRemoves exception instance creation on execute()
Zhongyue Luo [Mon, 19 Aug 2013 07:39:00 +0000 (15:39 +0800)]
Removes exception instance creation on execute()

For every excption raised in utils.execute(), a new instance is created.
This patch removes this redundant step and directly uses exceptions
defined in Oslo.

Change-Id: I1425d7f1d69a8fde8fde29444fae4d12d045b730

11 years agoFix except in lvm.py
John Griffith [Tue, 27 Aug 2013 00:52:02 +0000 (00:52 +0000)]
Fix except in lvm.py

Consolidation of brick exceptions into a single
brick exception.py file neglected to updated files
that were using it:
    (see change I577d403f02c2fd0d727d2694776008e1e9791453)

The result is the lvm driver was doing an except on lvm.VolumeGroupNotFound
which didn't exist anymore as it's in brick/exception now.

We still need to clean up exceptions all through here, and this still
isn't handled by service init anyway, but at least with this we are
raising a valid exception.

Change-Id: I588e9ac6548823b291d284f68f6133879bf3dfbf
Fixes: bug 1216122
11 years agoAdd automated check of conf sample
John Griffith [Mon, 26 Aug 2013 18:23:49 +0000 (12:23 -0600)]
Add automated check of conf sample

This adds check_uptodate to run_tests and
tox.ini checks.

This also requires that we add novaclient to the
test-requires, since we try and poke at cinder/compute/nova.

There is another implementation in use to do this that
pulls in openstack.common.config.generator,
(see ceilometer project for a pretty slick impl), however
adding that also pulls in a rather large list of
updates and dependencies that quite frankly Cinder
doesn't need and the ones that we do use break
a number of things in Cinder.

There's also a number of additional options added
to generate_sample that I don't think we need right now.

In the future we'll probably want to go this route
but for now I'd just like to get automated checking
in place.

Change-Id: I91aa4d98f472ad5a3ece7773c75ee76d66adafc0

11 years agoMerge "Sync execute() related exceptions with oslo"
Jenkins [Mon, 26 Aug 2013 22:54:45 +0000 (22:54 +0000)]
Merge "Sync execute() related exceptions with oslo"

11 years agoMerge "Ensure that qpid connection is closed (from oslo)"
Jenkins [Mon, 26 Aug 2013 22:26:52 +0000 (22:26 +0000)]
Merge "Ensure that qpid connection is closed (from oslo)"

11 years agoMerge "Set bootable flag for volume cloned from image"
Jenkins [Mon, 26 Aug 2013 21:45:04 +0000 (21:45 +0000)]
Merge "Set bootable flag for volume cloned from image"

11 years agoRemove deprecated code from Nexenta Exception class
keystone [Mon, 26 Aug 2013 19:38:32 +0000 (12:38 -0700)]
Remove deprecated code from Nexenta Exception class

Change-Id: I4242fce8b3f10c863d38cd2f81c2aab9fea77e24

11 years agoMerge "Offline snapshots for GlusterFS volumes"
Jenkins [Mon, 26 Aug 2013 21:16:44 +0000 (21:16 +0000)]
Merge "Offline snapshots for GlusterFS volumes"

11 years agoSync up with global requirements
John Griffith [Sat, 24 Aug 2013 16:23:29 +0000 (10:23 -0600)]
Sync up with global requirements

This is a pull from openstack/requirements.

Note that pep8, pyflakes and flake8 are now specified
as deps in hacking, so we can remove those here.  Also
if we don't remove them then we run into version conflicts
when hacking tries to set things up.

Quick!!!  Before it changes again!

Change-Id: Ib35b58c01f8d5d066d559e8afe4ea02adf55db5d

11 years agoMerge "Re-enable a lot of cinder scheduler tests"
Jenkins [Mon, 26 Aug 2013 18:07:29 +0000 (18:07 +0000)]
Merge "Re-enable a lot of cinder scheduler tests"

11 years agoExtend volume for GlusterFS
Eric Harney [Sat, 17 Aug 2013 17:05:38 +0000 (13:05 -0400)]
Extend volume for GlusterFS

Add support for extend volume.

Change-Id: Ie9ba67d91de2da43e6b857b4256a445c5269c5cd

11 years agoOffline snapshots for GlusterFS volumes
Eric Harney [Wed, 3 Jul 2013 17:57:42 +0000 (13:57 -0400)]
Offline snapshots for GlusterFS volumes

Offline snapshots for the GlusterFS driver, based
on QCOW2 snapshotting.

This introduces the option to have volumes stored as
qcow2 files rather than raw files. (glusterfs_qcow2_volumes)

Bump driver version to 1.1.0.

This patch requires Nova to support loading qcow2 disks:
https://review.openstack.org/#/c/38321/

Online snapshot support (via Nova) is added in a
subsequent patch submitted in this series.

This patch also enables volume cloning for GlusterFS volumes.

Implements blueprint qemu-assisted-snapshots

Change-Id: I783a802574b835b495e343f555f7ecf9b46981dd

11 years agoEnsure that qpid connection is closed (from oslo)
Xavier Queralt [Mon, 26 Aug 2013 14:11:34 +0000 (16:11 +0200)]
Ensure that qpid connection is closed (from oslo)

This is commit a9bc62814d in oslo-incubator

Fixes bug 1172922

When reestablishing a session and a connection already exists the
existing connection will be closed prior to opening the new one.

Change-Id: I9a25800fe4b56eba89d550e3461ce095bf902f0a

11 years agoMerge "Ignore stmf target must be offline exception"
Jenkins [Mon, 26 Aug 2013 10:17:12 +0000 (10:17 +0000)]
Merge "Ignore stmf target must be offline exception"

11 years agoImported Translations from Transifex
OpenStack Jenkins [Mon, 26 Aug 2013 06:17:09 +0000 (06:17 +0000)]
Imported Translations from Transifex

Change-Id: I2b2ca85c56e774d40437cca45b60103d6f840734

11 years agoMerge "Imported Translations from Transifex"
OpenStack Jenkins [Mon, 26 Aug 2013 05:04:14 +0000 (05:04 +0000)]
Merge "Imported Translations from Transifex"

11 years agoMerge "Move the frequently injection task to the base folder."
Jenkins [Mon, 26 Aug 2013 04:56:01 +0000 (04:56 +0000)]
Merge "Move the frequently injection task to the base folder."

11 years agoMerge "Clean up the sqlalchemy migrate manage.py script."
Jenkins [Sun, 25 Aug 2013 13:30:29 +0000 (13:30 +0000)]
Merge "Clean up the sqlalchemy migrate manage.py script."

11 years agoMerge "Storwize/SVC: allow setting of I/O group"
Jenkins [Sun, 25 Aug 2013 10:11:52 +0000 (10:11 +0000)]
Merge "Storwize/SVC: allow setting of I/O group"

11 years agoTest WWNs with basestring
Avishay Traeger [Sun, 25 Aug 2013 07:45:14 +0000 (10:45 +0300)]
Test WWNs with basestring

Change to match Nova commit 52c0668548eb4a7e3536c241c9551cdf89f2d696

Change-Id: I96844ab293003e605412410969f8f26f5e9ac075

11 years agoMerge "emit warning while running flake8 without virtual env"
Jenkins [Sun, 25 Aug 2013 07:07:11 +0000 (07:07 +0000)]
Merge "emit warning while running flake8 without virtual env"

11 years agoMerge "Fix volume_glance_metadata deletion"
Jenkins [Sun, 25 Aug 2013 07:01:38 +0000 (07:01 +0000)]
Merge "Fix volume_glance_metadata deletion"

11 years agoMerge "Use a new rest client for every Coraid ESM command"
Jenkins [Sun, 25 Aug 2013 07:01:31 +0000 (07:01 +0000)]
Merge "Use a new rest client for every Coraid ESM command"

11 years agoMerge "The DB migration shouldn't populate types table"
Jenkins [Sun, 25 Aug 2013 06:55:48 +0000 (06:55 +0000)]
Merge "The DB migration shouldn't populate types table"

11 years agoMerge "Remove print statement in db api test"
Jenkins [Sun, 25 Aug 2013 06:24:58 +0000 (06:24 +0000)]
Merge "Remove print statement in db api test"

11 years agoMerge "Implement QoS support for volumes"
Jenkins [Sun, 25 Aug 2013 06:24:56 +0000 (06:24 +0000)]
Merge "Implement QoS support for volumes"

11 years agoImported Translations from Transifex
OpenStack Jenkins [Sun, 25 Aug 2013 06:11:24 +0000 (06:11 +0000)]
Imported Translations from Transifex

Change-Id: Ia2f3a9a0a9b706143f122a091926d75cb37f1c2e

11 years agoRemove print statement in db api test
John Griffith [Sat, 24 Aug 2013 15:57:40 +0000 (09:57 -0600)]
Remove print statement in db api test

Remove the encryption related print statements in
test_dp_api, this should bring us up to speed
now for updated requirements and take care of the
py3.3 incompat print issues.

Change-Id: If7475cc43d3c0b443908f846d76071913536fdf4

11 years agoMerge "Remove unused methods from LVM driver"
Jenkins [Sat, 24 Aug 2013 00:17:29 +0000 (00:17 +0000)]
Merge "Remove unused methods from LVM driver"

11 years agoIgnore stmf target must be offline exception
Victor Rodionov [Thu, 15 Aug 2013 23:07:32 +0000 (03:07 +0400)]
Ignore stmf target must be offline exception

Patch to ignore

"NexentaJSONException: : Unable to add member to targetgroup:
  stmfadm: STMF target must be offline"

This error happens when targetgroup is already configured and busy.

fixed bug 1209305

Change-Id: I2441118c0968a7a373b5990db6782129291c3051

11 years agoSync execute() related exceptions with oslo
Zhongyue Luo [Mon, 19 Aug 2013 04:03:35 +0000 (12:03 +0800)]
Sync execute() related exceptions with oslo

Cinder has its own ProcessExecutionError exception defined which
already exists in processutils.py. This was done to have minimal
editing when applying processutils.execute() to Cinder. As a result,
new instances are being created for each exception raised during
cli processing using execute()

As for the first step to remove the redundant excptions, this
patch syncs ProcessExecutionError and UnknownArgumentError
with that in processutils to ease the transition.

Change-Id: I88d9b86a0486f5d91fdcb664c99a9a2cd1392460

11 years agoThe DB migration shouldn't populate types table
Michael Kerrin [Fri, 23 Aug 2013 14:42:46 +0000 (14:42 +0000)]
The DB migration shouldn't populate types table

It is up to the system adminisator to do this via an API call.

Also fixes up a few cases of dict() being used rather than the prefered {}
(https://github.com/openstack-dev/hacking/blob/master/HACKING.rst#dictionarieslists)

Fixes bug: 1215962

Change-Id: I6b2eea0c03467b157ec147292dbea54e7f99006c

11 years agoUse a new rest client for every Coraid ESM command
Nikolay Sobolevskiy [Wed, 21 Aug 2013 10:15:08 +0000 (14:15 +0400)]
Use a new rest client for every Coraid ESM command

It's workaround for the session corruption bug
in the ESM Appliance.

fix bug #1214433

Change-Id: Ie844f3c95675c4d734390c23ed2d421c159ce8a7

11 years agoRemove unused methods from LVM driver
Ken'ichi Ohmichi [Fri, 23 Aug 2013 05:40:04 +0000 (14:40 +0900)]
Remove unused methods from LVM driver

_set_execute() has been unused since b569df9, and _size_str() has
been done since f4a9429. So this patch removes them for clean-up.

Change-Id: If8a2703afb08623b69ec6adc105cf58b0e4a15dc

11 years agoMerge "flake8 H202 error in test_image_utils.py"
Jenkins [Fri, 23 Aug 2013 11:14:19 +0000 (11:14 +0000)]
Merge "flake8 H202 error in test_image_utils.py"

11 years agoMerge "GPFS use clone_image for creating volumes"
Jenkins [Fri, 23 Aug 2013 11:14:10 +0000 (11:14 +0000)]
Merge "GPFS use clone_image for creating volumes"

11 years agoMerge "Move root task class to base file."
Jenkins [Fri, 23 Aug 2013 11:14:08 +0000 (11:14 +0000)]
Merge "Move root task class to base file."

11 years agoMerge "Increase test coverage brick/initiator/connector"
Jenkins [Fri, 23 Aug 2013 09:39:26 +0000 (09:39 +0000)]
Merge "Increase test coverage brick/initiator/connector"

11 years agoMerge "Remove unused methods from cinder.utils"
Jenkins [Fri, 23 Aug 2013 09:39:24 +0000 (09:39 +0000)]
Merge "Remove unused methods from cinder.utils"

11 years agoMerge "3PAR driver add missing domain check on QOS cmd"
Jenkins [Fri, 23 Aug 2013 09:34:38 +0000 (09:34 +0000)]
Merge "3PAR driver add missing domain check on QOS cmd"

11 years agoMerge "Dont crash service if sf cluster isnt available"
Jenkins [Fri, 23 Aug 2013 09:34:35 +0000 (09:34 +0000)]
Merge "Dont crash service if sf cluster isnt available"

11 years agoStorwize/SVC: allow setting of I/O group
Avishay Traeger [Thu, 22 Aug 2013 20:17:57 +0000 (23:17 +0300)]
Storwize/SVC: allow setting of I/O group

Allow setting the I/O group via config option or volume type. Also
updated comments and checks regarding iSCSI multipath, which is in Nova
and is not controlled by the driver.

Fixes: bug 1215363
Change-Id: Ia67fcb9991e21990cc81830145b8fd934a23488e

11 years agoMerge "Refactor cinder/tests/test_volume.py"
Jenkins [Fri, 23 Aug 2013 03:34:03 +0000 (03:34 +0000)]
Merge "Refactor cinder/tests/test_volume.py"

11 years agoImplement QoS support for volumes
Zhiteng Huang [Sat, 18 May 2013 14:21:28 +0000 (22:21 +0800)]
Implement QoS support for volumes

This patch is to implement generic Quality-of-Service(QoS) support for volumes.
The goal is to add an interface so that cloud/Cinder admins can use to set
volume QoS, which can be enforced either in hypervisor or on Cinder back-end
or both. QoS specifications are added as a standalone (only visible to admin)
entity.  So admin can create/update/delete and associate/disassociate QoS
specifications to other entities, in this case volume types.

Note that while it's possible for Cinder to set the granularity of QoS control
to every single volume, this patch puts the control granularity to the level
of volumes of the same type to minimize the impact of other Cinder parts.
In other words, the design is to bond QoS with volume types. So Cinder admin
can associate volume types with QoS specifications, and volumes of same volume
type share the same QoS specifications.

QoS can mean a lot different things that it's unlikely we can come up with a
interpretation that all vendors can agree on.  So the approach this
implementation takes is to make Quality-of-Service specs as free-from, i.e.
expressed as key/value pairs.

Changes:
 - Add a quality_of_service_specs table, using adjacency list relation to store
 a specs entry and its detailed specs in key/values. Note that to be able to
 distinguish where should the QoS specs be consumed, each QoS specs entity
 will have a 'consumer' (i.e. fixed key) with the value of where admin would
 like the QoS policy to be enforced/consumed, currently these three values are
 considered valid: 'front-end' (Nova Compute), 'back-end' (Cinder back-end),
 'both'. The default value for 'consumer' is 'back-end';
 - Add a new API extension 'qos_specs_manage' to allow list/create/update/
 delete/associate/disassociate of QoS specs;
 - Add volume/qos_specs internal API for qos specs manipulation;
 - Add 'qos_specs' info to data structure when
 initialize_connection() is called.
 - Add 'qos_specs' to request_specs and filter properties for
 a volume create request.

 TODO
 - Modify 'type_manage' API extension to be able to accept qos info.
 - Modify volume_types.create() to accept qos info and do the checks.

DocImpact

implement blueprint: pass-ratelimit-info-to-nova

Change-Id: Iabc61b941aaff10395b30e2045e3421369a317e2

11 years agoMerge "Allow volume create from source unless in error status"
Jenkins [Fri, 23 Aug 2013 01:29:39 +0000 (01:29 +0000)]
Merge "Allow volume create from source unless in error status"

11 years agoMerge "Backup driver for IBM Tivoli Storage manager (TSM)"
Jenkins [Fri, 23 Aug 2013 01:24:56 +0000 (01:24 +0000)]
Merge "Backup driver for IBM Tivoli Storage manager (TSM)"

11 years agoMove the frequently injection task to the base folder.
Joshua Harlow [Wed, 21 Aug 2013 00:47:12 +0000 (17:47 -0700)]
Move the frequently injection task to the base folder.

Key/value injection is a typical way to bootstrap a
dependency based system (as there needs to be an
initial set of values to depend on). Since this inject
task is frequently used to accomplish this we should
just move it to the base file.

Change-Id: Ib49e949f319bc18744fc95f8a02fab1eade0fb6a

11 years agoMove root task class to base file.
Joshua Harlow [Wed, 21 Aug 2013 00:40:47 +0000 (17:40 -0700)]
Move root task class to base file.

Start cleaning up the large create_volume file by
splitting up the base task and task naming helper
into its own file.

Change-Id: Ibff80dc8b10507d49374737b4760039f51d8e1ba

11 years agoMerge "Fix python 3 pep8 errors for print"
Jenkins [Thu, 22 Aug 2013 21:23:26 +0000 (21:23 +0000)]
Merge "Fix python 3 pep8 errors for print"

11 years agoBackup driver for IBM Tivoli Storage manager (TSM)
Ronen Kat [Thu, 8 Aug 2013 09:12:37 +0000 (12:12 +0300)]
Backup driver for IBM Tivoli Storage manager (TSM)

An implementation of Cinder backup driver using TSM as a backend for
Cinder backups. The driver is a wrapper for the TSM command line
utility dsmc, and uses TSM image backup and restore.

Re-added make_dev_path from cinder/utils.py which was removed by commit
d65425453d215ad64e2bf31b66a3b613c6e7f879

Change-Id: Id105c91ffd3ca953a9fc67dc13f31c3b885bccd7

11 years agoDont crash service if sf cluster isnt available
John Griffith [Wed, 21 Aug 2013 19:05:30 +0000 (13:05 -0600)]
Dont crash service if sf cluster isnt available

Currently if the SolidFire driver is configured but the cluster
isn't available for some reason the ensure_export call will raise
an unhandled exception and crash the volume-service.

We should be able to handle things like loosing connectivity to
a single back-end without impacting the other volume-service
backends.

We'll wrap the ensure_export call in a try block here and
return None in the case that the connection can't be made.
This will keep the service from crashing and log an error
message that the connection timed out.

Additional work would include adding a periodic retry task
to the manager to try and start the backend service for us
on some regular interval incase the device comes back.

Fixes: bug 1215064
Change-Id: Ice3f517d220c40113074bb77adbb10d5e32abd0b

11 years ago3PAR driver add missing domain check on QOS cmd
Kurt Martin [Thu, 22 Aug 2013 16:28:37 +0000 (09:28 -0700)]
3PAR driver add missing domain check on QOS cmd

The 3PAR drivers need to support CPGs that are not part of a
virtual domain on the 3PAR backend. This patch now checks
if the domain is set before calling the createvvset command.
This instance was overlooked in the following patch that has
already been merged: https://review.openstack.org/#/c/42697/

Also fixes: bug 1212328

Change-Id: I0375dfc89104775582b9258f18f97c683e6148b1

11 years agoMerge "Unified Volume Driver for IBM XIV and IBM DS8K"
Jenkins [Thu, 22 Aug 2013 14:39:59 +0000 (14:39 +0000)]
Merge "Unified Volume Driver for IBM XIV and IBM DS8K"

11 years agoRemove unused methods from cinder.utils
Vladislav Kuzmin [Thu, 22 Aug 2013 12:15:45 +0000 (16:15 +0400)]
Remove unused methods from cinder.utils

These methods were left over from the split from Nova and are unused still.

Remove methods:
fetchfile()
trycmd()
generate_uid()
last_octet()
get_my_linklocal()
parse_mailmap()
str_dict_replace()
flatten_dict()

Change-Id: I5d41dec66246814bb1edb6f4993d5307587a00f9

11 years agoMerge "3PAR driver terminate connection host validation"
Jenkins [Thu, 22 Aug 2013 12:15:22 +0000 (12:15 +0000)]
Merge "3PAR driver terminate connection host validation"

11 years agoMerge "Relax policy so owner can access encryption info"
Jenkins [Thu, 22 Aug 2013 10:49:48 +0000 (10:49 +0000)]
Merge "Relax policy so owner can access encryption info"

11 years agoMerge "Fix incorrect msgstr's to avoid translation errors"
Jenkins [Thu, 22 Aug 2013 10:43:38 +0000 (10:43 +0000)]
Merge "Fix incorrect msgstr's to avoid translation errors"

11 years agoMerge "Allow to delete a volume in error_extending status"
Jenkins [Thu, 22 Aug 2013 08:01:51 +0000 (08:01 +0000)]
Merge "Allow to delete a volume in error_extending status"

11 years agoMerge "Avoid serializing CinderExceptions before they are translated"
Jenkins [Thu, 22 Aug 2013 08:01:44 +0000 (08:01 +0000)]
Merge "Avoid serializing CinderExceptions before they are translated"

11 years agoMerge "Use system locale when Accept-Language header is not provided"
Jenkins [Thu, 22 Aug 2013 07:51:43 +0000 (07:51 +0000)]
Merge "Use system locale when Accept-Language header is not provided"

11 years agoRefactor cinder/tests/test_volume.py
Julia Varlamova [Mon, 12 Aug 2013 08:49:25 +0000 (12:49 +0400)]
Refactor cinder/tests/test_volume.py

Refactor test_volume.py to remove code duplication.
- remove iterant definition of the 'expected' dict from
'test_create_delete_volume' and 'test_create_delete_snapshot'
method;
- move 'test_copy_volume_to_image_status_available',
'test_copy_volume_to_image_status_use' and
'test_copy_volume_to_image_exception' methods to new class
 CopyVolumeToImageTestCase;
- move 'test_volume_get_active_by_window' and
'test_snapshot_get_active_by_window' to new class
GetActiveByWindowTestCase;
- create base class BaseVolumeTestCase for TestCase classes.
bp cinder-tests-improvement

Change-Id: I5d3644375d321e613418ea8e544557d33401ff77

11 years agoMerge "Adds brick helpers to cinder utils"
Jenkins [Thu, 22 Aug 2013 06:41:50 +0000 (06:41 +0000)]
Merge "Adds brick helpers to cinder utils"

11 years agoUnified Volume Driver for IBM XIV and IBM DS8K
Erik Zaadi [Mon, 12 Aug 2013 10:27:19 +0000 (13:27 +0300)]
Unified Volume Driver for IBM XIV and IBM DS8K

    * Refactored xiv.py to xiv_ds8k.py
    * Updated tests
    * Updated flags
    * Updated compatibility checks
    * DocImpact
    * Added extend_volume and migrate_volume

implements blueprint ibm-unify-xiv-ds8k

Change-Id: Ifd64fc1dab91ada6fd42a7e92a41361cf220042f

11 years agoMerge "Removes ssh_execute in utils.py"
Jenkins [Thu, 22 Aug 2013 06:34:31 +0000 (06:34 +0000)]
Merge "Removes ssh_execute in utils.py"

11 years agoMerge "Generic backup_volume and restore_backup functions"
Jenkins [Thu, 22 Aug 2013 05:22:21 +0000 (05:22 +0000)]
Merge "Generic backup_volume and restore_backup functions"

11 years agoMerge "Storwize/SVC: More error logging"
Jenkins [Thu, 22 Aug 2013 02:36:43 +0000 (02:36 +0000)]
Merge "Storwize/SVC: More error logging"

11 years agoMerge "Fix some pylint error in Coraid Driver"
Jenkins [Thu, 22 Aug 2013 02:31:51 +0000 (02:31 +0000)]
Merge "Fix some pylint error in Coraid Driver"

11 years agoAdds brick helpers to cinder utils
Walter A. Boring IV [Wed, 21 Aug 2013 21:00:13 +0000 (14:00 -0700)]
Adds brick helpers to cinder utils

This patch adds some cinder utils functions
that wrap calls into brick to automatically
populate cinder's root wrap helper.  This
prevents propogating the recreation of the
sudo cinder-rootwrap string.

Change-Id: I3ae2add4f38a40c57ca197b231e09a9856d7e809

11 years agoFix python 3 pep8 errors for print
John Griffith [Mon, 12 Aug 2013 21:50:53 +0000 (21:50 +0000)]
Fix python 3 pep8 errors for print

The new auto-pulled requirements files exposed
python 3 compat issues in a number of modules.
We added these to tox.ini ignore temporarily,
this change updates the print routines in bin/cinder
and removes the debug cruft that was in the unit tests.

Will update requirements and test-requirements
appropriately in a follow up patch.

Change-Id: I76ea24f4dc1f61c4f8a1d202b0554c90daf2c9cc

11 years agoFix incorrect msgstr's to avoid translation errors
Jay S. Bryant [Wed, 21 Aug 2013 21:39:04 +0000 (16:39 -0500)]
Fix incorrect msgstr's to avoid translation errors

There are numerous msgstr's in the cinder.po files for en_US,
en_AU and en_GB that are incorrect translations of the associated
msgid.  It appears that there are a number that are the result of
problems with past fuzzy translations gone wrong and some may also be the
result of copy/paste mistakes.  Regardless of the origin it makes debug and
development very difficult if the string that is coming out in the
logs doesn't match what is expected.  This patch fixes the numerous
bad msgstr's.

Once this commit is merged, Transifex will catch the change to
the Cinder po files and then spin a new Transifex Translations import.

Fixes bug #1209317

Change-Id: Ia78f5ebb4bec996798798bb25ea1b97c47b5e50b

11 years agoGPFS use clone_image for creating volumes
Bill Owen [Fri, 16 Aug 2013 22:49:06 +0000 (15:49 -0700)]
GPFS use clone_image for creating volumes

If both source and target of gpfs create volume from image operation
are backed by gpfs storage use clone_image method for implementing
the move of image data to the new volume.

The copy_image_to_volume method is used only if this is not true,
and uses image_utils.fetch_to_raw to move image data to the new
volume.

Fixes bug #1213248

Change-Id: I3958febe67cc86bc3cb608288f7d064f74d3a731

11 years agoMerge "Add accept_transfer to solidfire driver"
Jenkins [Wed, 21 Aug 2013 19:11:13 +0000 (19:11 +0000)]
Merge "Add accept_transfer to solidfire driver"

11 years agoMerge "Added need info to accept_transfer"
Jenkins [Wed, 21 Aug 2013 19:09:13 +0000 (19:09 +0000)]
Merge "Added need info to accept_transfer"