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

11 years agoAllow volume create from source unless in error status
Alan Jiang [Tue, 20 Aug 2013 05:22:44 +0000 (00:22 -0500)]
Allow volume create from source unless in error status

This patch restores the source volume status checking behavior
to allow create_volume function to proceed unless it is in
error status. In FibreChannel attached environment, it is typical
to have a volume attached before the volume clone starts. The
operating system owns the volume will ensure the consistency.

Fixes: bug #1214235
Change-Id: Ie639f2f36e2939399303ca0658c169124801e86b

11 years agoMerge "Allow Cinder to call Nova client"
Jenkins [Tue, 20 Aug 2013 05:12:09 +0000 (05:12 +0000)]
Merge "Allow Cinder to call Nova client"

11 years agoAvoid serializing CinderExceptions before they are translated
Luis A. Garcia [Mon, 19 Aug 2013 20:19:57 +0000 (20:19 +0000)]
Avoid serializing CinderExceptions before they are translated

CinderExceptions were being unicode()'d when being wrapped in an
HTTPException, and this was causing the delayed translation to fail for
those errors.

Also, CinderExceptions have a 'message' class attribute that holds the
generic error message template, e.g. "Backup  %(backup_id)s is not
found", unfortunately, because the names are the same, it was
overshadowing the actual exception instance 'message', e.g. "Backup 1 is
not found", when translating. This patch puts the exception's actual
message in a new field called 'msg'.

Fixes Bug: #1214102

Change-Id: Ied9abcc3d05454852c0a5891432eb181220a744e

11 years agoAdd root_helper param to get_connector_properties
Walter A. Boring IV [Fri, 16 Aug 2013 15:18:09 +0000 (08:18 -0700)]
Add root_helper param to get_connector_properties

This patch adds the ability to pass in a custom
root_helper for executing commands.  This is needed
for other projects that need a custom root-wrapper,
such as nova.

fixes Bug #1213135

Change-Id: Ie18276ae2e736bb2276d4e9c57385d2588441428

11 years agoStandardize on ID for log messages
John Griffith [Mon, 19 Aug 2013 21:04:15 +0000 (15:04 -0600)]
Standardize on ID for log messages

We have some places where logs use name to identify
a volume and others where we use ID.  Let's standardize
on the UUID here as that's typically the unique identifier
we use in most places anyway.  Even though name is a
derviative it seems better to be consistent with this
and use the UUID by itself.

Change-Id: Iaee3d146042780e4a526834db1e0be84a705f24b
Fixes: bug 1214140
11 years agoReduce hidden effects of sqlalchemy objects
Joshua Harlow [Mon, 19 Aug 2013 18:31:56 +0000 (11:31 -0700)]
Reduce hidden effects of sqlalchemy objects

The flows are currently holding onto sqlalchemy
due to bug #1214083 and this is causing a problem
with gettextutils which appears to be deepcopying
the raw objects, of which one of those is sqlalchemy
objects, which can't seem to be deepcopied.

Change-Id: Ie831738799a75e2a4a652c73900cad353a71e327

11 years agoRemoved need for domain in 3PAR drivers
Kurt Martin [Mon, 19 Aug 2013 18:14:42 +0000 (11:14 -0700)]
Removed need for domain in 3PAR drivers

The 3PAR drivers need to support CPGs that are not part of a
virtual domain on the 3PAR backend. This patch removes the need
for the CPG to be part of a domain and changes a few of the commands
that took the domain as an option.

DocImpact

Change-Id: I7e472e19e484e837c9216ea01455a4b8a85b19e5
Fixes: bug #1212328
11 years agoMerge "Remove strcmp_const_time"
Jenkins [Mon, 19 Aug 2013 15:41:37 +0000 (15:41 +0000)]
Merge "Remove strcmp_const_time"

11 years agoMerge "Update Nexenta ISCSI volume driver authors"
Jenkins [Mon, 19 Aug 2013 15:39:45 +0000 (15:39 +0000)]
Merge "Update Nexenta ISCSI volume driver authors"

11 years agoAllow Cinder to call Nova client
Avishay Traeger [Sun, 11 Aug 2013 16:40:10 +0000 (19:40 +0300)]
Allow Cinder to call Nova client

This code allows Cinder to call Nova client functions. This will be used
for online migration and guest-assisted snapshots, which are both in
progress.

Change-Id: I9c94917bddcf250b880ca730df463a8402fe6b1d

11 years agoUse FakeLoopingCall instead of the real one
Nikolay Sobolevskiy [Mon, 19 Aug 2013 07:48:03 +0000 (11:48 +0400)]
Use FakeLoopingCall instead of the real one

Decrease the execution time in brick's tests.

Change-Id: Idef19e91f593c2c276015d5bf9f9cc85cd6094ad

11 years agoFix some pylint error in Coraid Driver
Nikolay Sobolevskiy [Mon, 19 Aug 2013 07:22:37 +0000 (11:22 +0400)]
Fix some pylint error in Coraid Driver

