]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
10 years agoFix unit test test_import_record_with_verify
Marc Koderer [Thu, 31 Jul 2014 08:10:17 +0000 (10:10 +0200)]
Fix unit test test_import_record_with_verify

The test case test_import_record_with_verify is intended to call a
backup service class with a defined verify function. This verify
function wasn't overloaded by the fake service.

Change-Id: Ib5738e9c463856dd71a47717b7abb8dff785b3b1
Closes-bug: #1350699

10 years agoMerge "Add note that some checks are disabled on purpose"
Jenkins [Tue, 5 Aug 2014 07:54:31 +0000 (07:54 +0000)]
Merge "Add note that some checks are disabled on purpose"

10 years agoMerge "Fixes migrate_volume_completion"
Jenkins [Tue, 5 Aug 2014 00:54:58 +0000 (00:54 +0000)]
Merge "Fixes migrate_volume_completion"

10 years agoMerge "Introduce iSCSI driver for Pure Storage FlashArray"
Jenkins [Mon, 4 Aug 2014 23:14:21 +0000 (23:14 +0000)]
Merge "Introduce iSCSI driver for Pure Storage FlashArray"

10 years agoMerge "Bump oslo.rootwrap to 1.3.0.0a1 for Cinder"
Jenkins [Mon, 4 Aug 2014 22:20:34 +0000 (22:20 +0000)]
Merge "Bump oslo.rootwrap to 1.3.0.0a1 for Cinder"

10 years agoMerge "Storwize/SVC can not get the right host"
Jenkins [Mon, 4 Aug 2014 08:03:42 +0000 (08:03 +0000)]
Merge "Storwize/SVC can not get the right host"

10 years agoMerge "Avoid OSError in get_blkdev_major_minor with network filesystems"
Jenkins [Sun, 3 Aug 2014 22:21:18 +0000 (22:21 +0000)]
Merge "Avoid OSError in get_blkdev_major_minor with network filesystems"

10 years agoMerge "Add return of updated object on update from DB"
Jenkins [Sun, 3 Aug 2014 22:17:59 +0000 (22:17 +0000)]
Merge "Add return of updated object on update from DB"

10 years agoMerge "Move generate_password into volume utils"
Jenkins [Sun, 3 Aug 2014 22:10:37 +0000 (22:10 +0000)]
Merge "Move generate_password into volume utils"

10 years agoMerge "Move SSHPool into ssh_utils.py"
Jenkins [Sun, 3 Aug 2014 21:30:18 +0000 (21:30 +0000)]
Merge "Move SSHPool into ssh_utils.py"

10 years agoMerge "Fix solidfire accept_transfer"
Jenkins [Sat, 2 Aug 2014 05:50:58 +0000 (05:50 +0000)]
Merge "Fix solidfire accept_transfer"

10 years agoMerge "Change logging level AUDIT to INFO"
Jenkins [Sat, 2 Aug 2014 00:36:51 +0000 (00:36 +0000)]
Merge "Change logging level AUDIT to INFO"

10 years agoMerge "fixing the iSER transport protocol when using LVMISERDriver"
Jenkins [Sat, 2 Aug 2014 00:35:56 +0000 (00:35 +0000)]
Merge "fixing the iSER transport protocol when using LVMISERDriver"

10 years agoMerge "Further cleanup of reservations index"
Jenkins [Fri, 1 Aug 2014 22:22:31 +0000 (22:22 +0000)]
Merge "Further cleanup of reservations index"

10 years agoChange logging level AUDIT to INFO
Christian Berendt [Tue, 1 Jul 2014 09:34:08 +0000 (11:34 +0200)]
Change logging level AUDIT to INFO

According to the latest revision of the logging guidelines message
of type AUDIT should be moved to INFO.

The latest revision is available at https://review.openstack.org/#/c/91446/
at the moment.

Change-Id: I2d86fa634f6424b0bb862319b9ae40d3f3b1ec7a

10 years agoFix solidfire accept_transfer
Zhiteng Huang [Fri, 1 Aug 2014 17:50:47 +0000 (01:50 +0800)]
Fix solidfire accept_transfer

Previous fix has a mistake which makes the situation worse.  This change
fix volume['project_id'] and volume['user_id'] and adds unit test for
accept_transfer.

Closes-bug: # 1349475

Change-Id: I7b2bcefa4c8d173689cc63ee5aa9e00397c7f8ca

10 years agoAdd note that some checks are disabled on purpose
Christian Berendt [Thu, 31 Jul 2014 08:17:54 +0000 (10:17 +0200)]
Add note that some checks are disabled on purpose

Change-Id: I9a2daf57a8bb73e292d99f5177c310d75061cc13

10 years agoMerge "Skip incompatible test on OSX"
Jenkins [Thu, 31 Jul 2014 07:01:01 +0000 (07:01 +0000)]
Merge "Skip incompatible test on OSX"

10 years agoMerge "Change corrupted spelling mistakes"
Jenkins [Wed, 30 Jul 2014 21:32:01 +0000 (21:32 +0000)]
Merge "Change corrupted spelling mistakes"

