]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
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 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 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"

11 years agoMerge "Remove unused methods from cinder.utils"
Jenkins [Wed, 21 Aug 2013 19:07:12 +0000 (19:07 +0000)]
Merge "Remove unused methods from cinder.utils"

11 years agoMerge "Fix Fibre Channel attach for single WWN"
Jenkins [Wed, 21 Aug 2013 16:43:32 +0000 (16:43 +0000)]
Merge "Fix Fibre Channel attach for single WWN"

11 years agoMerge "Update Brick to use executor"
Jenkins [Wed, 21 Aug 2013 16:43:30 +0000 (16:43 +0000)]
Merge "Update Brick to use executor"

11 years ago3PAR driver terminate connection host validation
Kurt Martin [Wed, 21 Aug 2013 16:38:54 +0000 (09:38 -0700)]
3PAR driver terminate connection host validation

The 3PAR backend does not allow FQDN host names (i.e. foo.rose.hp.com),
instead it requires just foo without the rose.hp.com. This patch will
now validate the host name in terminate connection by calling
_safe_host just as it was doing in initialize connection when creating
the host on the 3PAR backend.

Change-Id: I52e90938c782473edc93f30672a0530ab5934edc
Fixes: bug 1214994
11 years agoRe-enable a lot of cinder scheduler tests
Michael Kerrin [Wed, 14 Aug 2013 10:16:42 +0000 (10:16 +0000)]
Re-enable a lot of cinder scheduler tests

This highlight and fixes a NoneType exception in the schedulers
_get_weighted_candidates method

This was originally added to get around the fact that the filter tests
required that cinder was correctly installed on the system. But the
is_cinder_installed condition always returning False and this hid
problems of old packages been installed in our system. Also
930f5891b0815e1b49b9b2cc840e0c24b2796e84 added the setup.py automatically
to run_tests.sh so we can remove this.

See https://review.openstack.org/#/c/20213/ for history.

Fixes bug: 1213226

Change-Id: I86fee802c0543355471ddbd712e52ccec750cea0

11 years agoemit warning while running flake8 without virtual env
Kui Shi [Wed, 21 Aug 2013 11:07:43 +0000 (19:07 +0800)]
emit warning while running flake8 without virtual env

run_tests.sh -N -p
it will call the flake8 installed on your host to detect PEP8, and
the flake8 plugin "OpenStack hacking" may not installed on your
host, so this command may not detect the OpenStack Style Commandment
supplied by hacking(e.g H202).

run_tests.sh -p
it will call the flake8 from virtual env, flake8 plugin "OpenStack
hacking" installed in virtual env will be triggered.

The result from "run_tests.sh -p" should be trusted, and jenkins uses
virtual env to run flake8 too.

When "-N" is enabled, emit warning to remind user.

Bug #1208584

Change-Id: Ie08e5fa2b44088dad135e11583c046650d65df1e

11 years agoSet bootable flag for volume cloned from image
xiaoxi_chen [Mon, 12 Aug 2013 11:25:59 +0000 (19:25 +0800)]
Set bootable flag for volume cloned from image

In previous code we don't set the bootable flag for volume
cloned from image. This does not appear to break booting
from volume at present but the status displayed by the cinder
client is broken.