Chage usage of rpc method in tests, for fixing
3 pylint error.

Change-Id: Ib30d3f1a26b718d2fca588668683253c03df01ba

11 years agoStorwize/SVC: More error logging
Avishay Traeger [Thu, 15 Aug 2013 11:31:03 +0000 (14:31 +0300)]
Storwize/SVC: More error logging

Some cases had exception raised without logging the error, and one
case where FC was not configured properly raised an IndexError rather
than presenting a clear message.

Fixes: bug 1212652
Change-Id: I7c39977f8e168e5e6afcdeb0f772fec854732140

11 years agoMerge "Added missing import"
Jenkins [Sat, 17 Aug 2013 23:06:44 +0000 (23:06 +0000)]
Merge "Added missing import"

11 years agoRemove strcmp_const_time
Eric Harney [Sat, 17 Aug 2013 22:33:16 +0000 (18:33 -0400)]
Remove strcmp_const_time

This was carried over from Nova and isn't used in Cinder.  Removed
in Nova via commit 08a5066d with message:

"This function was used with deprecated auth and is no longer used
anywhere in the code, so just remove it."

Change-Id: I2b90a1a723265d9d23f89ec03246de8508d591e5

11 years agoMerge "Add more asserts to the limiter unit tests to test the RateLimit"
Jenkins [Fri, 16 Aug 2013 23:38:59 +0000 (23:38 +0000)]
Merge "Add more asserts to the limiter unit tests to test the RateLimit"

11 years agoRefactor LVM driver to use Brick VG utility
John Griffith [Mon, 22 Jul 2013 16:39:54 +0000 (10:39 -0600)]
Refactor LVM driver to use Brick VG utility

Refactor the LVM driver to utilize bricks LVM
module.  This includes significant modification to
tests and fake objects related to testing.

implements blueprint: refactor-lvm-and-iscsi-driver

Change-Id: I94e41abf90d0c5b77e732d40ed8b81b0a2f5d7dd

11 years agoMerge "Fixes SSH injection threat in 3PAR driver"
Jenkins [Fri, 16 Aug 2013 22:35:26 +0000 (22:35 +0000)]
Merge "Fixes SSH injection threat in 3PAR driver"

11 years agoMerge "Implement missing Coraid Driver functionality for Havana"
Jenkins [Fri, 16 Aug 2013 22:32:08 +0000 (22:32 +0000)]
Merge "Implement missing Coraid Driver functionality for Havana"

11 years agoAdded missing import
Walter A. Boring IV [Fri, 16 Aug 2013 22:18:05 +0000 (15:18 -0700)]
Added missing import

pep8 tests didn't find this one.
This patch adds the missing _ import

Fixes Bug #1213268

Change-Id: Ia0e688fc15ccc4d8b3f83516c517e9f9c83767a0

11 years agoMerge "Add support for encrypted volumes"
Jenkins [Fri, 16 Aug 2013 18:40:59 +0000 (18:40 +0000)]
Merge "Add support for encrypted volumes"

11 years agoFixes SSH injection threat in 3PAR driver
Kurt Martin [Fri, 16 Aug 2013 15:48:03 +0000 (08:48 -0700)]
Fixes SSH injection threat in 3PAR driver

The setqos ssh command was not built up correctly when the following
patch https://review.openstack.org/#/c/37697/ landed for cleaning up
the SSH calls from injection attacks in the 3PAR driver.

The command was in the following format causing the injection threat
due to the spaces in the second item in the list:
['setqos', '-io 5000 -bw 500M vvset:vvs-JOHB2Oj0QJ2UaWatwbe7Bg']
When it should actually be in the following format:
['setqos', '-io', '5000', '-bw', '500M', 'vvset:vvs-JOHB2Oj0QJ2UaWatwbe7Bg']

This patch fixes an append vs. extend that was introduced in patch
https://review.openstack.org/#/c/42241

Also fixes: bug 1212884

Change-Id: I28f84acd02397ee0d433a666375737145904d67e

11 years agoImplement missing Coraid Driver functionality for Havana
Nikolay Sobolevskiy [Thu, 1 Aug 2013 12:57:54 +0000 (16:57 +0400)]
Implement missing Coraid Driver functionality for Havana

Intorduce a brick connector for AoE protocol.
Refactoring Coraid Driver. Implement missing functionality for Havana:
- Copy Volume To Image
- Copy Image To Volume
- Clone Volume

Fix a bug with resize volume command.

Change-Id: I2af6a41dc44cb8bc4b74da752e0be9ed54a83cb1
Implements: blueprint coraid-driver-refactoring-for-havana

11 years agoMerge "Fix SSH injection threat in 3PAR driver"
Jenkins [Fri, 16 Aug 2013 13:38:35 +0000 (13:38 +0000)]
Merge "Fix SSH injection threat in 3PAR driver"