10 years agoMove generate_password into volume utils
Eric Harney [Fri, 25 Jul 2014 20:52:56 +0000 (16:52 -0400)]
Move generate_password into volume utils

This is only used in places where volume/utils is
relevant, and moving it there reduces the amount of
code that has to load the python Crypto library.

Closes-Bug: #1348787

Change-Id: Id74fdd2d6f12f0196055deb1b0dd610677caff0f

10 years agoMove SSHPool into ssh_utils.py
Eric Harney [Fri, 25 Jul 2014 19:59:40 +0000 (15:59 -0400)]
Move SSHPool into ssh_utils.py

utils.py is loaded by almost everything, but SSH
code and imports (paramiko) are only needed by certain
drivers.

Split this into a separate file to reduce overhead (and
things that can break) for commands like cinder-manage.

Partial-Bug: #1348787

Change-Id: I46896f2bd1fd0de2aedde8e87e255398e5bc3171

10 years agoFixes migrate_volume_completion
git-harry [Sat, 19 Jul 2014 10:25:29 +0000 (11:25 +0100)]
Fixes migrate_volume_completion

The following issues are addressed:

The source volume is never deleted when a migration is done because
status_update was assumed to always be a dict.

Unattached volumes are set to in-use when retyped.

In-use migrated volumes are left in status attaching.

Change-Id: Ib5034679a5f469ba53e6280a47e8c94d633cf911
Partial-Bug: 1316079

10 years agoChange corrupted spelling mistakes
sanuptpm [Tue, 29 Jul 2014 14:55:19 +0000 (20:25 +0530)]
Change corrupted spelling mistakes

Change-Id: I62b4d94d135fa620fac071a5196957c11bb03b77

10 years agoStorwize/SVC can not get the right host
Li Min Liu [Tue, 29 Jul 2014 06:03:40 +0000 (14:03 +0800)]
Storwize/SVC can not get the right host

When only config FC host, Storwize/SVC driver can not get the host
by remote WWPNs except the first one.

Filter 'iscsi_name' and 'WWPN' from host information, if not configure
iSCSI port, only return the first WWPN.

Change-Id: I27852e49f5dfb3a94eed08bea0e5d81a9d7aef9c
Closes-Bug: #1343142

10 years agoSkip incompatible test on OSX
John Griffith [Wed, 30 Jul 2014 02:20:31 +0000 (20:20 -0600)]
Skip incompatible test on OSX

Can't seem to get the test:
cinder.tests.test_volume.VolumeTestCase.test_delete_no_dev_fails
to run right, tried macports and homebrew versions of fileutils
but still get makedir failures. Give up and just detect if OSX
and skip.

Change-Id: Ic2f7603cf2960e2fbaac9fce677461f60ded541d

10 years agoMerge "Fix glance metadata SQL query performance"
Jenkins [Tue, 29 Jul 2014 20:48:43 +0000 (20:48 +0000)]
Merge "Fix glance metadata SQL query performance"

10 years agoMerge "Remove cinder-rpc-zmq-receiver"
Jenkins [Tue, 29 Jul 2014 19:22:32 +0000 (19:22 +0000)]
Merge "Remove cinder-rpc-zmq-receiver"

10 years agoMerge "Add storageHost content to volume messages."
Jenkins [Tue, 29 Jul 2014 18:38:49 +0000 (18:38 +0000)]
Merge "Add storageHost content to volume messages."

10 years agoMerge "HP 3PAR retype implementation"
Jenkins [Tue, 29 Jul 2014 18:38:27 +0000 (18:38 +0000)]
Merge "HP 3PAR retype implementation"

10 years agoMerge "VMware:Support for create disk and disk descriptor"
Jenkins [Tue, 29 Jul 2014 18:38:07 +0000 (18:38 +0000)]
Merge "VMware:Support for create disk and disk descriptor"

10 years agoMerge "Add hacking check for vim headers"
Jenkins [Tue, 29 Jul 2014 17:59:16 +0000 (17:59 +0000)]
Merge "Add hacking check for vim headers"

10 years agoMerge "Remove Hyper-V dependency in the Windows Cinder Volume Driver"
Jenkins [Tue, 29 Jul 2014 17:14:14 +0000 (17:14 +0000)]
Merge "Remove Hyper-V dependency in the Windows Cinder Volume Driver"

10 years agoFix glance metadata SQL query performance
Mathieu Gagné [Tue, 29 Jul 2014 15:57:15 +0000 (11:57 -0400)]
Fix glance metadata SQL query performance

The query built to retrieve glance metadata associated to a volume
was sub-optimal: all rows of volume_glance_metadata were returned.

Fix it by properly joining the 2 tables with volume_id field.

Closes-bug: #1349936
Change-Id: Ic09414de769e71f8b8f99113838af48d8520e187

10 years agoAdd return of updated object on update from DB
John Griffith [Tue, 29 Jul 2014 15:41:06 +0000 (09:41 -0600)]
Add return of updated object on update from DB

There are a number of update methods in db/sqla/api
that update objects but no longer return the updated
reference for said object.

This patch adds the missing returns which are already
expected in the calling cidner/db/api wrapper. At some
point a close look at usage in callers
(ie cinder/volume/manager) should be done to make sure
we're being efficient here and not doing another get after
every update.