The bug is reported and fixed several months ago(bug #1185533)
but the author doesn't provide unit test with the patch. Now it
has been broken again by somebody else.The patch re-fixed this
bug together with unit tests.

Also add a function named _handle_bootable_volume_glance_meta,
it is a combination of enable_bootable_flag and glance_metadata
handling. There are 3 kinds of volume creation tasks may required
to copy/fetch the glance metadata. In previous code every kind of
task have its own handling code, this patch consolidate them together
to share some common code.

fixed bug #1211272
fixed bug #1185533

Change-Id: I86007e26efbebe58dc0c5995b6f14f68258144b5

11 years agoRemove unused methods from cinder.utils
Vladislav Kuzmin [Mon, 19 Aug 2013 11:37:56 +0000 (15:37 +0400)]
Remove unused methods from cinder.utils

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

Remove methods:
is_valid_ipv4()
make_dev_path()
convert_to_list_dict()
partition_dict()
subset_dict()

Change-Id: Icb36aa6a2d1f607c440a2d524d3480de23d1cb7a

11 years agoMerge "Make the SolidFire driver api port configurable."
Jenkins [Wed, 21 Aug 2013 09:24:35 +0000 (09:24 +0000)]
Merge "Make the SolidFire driver api port configurable."

11 years agoClean up the sqlalchemy migrate manage.py script.
Michael Kerrin [Fri, 16 Aug 2013 16:39:59 +0000 (16:39 +0000)]
Clean up the sqlalchemy migrate manage.py script.

This way we can run it without figuring out passing in
the correct url and repository information.

Change-Id: Ib0f2c9d5c3888a1c094c8b636d735832a6242b7e

11 years agoAllow to delete a volume in error_extending status
Ken'ichi Ohmichi [Tue, 20 Aug 2013 03:26:36 +0000 (12:26 +0900)]
Allow to delete a volume in error_extending status

We must be able to remove "error_extending" volume, because we
cannot retrieve it without changing database status.
If trying to remove the volume, now it fails like the following:

$ cinder delete vol-test01
ERROR: Invalid volume: Volume status must be available or error,
but current status is: error_extending
$

"error_extending" also would be error status, so it is good to
remove the volume.

Fixes bug #1214228

Change-Id: I861e7af75f2c50d4e03ef3680dccde73078b4888

11 years agoMerge "GPFS support for various volume attributes"
Jenkins [Wed, 21 Aug 2013 06:11:52 +0000 (06:11 +0000)]
Merge "GPFS support for various volume attributes"

11 years agoUpdate Brick to use executor
Walter A. Boring IV [Thu, 15 Aug 2013 17:41:08 +0000 (10:41 -0700)]
Update Brick to use executor

modify existing modules in Brick
to make use of the Executor object,
so we don't replicated the same
set_execute() method everywhere.

Change-Id: Ib0363029557253ad86bae90e1db4fefd24a42df7

11 years agoMerge "Removed need for domain in 3PAR drivers"
Jenkins [Wed, 21 Aug 2013 05:56:25 +0000 (05:56 +0000)]
Merge "Removed need for domain in 3PAR drivers"

11 years agoflake8 H202 error in test_image_utils.py
Kui Shi [Wed, 21 Aug 2013 02:48:55 +0000 (10:48 +0800)]
flake8 H202 error in test_image_utils.py

H202 will detect following case:
self.assertRaises(Exception, foo)

Replace Exception with test.TestingException to pass the H202 checking.

Bug #1214365

Change-Id: Idbd13d11995e6a22e99bb9d63c344a5b1a75f987

11 years agoRemoves ssh_execute in utils.py
Zhongyue Luo [Mon, 19 Aug 2013 01:58:26 +0000 (09:58 +0800)]
Removes ssh_execute in utils.py

The ssh_execute function is already defined in oslo.processutils
Removes the version in utils.py

Change-Id: Ie0bd73d1f4e6df290270f6d712584431e965be78

11 years agoFix volume_glance_metadata deletion
Adalberto Medeiros [Tue, 13 Aug 2013 18:50:24 +0000 (14:50 -0400)]
Fix volume_glance_metadata deletion

If volume_glance_metadata does not exist for a certain volume,
it returns an exception and does not delete volume from db.
Avoid deleting it if it does not exist.

Bug: 1209367
Change-Id: Ia607ec5ecfc115c1a593f14236ee93158938a8da

11 years agoUse system locale when Accept-Language header is not provided
Luis A. Garcia [Tue, 20 Aug 2013 16:47:38 +0000 (16:47 +0000)]
Use system locale when Accept-Language header is not provided

Remove en_US as the default language when no header is provided, and use
None instead. Upon translation None will be defaulted to system as it
was before the translation changes.

Fixes bug: #1214476

Change-Id: I0fe22c526710e69ae0731e7d0b42170e6f3a8523

11 years agoMerge "Use FakeLoopingCall instead of the real one"
Jenkins [Tue, 20 Aug 2013 19:00:59 +0000 (19:00 +0000)]
Merge "Use FakeLoopingCall instead of the real one"

11 years agoGeneric backup_volume and restore_backup functions
Ronen Kat [Wed, 7 Aug 2013 12:37:07 +0000 (15:37 +0300)]
Generic backup_volume and restore_backup functions

Add implementation for backup_volume and restore_backup to the
VolumeDriver class, which uses brick for attach and detach.
Add default NotImplmeneted implmentation for non block drivers:
remotefs, coraid, gpfs, scality, sheepdog and sm.

Change-Id: I291390a58608b14f0deea703fc5cec3e34b965cd

11 years agoRelax policy so owner can access encryption info
Joel Coffman [Tue, 20 Aug 2013 17:02:24 +0000 (13:02 -0400)]
Relax policy so owner can access encryption info

The admin only policy is too restrictive to allow Nova to access a
volume's encryption metadata using the owner's request context. Hence,
this commit relaxes the policy for the volume encryption metadata
API extension so the metadata is accessible to the volume's owner.

Implements: blueprint encrypt-cinder-volumes
Change-Id: Ia946850b79f7f717ab7528caf7cac2905e650917
SecurityImpact

11 years agoMerge "Add root_helper param to get_connector_properties"
Jenkins [Tue, 20 Aug 2013 16:16:03 +0000 (16:16 +0000)]
Merge "Add root_helper param to get_connector_properties"

11 years agoFix Fibre Channel attach for single WWN
Avishay Traeger [Tue, 20 Aug 2013 15:53:47 +0000 (18:53 +0300)]
Fix Fibre Channel attach for single WWN

The code allowed for only a string of the WWN or a list of them.
Unfortunately unicode is also returned, for which the attach fails.
This patch allows for unicode as well.

Change-Id: I4d2809b41b24b2240e447a5c09f14e6438304cd6
Fixes: bug 1214413
11 years agoMake the SolidFire driver api port configurable.
Paul McMillan [Tue, 20 Aug 2013 00:58:02 +0000 (01:58 +0100)]
Make the SolidFire driver api port configurable.

Making the SolidFire driver api port configurable allows it to be
placed behind a transparent proxy.

Change-Id: I976ecfd5df11797722776faf65777ca1ffa5b0c4

11 years agoAdd accept_transfer to solidfire driver
John Griffith [Fri, 16 Aug 2013 23:21:21 +0000 (17:21 -0600)]
Add accept_transfer to solidfire driver

The SolidFire cluster is tenant aware and as such
needs to change account association on volume transfer.

We use the project_id to build this account, so read that
in here and create a new account if necessary and re-assign
the existing volume to the new tenant account.

Change-Id: I29879714c2d32a982918cd1305c8eb00718795fd

11 years agoAdded need info to accept_transfer
John Griffith [Fri, 16 Aug 2013 23:12:11 +0000 (17:12 -0600)]
Added need info to accept_transfer

Drivers that implement accept_transfer will need
things like the new user_id and project_id.  We were
not including this in the original add, in order for
drivers that are tenant aware this information will be
necessary.

Also the get_volume call in the transfer was using
the new user context, so the volume would never be
found.  We fix this here by providing an elevated
context to the get_volume call when accepting the
transfer.

Change-Id: I7b60c19950f85c4309a97bb842ff238bcf8e746a
Fixes: bug 1213275
11 years agoMerge "Standardize on ID for log messages"
Jenkins [Tue, 20 Aug 2013 09:58:28 +0000 (09:58 +0000)]
Merge "Standardize on ID for log messages"

11 years agoMerge "Reduce hidden effects of sqlalchemy objects"
Jenkins [Tue, 20 Aug 2013 09:43:46 +0000 (09:43 +0000)]
Merge "Reduce hidden effects of sqlalchemy objects"