11 years agoIncrease test coverage brick/initiator/connector
Yuzlikeev Eduard [Thu, 15 Aug 2013 11:14:28 +0000 (15:14 +0400)]
Increase test coverage brick/initiator/connector

Covered next methods:
disconnect_volume_multipath_iscsi;
get_multipath_iqn;
get_iscsi_devices;
get_multipath_device_name;

Change-Id: I0eaffa6d1408446f1f13e56016642df5337015a2

11 years agoMerge "Refactor Nexenta driver"
Jenkins [Fri, 16 Aug 2013 04:54:21 +0000 (04:54 +0000)]
Merge "Refactor Nexenta driver"

11 years agoMerge "refactor/unify driver version strings"
Jenkins [Fri, 16 Aug 2013 04:52:29 +0000 (04:52 +0000)]
Merge "refactor/unify driver version strings"

11 years agoMerge "Externalize error messages in the v2 API"
Jenkins [Fri, 16 Aug 2013 03:59:26 +0000 (03:59 +0000)]
Merge "Externalize error messages in the v2 API"

11 years agoFix SSH injection threat in 3PAR driver
Kurt Martin [Thu, 15 Aug 2013 23:22:31 +0000 (16:22 -0700)]
Fix SSH injection threat in 3PAR driver

The setqos ssh command was not built up correctly when the following
patch https://review.openstack.org/#/c/37697/ landed for cleaning up
the SSH calls from injection attacks in the 3PAR driver.

The command was in the following format causing the injection threat
due to the spaces in the second item in the list:
['setqos', '-io 5000 -bw 500M vvset:vvs-JOHB2Oj0QJ2UaWatwbe7Bg']
When it should actually be in the following format:
['setqos', '-io', '5000', '-bw', '500M', 'vvset:vvs-JOHB2Oj0QJ2UaWatwbe7Bg']

Change-Id: I69ed8dbca3af3ba56220891411b63331c1935373
Fixes: bug 1212884
11 years agorefactor/unify driver version strings
Walter A. Boring IV [Thu, 15 Aug 2013 22:54:30 +0000 (15:54 -0700)]
refactor/unify driver version strings

This patch updates each driver to provide
the same mechanism for reporting the version
of the driver.  It also includes fixing the
reported driver version at get_volume_stats()
time to be the version set in the driver.

When the manager starts the driver it now
logs the driver's name and version in the log file.

fixes Bug #1212878

Change-Id: Icefd065f885ad417735490e6ac90e2b21557d2dc

11 years agoRefactor Nexenta driver
Victor Rodionov [Fri, 9 Aug 2013 05:40:02 +0000 (09:40 +0400)]
Refactor Nexenta driver

Moving NEXENTA_OPTIONS out of nexenta/volume.py and splitting the
options. This change is to avoid duplication as the iSCSI and NFS driver
will use the same configuration options.

Change-Id: I3596fec9e852f07aea2ef7f2cd26023de07e7d0b

11 years agoMerge "Extract ISCSI tries option into connector module"
Jenkins [Thu, 15 Aug 2013 18:58:50 +0000 (18:58 +0000)]
Merge "Extract ISCSI tries option into connector module"

11 years agoUpdate Nexenta ISCSI volume driver authors
Victor Rodionov [Thu, 15 Aug 2013 18:53:14 +0000 (22:53 +0400)]
Update Nexenta ISCSI volume driver authors

Change-Id: Ib2981c336d479fb506a4db4a9d91e00c1cc6d4e8

11 years agoExtract ISCSI tries option into connector module
Nikolay Sobolevskiy [Thu, 15 Aug 2013 15:23:27 +0000 (19:23 +0400)]
Extract ISCSI tries option into connector module

The usage of this option occurred only in that module.
Rename this options to num_volume_device_scan_tries,
according to discussion on IRC.
The old one marked as depricated option.

DocImpact
Change-Id: Ib4a37237c2d95ca2dd6c05ce0a41f930b29ffd1c

11 years agoMerge "No need to declare the exception conf"
Jenkins [Thu, 15 Aug 2013 14:36:14 +0000 (14:36 +0000)]
Merge "No need to declare the exception conf"

11 years agoExternalize error messages in the v2 API
Luis A. Garcia [Wed, 10 Jul 2013 00:50:12 +0000 (00:50 +0000)]
Externalize error messages in the v2 API

This patch does more internationalization for the REST API error
messages that don't currently have it to take advantage of the new
support added by bp user-locale-api to show error messages in the locale
requested by the user through the Accept-Language HTTP header.

We only do v2 because consumers have used the response error message in
the past for error checks, so changing it in v1 too would break them.

Partially implements bp user-locale-api

Change-Id: I92780b42c125a91ab4916b7a31e4b71d306a89a1

11 years agoMerge "Replace os.unlink with delete_if_exists"
Jenkins [Thu, 15 Aug 2013 13:34:17 +0000 (13:34 +0000)]
Merge "Replace os.unlink with delete_if_exists"