Change-Id: I0464d1879571a0044a416d652a186b1462c57fa2
Closes-Bug: #1349912

10 years agofixing the iSER transport protocol when using LVMISERDriver
nuritv [Mon, 28 Jul 2014 18:50:55 +0000 (21:50 +0300)]
fixing the iSER transport protocol when using LVMISERDriver

ISER capabilities were broken in icehouse when trying to remove
duplication between ISCSIDriver and ISERDriver.
this fix does minimal changes in the code in order to fix
the capability.
the fix is basically re-adding the ISERTgtAdm and re-adding
the support in LVMISERDriver: change target_lun based on
iseradm.

Closes-Bug: #1336648
Change-Id: Ic3c9da9577d09d9199218ea82bda56599527223c

10 years agoAdd hacking check for vim headers
Jay S. Bryant [Tue, 29 Jul 2014 03:03:42 +0000 (22:03 -0500)]
Add hacking check for vim headers

We have a number of commits that have removed the vim
headers from openstack/common components as well as
commits to remove the headers from drivers.  We, however,
haven't put a hacking check in to make sure that they don't
sneak back into the code as is evidenced by the fact that some
files failed the check.

This commit adds in the check, the associated test cases and
fixes the couple of files that had a vim header again.

Change-Id: I727bd2aff7ac7b909c9e7cd4f3639f5873793e97

10 years agoMerge "Get updated model info on volume transfer"
Jenkins [Tue, 29 Jul 2014 02:11:05 +0000 (02:11 +0000)]
Merge "Get updated model info on volume transfer"

10 years agoMerge "Sync log from oslo-incubator for isEnabledFor fix"
Jenkins [Tue, 29 Jul 2014 01:11:55 +0000 (01:11 +0000)]
Merge "Sync log from oslo-incubator for isEnabledFor fix"

10 years agoGet updated model info on volume transfer
John Griffith [Mon, 28 Jul 2014 17:35:54 +0000 (11:35 -0600)]
Get updated model info on volume transfer

On some drivers CHAP credentials are tied to accounts
which may be unique for each OS and/or backend Tenant.

For example:
  Volume is created with project_id xyz
  Backend creates an account for xyz with specific CHAP

  Volume is transferred to project_id abc

Currently we don't update the model_info, so even though
on the backend we updated the owner and CHAP settings we
never propogated that back up to the DB object so the volume
can't be used by the new owner.

This patch just adds an option to return model_update
on the accept_transfer call to the driver and updates
the db accordingly.

Also adds a call in the SF driver to actually get the
new model info to be fed back to the manager.

Change-Id: Ie0447cdad69c4fbee99b4b6b1d3cacdfdd14137d
Closes-Bug: #1349475

10 years agoIntroduce iSCSI driver for Pure Storage FlashArray
Victor A. Ying [Mon, 28 Jul 2014 20:30:57 +0000 (13:30 -0700)]
Introduce iSCSI driver for Pure Storage FlashArray

This patch introduces an iSCSI driver for Pure Storage FlashArray to Cinder.
It impliments all required features.

Certification test results:
    https://bugs.launchpad.net/cinder/+bug/1347109

Change-Id: I25f465b4abfc19d9b2717ec095c65201e76beab9
Impliements: blueprint pure-iscsi-volume-driver

10 years agoMerge "Adds storwize_svc_npiv_compatibility_mode flag to Storwize/SVC driver"
Jenkins [Mon, 28 Jul 2014 19:32:57 +0000 (19:32 +0000)]
Merge "Adds storwize_svc_npiv_compatibility_mode flag to Storwize/SVC driver"

10 years agoFurther cleanup of reservations index
Vishvananda Ishaya [Mon, 28 Jul 2014 17:39:29 +0000 (10:39 -0700)]
Further cleanup of reservations index

It was discovered that the duplicate index checking does not work
on db2, so this fixes it.

Change-Id: I1a80b9c1fb6cfe916a2110de3151a09fa3618e75
Partial-bug: 1348720

10 years agoSync log from oslo-incubator for isEnabledFor fix
Matt Riedemann [Mon, 28 Jul 2014 13:19:23 +0000 (06:19 -0700)]
Sync log from oslo-incubator for isEnabledFor fix

Sync log.py to get commit:

726d00a Adjust oslo logging to provide adapter is enabled for

Which is needed to fix an issue with logging in flow_utils
when using python 2.6.

This also brings in dependencies.

Changes:

jsonutils
---------
ef37e03 Added missing jsonutils.dump() function

log
---
726d00a Adjust oslo logging to provide adapter is enabled for
433fa0b Make logging_context_format_string optional in log.set_defaults
ac92c06 Add default log level for websocket
5fd77eb Ability to customize default_log_levels for each project
4d9328c Python 3: enable tests/unit/test_log.py
cb5a804 Move `mask_password` to strutils
3310d8d update new requests logger to default WARN

strutils
--------
cb5a804 Move `mask_password` to strutils

Change-Id: Iea344e4bd3a612cd4110143e4fbb8e2fdfd88165
Closes-Bug: #1343544

10 years agoMerge "Modify the index migration slightly for backport"
Jenkins [Mon, 28 Jul 2014 06:14:37 +0000 (06:14 +0000)]
Merge "Modify the index migration slightly for backport"

10 years agoMerge "Set python hash seed to 0 in tox.ini"
Jenkins [Mon, 28 Jul 2014 03:18:56 +0000 (03:18 +0000)]
Merge "Set python hash seed to 0 in tox.ini"

10 years agoMerge "Fix no handlers could be found issue"
Jenkins [Sun, 27 Jul 2014 23:54:49 +0000 (23:54 +0000)]
Merge "Fix no handlers could be found issue"

10 years agoMerge "Remove cinder-clear-rabbit-queues"
Jenkins [Sun, 27 Jul 2014 21:13:02 +0000 (21:13 +0000)]
Merge "Remove cinder-clear-rabbit-queues"

10 years agoModify the index migration slightly for backport
Vishvananda Ishaya [Fri, 25 Jul 2014 20:30:21 +0000 (13:30 -0700)]
Modify the index migration slightly for backport

If we choose to backport this fix, the migration should be catching
an operational error. Also add a log statement as requested by the
nova review.

Change-Id: Ib33b8711900db9dc2826a099ff3cc6adffc8babb
Partial-bug: 1348720

10 years agoRemove cinder-clear-rabbit-queues
Thang Pham [Sat, 26 Jul 2014 01:02:07 +0000 (21:02 -0400)]
Remove cinder-clear-rabbit-queues

cinder-clear-rabbit-queues should be removed because it does not
appear to be widely used and there is no user documentation for
it. Also, RabbitMQ now includes a management plugin and CLI,
rabbitmqadmin, that allows you to delete queues and exchanges.
This script was also removed in nova as part of
https://review.openstack.org/#/c/40355/.

DocImpact: The RabbitMQ management plugin ships with rabbitmqadmin.
It supports RabbitMQ version 2.8.x and above.
Closes-Bug: #1348859

Change-Id: I77bb54065280771e5cc64835af9c584626ecf8b8

10 years agoRemove cinder-rpc-zmq-receiver
Thang Pham [Sat, 26 Jul 2014 00:53:02 +0000 (20:53 -0400)]
Remove cinder-rpc-zmq-receiver

cinder-rpc-zmq-receiver should be removed as part of the switch to
oslo.messaging. It is now replaced with oslo-messaging-zmq-receiver.

Change-Id: I1fd7d7571bb5660bf77e7664f35052db29ebea57
Closes-Bug: #1348856

10 years agoRemove reattach function in cinder-manage
Thang Pham [Sat, 26 Jul 2014 00:37:06 +0000 (20:37 -0400)]
Remove reattach function in cinder-manage

The reattach function in cinder-manage depends on
db.instance_get, which is not available in cinder db.
db.instance_get is only available in nova db. Hence, the
reattach function should be removed from cinder-manage.

Change-Id: If33bf2f281735bd530641c1e6d15e9645f38b4b4
Closes-Bug: #1167931

10 years agoSet python hash seed to 0 in tox.ini
Clark Boylan [Fri, 25 Jul 2014 21:33:10 +0000 (14:33 -0700)]
Set python hash seed to 0 in tox.ini

New tox (>=1.7.0) sets a random python hash seed by default. This is
generally good for testing because it will help keep projects working
regardless of the hash seed, but cinder unittests don't currently pass
with a random hash seed so set it to the python default seed.

This change will allow us to use new tox again and remove the
restriction on tox<=1.6.1 to run unittests.

Redundant setenvs for specific test envs are removed to prevent them
from overriding the PYTHONHASHSEED value.

Note this change will need to be backported to the stable branches to
keep unittests there working with new tox as well.

Change-Id: Ia55031528d082a1b11da6890447c5584e9e27551

10 years agoHP 3PAR retype implementation
Mark Sturdevant [Fri, 4 Jul 2014 00:34:46 +0000 (17:34 -0700)]
HP 3PAR retype implementation

Add retype support to the HP 3PAR driver. The driver will modify the
volume's current userCPG, snapCPG provisioningType, and QOS settings, as
needed, to make the volume behave appropriately for the new type. The
existing retype framework handles what to do if the driver cannot retype
(when it returns False or raises an exception).

The combination of optional type-specified VV set, old-style scoped
extra-specs and QOS-specs will be resolved using existing code. So no
new interpretation of a mixed-up type specifications will be introduced
(no need to re-document these driver caveats).

Other than the usual validity checking, the 3PAR retype will have one
limitation. Retype will not be allowed if the volume has snapshots and
the retype would require modifying/tuning the snapCPG or userCPG.

Change-Id: I6c7816233635e369dd7ff349c2a437b22a849a84
Implements: blueprint retype-hp-3par

10 years agoAdd index for reservations on (deleted, expire)
Vishvananda Ishaya [Fri, 25 Jul 2014 17:15:27 +0000 (10:15 -0700)]
Add index for reservations on (deleted, expire)

the query for expire_reservations currently does a full table scan.
This adds an index so frequent invocations of expire does not bog
down the database.

Change-Id: Ic6f6e4262746753d869ad37b8aaaa5ffc1c4efef
Resolves-bug: 1348720

10 years agoRemove Hyper-V dependency in the Windows Cinder Volume Driver
Jenkins [Sat, 19 Jul 2014 21:35:17 +0000 (21:35 +0000)]
Remove Hyper-V dependency in the Windows Cinder Volume Driver

Currently, the Windows Cinder Volume driver depends on the Hyper-V
feature in order to be able to access the WMI namespaces that
are used for some of the volume related operations.

Those WMI calls must be urgently replaced with Win32 calls in order
to provide CI tests performed on Windows Storage Server edition.

Change-Id: Ib4b8bccee3c7ee86e6cc44e1b16d20d455e61612
Closes-Bug: #1346496

10 years agoMerge "Make manage/unmanage admin only"
Jenkins [Fri, 25 Jul 2014 00:27:48 +0000 (00:27 +0000)]
Merge "Make manage/unmanage admin only"

10 years agoFix no handlers could be found issue
Walter A. Boring IV [Thu, 24 Jul 2014 21:52:51 +0000 (14:52 -0700)]
Fix no handlers could be found issue

This patch fixes the error message during
unit tests for 2 issues.

1) test_migrations tries to LOG and exception before
setUp is called because of the method decorator.

2) the hp_lefthand_rest_proxy tries to LOG an exception
for a missing import.

Change-Id: I11d2c9320c0a216b5795207488b906795d27b1e0
Closes-Bug: #1341752

10 years agoAdd storageHost content to volume messages.
yehia-beyh [Wed, 23 Jul 2014 18:39:38 +0000 (14:39 -0400)]
Add storageHost content to volume messages.

Implements: Volume notification Storage Host entry in the payload

Closes-Bug: 1333273
Change-Id: I370eaeaafd8fd4a8888f8250b49dffcbffb3a876

10 years agoAdd hacking check for explicit import of _
Jay S. Bryant [Thu, 24 Jul 2014 20:05:33 +0000 (15:05 -0500)]
Add hacking check for explicit import of _

Unit tests are not guaranteed to discover whether
the _() function has been explicitly imported to a file.

To ensure that people do not add messages with _() translations
without importing the function, I am adding this hacking check
to enforce the import of _ when it is needed.

The commit includes fixes for offenders found by the new
check.

Change-Id: I616dce6a9da461b3ad2cfaf5e114a2aaa8ced9fa
Closes-Bug: #1348129

10 years agoMake manage/unmanage admin only
John Griffith [Thu, 24 Jul 2014 06:05:08 +0000 (00:05 -0600)]
Make manage/unmanage admin only

Manage/Unmanage functionality should be admin
only commands. Make this the default in the policy file.

Change-Id: Ieb71891cdedd36f862f3eaae50174e294417b122

10 years agoMerge "Add hacking test"
Jenkins [Thu, 24 Jul 2014 19:06:48 +0000 (19:06 +0000)]
Merge "Add hacking test"

10 years agoAvoid OSError in get_blkdev_major_minor with network filesystems
Tomoki Sekiyama [Sat, 19 Jul 2014 02:23:55 +0000 (22:23 -0400)]
Avoid OSError in get_blkdev_major_minor with network filesystems

To avoid OSError (File not found) thrown for volumes on network filesystems
during volume copy with CONF.volume_copy_bps_limit, this patch adds a check
of whether the specified file is on the local block devices to
get_blkdev_major_minor().

It also adds a testcase for get_blkdev_major_minor with a file on nfs and
fixes it with a regular file.

Change-Id: I0b725bba07ad632bfa0c922bfce1652efe59b033
Closes-Bug: 1348230

10 years agoVMware:Support for create disk and disk descriptor
Vipin Balachandran [Sun, 29 Jun 2014 13:27:00 +0000 (18:57 +0530)]
VMware:Support for create disk and disk descriptor

This change adds utility methods for creating a virtual disk and virtual
disk descriptor. Currently volume creation from preallocated image doesn't
honour the disk type in the volume extra spec and adapter type in the image
meta-data. The workflow to address these issues require support for the
above mentioned methods.

Change-Id: If8ec1fd6c60d26552e5fb58b8bb16a8cc87d9d28
Partial-Bug: #1284284
Partial-Bug: #1287185

10 years agoMerge "Implements new 'bootable' option for manage existing volume."
Jenkins [Thu, 24 Jul 2014 05:18:43 +0000 (05:18 +0000)]
Merge "Implements new 'bootable' option for manage existing volume."

10 years agoMerge "Fixes Cinder volume upload to image on windows"
Jenkins [Thu, 24 Jul 2014 05:14:20 +0000 (05:14 +0000)]
Merge "Fixes Cinder volume upload to image on windows"

10 years agoImplements new 'bootable' option for manage existing volume.
Geraint North [Mon, 21 Jul 2014 20:14:45 +0000 (21:14 +0100)]
Implements new 'bootable' option for manage existing volume.

A 'bootable' option (defaults to False) can be passed as part of
the HTTP POST request to manage an existing volume.  This is
passed into the database when the volume is created.

Also changes all drivers to use the more agnostic keys
'source-name' or 'source-id' when specifying
which existing volume to manage.  This change is to support the
cinderclient change in https://review.openstack.org/#/c/76216/
to make it easier for CLI users to manage existing volumes
without having to know the implementation-specifics of the driver.

Change-Id: I58eaa75181fd0b606628584308fd83bdeaa8b64f
Implements: blueprint add-export-import-volumes

10 years agoAdd hacking test
liuqing [Tue, 1 Jul 2014 09:59:57 +0000 (17:59 +0800)]
Add hacking test

There is no test for cinder/hacking/check.py, the patch add test
for it.  Also update the location in check.py to reference the
right path to add test cases.

Change-Id: I094e712339e53380ce4ed58b60beda1c4f53d5c1

10 years agoFixes Cinder volume upload to image on windows
ClaudiuNesa [Tue, 22 Jul 2014 15:16:15 +0000 (18:16 +0300)]
Fixes Cinder volume upload to image on windows

Due to fact that when uploading a volume to an image the file is
opened in text mode and the different line endings style on
windows glance client won't be able to upload the desired file.
The solutions is to simply open the file in binary mode when
performing this action.

Change-Id: I51b084ce38e1aaad4ded63b75b097137dedc088c
Closes-bug: 1346911

10 years agoMerge "Add cinder volume driver support for Nimble Storage."
Jenkins [Wed, 23 Jul 2014 12:56:09 +0000 (12:56 +0000)]
Merge "Add cinder volume driver support for Nimble Storage."

10 years agoMerge "Add explicit import of _ to hp_3par_fc and iscsi"
Jenkins [Wed, 23 Jul 2014 01:08:31 +0000 (01:08 +0000)]
Merge "Add explicit import of _ to hp_3par_fc and iscsi"

10 years agoMerge "Use immutable default values for args"
Jenkins [Tue, 22 Jul 2014 23:23:54 +0000 (23:23 +0000)]
Merge "Use immutable default values for args"

10 years agoAdd explicit import of _ to hp_3par_fc and iscsi
Jay S. Bryant [Tue, 22 Jul 2014 23:06:29 +0000 (18:06 -0500)]
Add explicit import of _ to hp_3par_fc and iscsi

Messages using translation were added to the hp_3par_fc and
hp_3par_iscsi files but an explicit import of gettextutils _ was not
included.

This fixes that problem.

Change-Id: I2555860c6525a00295e823ab8c826b2bec6a3098
Closes-Bug: 1347184

10 years agoAdds storwize_svc_npiv_compatibility_mode flag to Storwize/SVC driver
Geraint North [Mon, 21 Jul 2014 21:23:48 +0000 (22:23 +0100)]
Adds storwize_svc_npiv_compatibility_mode flag to Storwize/SVC driver

This configuration option allows the driver to function in an
environment where an attach operation occurs before the virtual FC
ports are logged into the fabric.

Today's behaviour (which is maintained as default behaviour) is to
only build the initiator_target_map for initiator ports that are
logged into the fabric, and error if there are no such ports.

If this new flag is set to True, then if no initiator ports are
found on the fabric, ALL initiator ports are placed into the
initiator_target_map, rather than none, which is the case today.

Closes-Bug: 1346622
Change-Id: Ie722612bc5a9af2816348392c0c39da003b99028

10 years agoMerge "Configure write cache option of tgtd iscsi driver"
Jenkins [Tue, 22 Jul 2014 02:04:23 +0000 (02:04 +0000)]
Merge "Configure write cache option of tgtd iscsi driver"

10 years agoMerge "Fix failure of source volume deletion in migrate_volume_completion"
Jenkins [Tue, 22 Jul 2014 02:04:15 +0000 (02:04 +0000)]
Merge "Fix failure of source volume deletion in migrate_volume_completion"

10 years agoMerge "Add additional explicit imports of _ where needed"
Jenkins [Tue, 22 Jul 2014 00:42:40 +0000 (00:42 +0000)]
Merge "Add additional explicit imports of _ where needed"

10 years agoSwitch to use oslo.db
Alexei Kornienko [Thu, 3 Jul 2014 12:38:50 +0000 (15:38 +0300)]
Switch to use oslo.db

oslo.db first stable release has been cut and we can start using it
instead of openstack/common/db/* code which is now marked obsolete.

Change-Id: Ib350e8d1dcec3be707e3b1679c70202619256269

10 years agoAdd additional explicit imports of _ where needed
Jay S. Bryant [Mon, 21 Jul 2014 01:14:27 +0000 (20:14 -0500)]
Add additional explicit imports of _ where needed

It appears that I missed some of the needed explicit
imports of _.  I have now run through all the /bin/cinder-*
functions and ensured that they can be properly started.

This patch adds additional imports of _ and also changes
cinder-rtstool to use the 'cinder' domain as was suggested by
Duncan Thomas in the first review cycle.

Change-Id: I6477093cb817b5b9506dd3787f027e073c51f37d
Closes-Bug:  1345789

10 years agoMerge "Fix performance issues with brocade zone driver."
Jenkins [Sat, 19 Jul 2014 21:35:17 +0000 (21:35 +0000)]
Merge "Fix performance issues with brocade zone driver."

10 years agoMerge "Add some log info for NoValidHost"
Jenkins [Sat, 19 Jul 2014 06:05:43 +0000 (06:05 +0000)]
Merge "Add some log info for NoValidHost"

10 years agoMerge "Don't leave snapshots on the floor"
Jenkins [Sat, 19 Jul 2014 04:48:32 +0000 (04:48 +0000)]
Merge "Don't leave snapshots on the floor"

10 years agoFix failure of source volume deletion in migrate_volume_completion
Tomoki Sekiyama [Sat, 19 Jul 2014 00:36:56 +0000 (20:36 -0400)]
Fix failure of source volume deletion in migrate_volume_completion

In VolumeManager.migrate_volume_completion(), when volume_status is not
'retyping', status_update is not set. However, status_update is always
referenced as dictionary on volume deletion path, so it fails to delete
migration source volume. This patch fixes the issue.

Change-Id: I06889dae326b9557e044f1712d9f3205bb68a953
Closes-Bug: 1344341

10 years agoRemove hard coded reference from gettextutils.py
Thang Pham [Fri, 18 Jul 2014 15:29:24 +0000 (11:29 -0400)]
Remove hard coded reference from gettextutils.py

The following commit 4fdcbff96790753a4c1a508600e5d78b2c3b7172
introduced a few hard coded references to
'/home/jsbryant/cinder-dev/gettextutilsSync/' in
cinder/openstack/common/gettextutils.py. This patch will
removed those references.

Change-Id: Ib880863d275ac102c1eb723972d1ebd2eb3405a1
Closes-Bug: #1344072

10 years agoMerge "XIV volume manage/unmanage support"
Jenkins [Fri, 18 Jul 2014 05:03:14 +0000 (05:03 +0000)]
Merge "XIV volume manage/unmanage support"

10 years agoEnable lazy translation for Cinder
Jay S. Bryant [Tue, 8 Jul 2014 19:04:56 +0000 (14:04 -0500)]
Enable lazy translation for Cinder

This patch is the final step for getting lazy translation
re-enabled for Cinder.  It removes the use of gettextutils.install()
which is no longer needed with the addition of the explicit import
of _() in all of Cinder's files.  The configuration of 'cinder' catalog
is handled by gettextutils.

The install() function is replaced by gettextutils.enable_lazy() which
properly enables lazy translation when _() or _LX() is used.

Change-Id: I79e705f3852e8aa34034015199d56a8b23aeb8ef
Implements-Blueprint: i18n-enablement

10 years agoExplicitly import _() in Cinder code
Jay S. Bryant [Thu, 26 Jun 2014 21:22:17 +0000 (16:22 -0500)]
Explicitly import _() in Cinder code

To ensure that logs are properly translated and logged to
the Cinder log files (using the Cinder message catalogs)
we need to explicitly import _() in any python files that
use the _() function.

Closes-bug: 1306275
Related-Blueprint: i18n-enablement
Change-Id: I3cf1f1d63d5f8bd8ffd007104691f914e3fd8538

10 years agoMerge "Remove definition of Python Source Code Encodings"
Jenkins [Wed, 16 Jul 2014 22:29:56 +0000 (22:29 +0000)]
Merge "Remove definition of Python Source Code Encodings"

10 years agoFix performance issues with brocade zone driver.
Angela Smith [Wed, 4 Jun 2014 19:12:15 +0000 (12:12 -0700)]
Fix performance issues with brocade zone driver.

Removed firmware checks from common path as the ssh invoke_shell
was taking 5 seconds to complete for each firmware check.
Refactored to only do cfgsave in non-activate case.
Removed extra calls to switch to get the active zoneset.

Closes-Bug: #1292119

Change-Id: Ie1c2c0c603f6dd68439f2c2db74b21ea2dd0fc11

10 years agoDon't leave snapshots on the floor
John Griffith [Wed, 16 Jul 2014 14:49:37 +0000 (08:49 -0600)]
Don't leave snapshots on the floor

The current cloning process in the LVM
driver uses a snapshot to do the data
copy in the background.  Trouble here
is that if the creation or activation
of the new volume fails, we don't
cleanup the snapshot we created.

Just move the create_volume and activate
calls down into the try block so the finally
clause can do the cleanup for us.

Change-Id: If0fbab9d9f39102cdc7d287527be22c4a2b35934
Closes-Bug: #1312718

10 years agoAdd some log info for NoValidHost
John Griffith [Wed, 16 Jul 2014 13:34:16 +0000 (13:34 +0000)]
Add some log info for NoValidHost

Currently when a create call fails due to a
misconfiguration on the backend, or a problem
with satisfying the extra-specs from the filter
scheduler, the only thing you get in the logs is
a "No valid host".

This patch just adds a tiny bit more info to give us
a better idea where we're at.

First the exception shouldn't be setup with "reason=""",
so at least add "reason=no weighed hosts found".

Second, add a warning message prior to getting to that
point when we fail to find a host that satisfies the
{extra/qos}-specs that were requested, and include what
was being requested.

Change-Id: I2ce65b973196f673bac455613a6f8626320339ba

10 years agoMerge "Cinder-api service throws error on SIGHUP signal"
Jenkins [Wed, 16 Jul 2014 11:23:24 +0000 (11:23 +0000)]
Merge "Cinder-api service throws error on SIGHUP signal"

10 years agoMerge "Add affinity/anti-affinity filters"
Jenkins [Wed, 16 Jul 2014 09:42:21 +0000 (09:42 +0000)]
Merge "Add affinity/anti-affinity filters"

10 years agoUse immutable default values for args
Ivan Kolodyazhny [Mon, 14 Jul 2014 21:13:54 +0000 (00:13 +0300)]
Use immutable default values for args

Default mutable values (e.g. arg1=[], arg2={}) could have side effects
in Python. So using None as a default value is safer.

Added hacking checks for default mutable args.

Closes: bug #1327473
Change-Id: I7055e534b91df794550de6c3b243324e582d4430

10 years agoMerge "Update cinder generate_sample script"
Jenkins [Wed, 16 Jul 2014 04:07:17 +0000 (04:07 +0000)]
Merge "Update cinder generate_sample script"

10 years agoMerge "Fix the section name in CONTRIBUTING.rst"
Jenkins [Tue, 15 Jul 2014 21:06:24 +0000 (21:06 +0000)]
Merge "Fix the section name in CONTRIBUTING.rst"

10 years agoMerge "Ensure FC ZoneManager is called"
Jenkins [Tue, 15 Jul 2014 21:03:42 +0000 (21:03 +0000)]
Merge "Ensure FC ZoneManager is called"

10 years agoUpdate cinder generate_sample script
John Griffith [Tue, 15 Jul 2014 17:45:17 +0000 (11:45 -0600)]
Update cinder generate_sample script

Cinder's generate sample script has fallen a
bit out of date and was no longer working properly
in local venv.

This patch updates it with a working version that
reads the rc file and makes some other updates.

Even better, we'll update the tox.ini file here so
that it actually works, and finally add some more
info to the error message when update check fails
to make is obvious how to run these appropriately.

Change-Id: I2389910d8ece6f737a9609ce4aa05263d9293e14

10 years agoXIV volume manage/unmanage support
Alon Marx [Sun, 13 Jul 2014 08:53:41 +0000 (11:53 +0300)]
XIV volume manage/unmanage support

XIV support for managing and unmanaging volumes.

Partially Implements: blueprint add-export-import-volumes

Change-Id: I305d2652709181bacd9f5b21f0201858f91f7a15

10 years agoAdd affinity/anti-affinity filters
Zhiteng Huang [Tue, 28 Jan 2014 06:23:04 +0000 (14:23 +0800)]
Add affinity/anti-affinity filters

Cinder has done a good job hiding the details of storage backends from end
users by using volume types.  However there are use cases where users who
build their application on top of volumes would like to be able to 'choose'
where a volume be created on.  How can Cinder provide such capability without
hurting the simplicity we have been keeping?  Affinity/anti-affinity is one
of the flexibility we can provide without exposing details to backends.

The term affinity/anti-affinity here is to to describe the relationship
between two sets of volumes in terms of location.  To limit the scope, we
describe one volume is affinity with the other one only when they reside in
the same volume back-end (this notion can be extended to volume pools if
volume pool support lands in Cinder); on the contrary, 'anti-affinity'
relation between two sets of volumes simply implies they are on different
Cinder back-ends (pools).

This affinity/anti-affinity filter filters Cinder backend based on hint
specified by end user.  The hint expresses the affinity or anti-affinity
relation between new volumes and existing volume(s).  This allows end
users to provide hints like 'please put this volume to a place that is
different from where Volume-XYZ resides in'.

This change adds two new filters to Cinder - SameBackendFilter and
DifferentBackendFilter.  These two filters will look at the scheduler hint
provided by end users (via scheduler hint extension) and filter backends by
checking the 'host' of old and new volumes see if a backend meets the
requirement (being on the same backend as existing volume or not being on
the same backend(s) as existing volume(s)).

For example:
  Volume A is on 'backend 1', to create Volume B on the same backend as A,
  use:
    cinder create --hint same_host=VolA-UUID SIZE

  To create Volume C on different backend than that of A, use:
    cinder create --hint different_host=VolA-UUID SIZE

  Now, to create Volume D on different backend other than those of A and C,
  use:
    cinder create --hint different_host=VolA-UUID --hint
    different_host=VolC-UUID SIZE
  or:
    cinder create --hint different_host="[VolA-UUID, VolC-UUID]" SIZE

implements bp: affinity-antiaffinity-filter

DocImpact

Change-Id: I19f298bd87b0069c0d1bb133202188d3bf65b770

10 years agoBump oslo.rootwrap to 1.3.0.0a1 for Cinder
Dan Prince [Tue, 15 Jul 2014 02:51:32 +0000 (22:51 -0400)]
Bump oslo.rootwrap to 1.3.0.0a1 for Cinder

Cinder already requires oslo.rootwrap 1.3.0 filters so we need to
bump requirements accordingly.

This will fix a variety of rootwrap warnings that can occur when using
the new cgroups features.

Change-Id: Ia72444d054a35c3dbb34c24dbefe8f05cdebbd33
Closes-bug: #1340877