]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
9 years agoEnable cinder-manage to remove services
Kendall Nelson [Mon, 20 Jul 2015 20:06:21 +0000 (15:06 -0500)]
Enable cinder-manage to remove services

These changes are to enable cinder-manage to remove old services
from the database like nova does. All that is being added is the remove
method to manage.py and tests to cover this new method in test_cmd.py.
The command will remove the binary from the list of running services
in the db that can be viewed via "cinder-manage service list". NOTE:
Active and restarted services will re-populate the DB with their current
status automatically.

To use this new command, the user types "cinder-manage service remove
<binary> <host>" and the service will be removed.

DocImpact

Change-Id: I3bcec824d3c5f65fdd187459428025993a2010a0
Implements-blueprint: add-cinder-service-removal

9 years agoMerge "Remove obsolete API from documentation"
Jenkins [Mon, 20 Jul 2015 14:09:07 +0000 (14:09 +0000)]
Merge "Remove obsolete API from documentation"

9 years agoMerge "Refactor Huawei Volume driver"
Jenkins [Mon, 20 Jul 2015 14:06:06 +0000 (14:06 +0000)]
Merge "Refactor Huawei Volume driver"

9 years agoMerge "Remove lio_initiator_iqns config option"
Jenkins [Sun, 19 Jul 2015 16:14:47 +0000 (16:14 +0000)]
Merge "Remove lio_initiator_iqns config option"

9 years agoMerge "Add white list support for target ports in VNX driver"
Jenkins [Sun, 19 Jul 2015 15:38:06 +0000 (15:38 +0000)]
Merge "Add white list support for target ports in VNX driver"

9 years agoRefactor Huawei Volume driver
chenzongliang [Thu, 4 Jun 2015 02:43:07 +0000 (10:43 +0800)]
Refactor Huawei Volume driver

This patch attempts to refactor Huawei volume driver in liberty.
We add a base driver to implement the basic functions.
The sub-class will inherit from the base driver according to different
storages.

The following changes were made in this refactor:
1. Abstract a base class named HuaweiBaseDriver to make Huawei driver more
universal. You can find it in the huawei_driver.py.
2. Put all static variables into the constants.py.
3. Rename rest_common.py to rest_client.py. rest_client.py stores the
relevant methods implemented for Huawei driver.
4. Migrate some public methods from rest_client.py to huawei_utils.py,
such as parse_xml_file(), _get_volume_type() and so on.
5. This refactor only involves structural adjustment and does not involve
functional changes.

Change-Id: I768889e2577a4d975397218eb31e89b42e08e04f
Implements: blueprint refactor-huawei-volume-driver

9 years agoMerge "Fix getting out-of-date volume operation state issue for VNX"
Jenkins [Fri, 17 Jul 2015 04:48:03 +0000 (04:48 +0000)]
Merge "Fix getting out-of-date volume operation state issue for VNX"

9 years agoMerge "Support SMI-S provider v8.0.3 in VMAX driver"
Jenkins [Fri, 17 Jul 2015 04:40:46 +0000 (04:40 +0000)]
Merge "Support SMI-S provider v8.0.3 in VMAX driver"

9 years agoMerge "Fix 3PAR driver handling of existing VLUNs"
Jenkins [Fri, 17 Jul 2015 04:39:59 +0000 (04:39 +0000)]
Merge "Fix 3PAR driver handling of existing VLUNs"

9 years agoMerge "scality: add export and name keys to os-initialize_connection info"
Jenkins [Fri, 17 Jul 2015 04:39:45 +0000 (04:39 +0000)]
Merge "scality: add export and name keys to os-initialize_connection info"

9 years agoMerge "Handle volume not found on zfssa volume delete"
Jenkins [Fri, 17 Jul 2015 04:39:29 +0000 (04:39 +0000)]
Merge "Handle volume not found on zfssa volume delete"

9 years agoFix 3PAR driver handling of existing VLUNs
Anthony Lee [Thu, 16 Jul 2015 02:25:58 +0000 (19:25 -0700)]
Fix 3PAR driver handling of existing VLUNs

Changes the 3PAR FC and iSCSI drivers to check for existing
VLUNs by taking into consideration both the volume and the host
when querying the backend.

Also pulled out some common code from the FC and iSCSI driver
to reduce duplicate code relating to the finding of existing
VLUNs.

Closes-Bug: #1475064
Change-Id: Id8fbdb5ae79274fb3d074f674df39f56db06f34d

9 years agoscality: add export and name keys to os-initialize_connection info
Matt Riedemann [Thu, 16 Jul 2015 20:51:23 +0000 (13:51 -0700)]
scality: add export and name keys to os-initialize_connection info

Nova is standardizing on some of the common code for file system type
volume drivers in blueprint consolidate-libvirt-fs-volume-drivers and
expects the 'export' and 'name' keys to be in connection_info['data']
returned from the os-initialize_connection Cinder API.

The Scality volume driver wasn't providing these keys so those are added
here.

Related Nova change: I7db834956c67383e63be2fe2c465118e00273e4b

Closes-Bug: #1475419

Change-Id: I73938c51ac147dca5cf39765768f4ac078bf5e63

9 years agoMerge "Report capability of multiattach for FlashSystem"
Jenkins [Thu, 16 Jul 2015 20:06:07 +0000 (20:06 +0000)]
Merge "Report capability of multiattach for FlashSystem"

9 years agoMerge "Raise HTTP exception for backup not found"
Jenkins [Thu, 16 Jul 2015 19:46:54 +0000 (19:46 +0000)]
Merge "Raise HTTP exception for backup not found"

9 years agoMerge "Dell SC: Add support for ManageableVD"
Jenkins [Wed, 15 Jul 2015 21:08:35 +0000 (21:08 +0000)]
Merge "Dell SC: Add support for ManageableVD"

9 years agoReport capability of multiattach for FlashSystem
Jinru Yan [Thu, 9 Jul 2015 01:30:45 +0000 (09:30 +0800)]
Report capability of multiattach for FlashSystem

This patch enables the multiattach capability reporting in
_update_volume_stats. This will allow nova to attach and detach
a volume to multiple virtual machine instances.

Change-Id: Ie66850c954168612dd1c17c14e75cd64c0c6d1e7
Implements: blueprint ibm-flashsystem-multiattach

9 years agoHandle volume not found on zfssa volume delete
John Griffith [Tue, 7 Jul 2015 22:26:21 +0000 (16:26 -0600)]
Handle volume not found on zfssa volume delete

The zfssa driver doesn't handle cases where a volume may not
exist on the backend when a delete call is sent.  The result
is a stack-trace in the logs, sometimes a crash of the service
and an inability to clean up volumes from Cinder's perspective.

This patch doesn't address the root cause of the issue, but
it does handle the case more gracefully by catching the
exception, logging an error and returning.

This way the volume can be cleaned up on the Cinder side and
the operator still has an indication that something went wrong.
This is a common pattern for most of the drivers in Cinder.

Change-Id: I09725b29effb79450d010949527bd54329919f52
Closes-Bug: #1472412

9 years agoRaise HTTP exception for backup not found
Vipin Balachandran [Wed, 15 Jul 2015 08:51:46 +0000 (14:21 +0530)]
Raise HTTP exception for backup not found

If backup cannot be found while resetting its status, Cinder
exception (BackupNotFound) is raised instead of HTTP exception.
This patch handles the BackupNotFound exception and raises
HTTPNotFound exception.

APIImpact
HTTPNotFound exception (404) is raised instead of BackupNotFound
if backup cannot be found during backup reset-status.

Change-Id: I5a41c71a83c05d09c6d1e2e506adca6cfbe3e890
Closes-Bug: #1474748

9 years agoMerge "VMEM v6000: Fix export verify routines"
Jenkins [Wed, 15 Jul 2015 03:11:04 +0000 (03:11 +0000)]
Merge "VMEM v6000: Fix export verify routines"

9 years agoMerge "Cleanup unused method fake_get_target"
Jenkins [Wed, 15 Jul 2015 02:02:44 +0000 (02:02 +0000)]
Merge "Cleanup unused method fake_get_target"

9 years agoMerge "Remove useless logging from unit tests"
Jenkins [Wed, 15 Jul 2015 00:23:57 +0000 (00:23 +0000)]
Merge "Remove useless logging from unit tests"

9 years agoMerge "Preserve mock side_effect’s in test_pure"
Jenkins [Wed, 15 Jul 2015 00:11:59 +0000 (00:11 +0000)]
Merge "Preserve mock side_effect’s in test_pure"

9 years agoMerge "Add support for force-delete backups"
Jenkins [Tue, 14 Jul 2015 18:21:07 +0000 (18:21 +0000)]
Merge "Add support for force-delete backups"

9 years agoMerge "Add ability to override OpenStack privileged user auth url"
Jenkins [Tue, 14 Jul 2015 18:17:40 +0000 (18:17 +0000)]
Merge "Add ability to override OpenStack privileged user auth url"

9 years agoMerge "StorPool: clean up the last uses of str.format()"
Jenkins [Tue, 14 Jul 2015 17:42:16 +0000 (17:42 +0000)]
Merge "StorPool: clean up the last uses of str.format()"

9 years agoMerge "Fix saving tz aware datetimes in Versioned Objects"
Jenkins [Tue, 14 Jul 2015 15:58:13 +0000 (15:58 +0000)]
Merge "Fix saving tz aware datetimes in Versioned Objects"

9 years agoRemove obsolete API from documentation
Ivan Kolodyazhny [Tue, 14 Jul 2015 15:24:29 +0000 (18:24 +0300)]
Remove obsolete API from documentation

Cinder doesn't support EC2 API and doesn't contain cinder.api.ec2
module.
Also references to cinder.api.openstack.auth and cinder.api.cloud were
removed too.

Change-Id: I30f71cf541d93d3ab68780328e2dea6ebd326b63

9 years agoAdd white list support for target ports in VNX driver
peter_wang [Tue, 30 Jun 2015 02:56:40 +0000 (22:56 -0400)]
Add white list support for target ports in VNX driver

Currently, VNX cinder driver registers host initiator to all
configured iSCSI/FC ports on array and chooses ports from
all available ports to return in initialize_connection.

By introducing a new driver option io_port_list:
1. driver will only register initiator to ports in io_port_list
2. driver will only return ports in io_port_list from initialize_connection

Change-Id: Ie64eceb73bc0d70076033a29295c3efc57f34db4
Closes-Bug: 1470003

9 years agoMerge "Removing archaic references"
Jenkins [Mon, 13 Jul 2015 23:37:32 +0000 (23:37 +0000)]
Merge "Removing archaic references"

9 years agoMerge "Storwize_svc_npiv_compatibility_mode default value change"
Jenkins [Mon, 13 Jul 2015 22:14:37 +0000 (22:14 +0000)]
Merge "Storwize_svc_npiv_compatibility_mode default value change"

9 years agoMerge "Fix HBSD horcm driver with oslo.concurrency 2.1.0"
Jenkins [Mon, 13 Jul 2015 21:52:46 +0000 (21:52 +0000)]
Merge "Fix HBSD horcm driver with oslo.concurrency 2.1.0"

9 years agoPreserve mock side_effect’s in test_pure
Patrick East [Mon, 13 Jul 2015 20:42:46 +0000 (13:42 -0700)]
Preserve mock side_effect’s in test_pure

The helper method to test if exceptions are propagated or handled would
unset the mock objects side_effect value when its done. This overrides
the original value making the mock not behave as expected as soon as it
is passed into assert_error_propagates.

This changes the helper to store the original side effect and then put
it back once we are done making it throw an exception.

Change-Id: I71900071a1c050913b7283aa743a17c24da1a6b9
Closes-Bug: #1474130

9 years agoMerge "Updated from global requirements"
Jenkins [Mon, 13 Jul 2015 21:07:38 +0000 (21:07 +0000)]
Merge "Updated from global requirements"

9 years agoMerge "cinder list fails with 'name' sort key"
Jenkins [Mon, 13 Jul 2015 20:28:51 +0000 (20:28 +0000)]
Merge "cinder list fails with 'name' sort key"

9 years agoMerge "NetApp ONTAP: Add debug tracing"
Jenkins [Mon, 13 Jul 2015 20:25:50 +0000 (20:25 +0000)]
Merge "NetApp ONTAP: Add debug tracing"

9 years agoStorPool: clean up the last uses of str.format()
Peter Penchev [Fri, 12 Jun 2015 07:41:52 +0000 (10:41 +0300)]
StorPool: clean up the last uses of str.format()

Replace three logging uses of str.format() with parameters passed
directly to LOG.error(), simplifying them in the process by
avoiding the need to call six.text_type() ourselves.

Replace the remaining use with string concatenation.

Suggested by: Sean McGinnis in review 188725
Change-Id: Ie53c394d7f31fa1dccfa4ed5c4b514539c77aa05

9 years agoRemoving archaic references
David Medberry [Sat, 20 Jun 2015 12:34:35 +0000 (06:34 -0600)]
Removing archaic references

This document was originally imported from Nova. Removing some of the
old references to Quickstart and Hypervisors.

http://docs.openstack.org/developer/cinder/devref/development.environment.html
has a dangling link to a ../quickstart document (removed long ago.)

Change-Id: If70f4cb45034e78304cd8c5c5d5deccb692d19e7
Closes-bug: #1225822

9 years agoRemove useless logging from unit tests
Sean McGinnis [Wed, 1 Jul 2015 20:14:57 +0000 (15:14 -0500)]
Remove useless logging from unit tests

It has been discussed that there really isn't much point in having
unit tests making any kind of logger calls. Some usage has already
been cleaned up. This patch removes the remaining instances of log
calls under the cinder/tests directory.

Also cleaned up a lot of cases where the source files would import
oslo_logging and declare a LOG variable which was never actually
used.

Leaving logging in the cinder/tests/unit/integrated tree for now
until a plan is decided as to what to do with all of these type of
tests.

Added hacking check to prevent new instances from slipping by code
reviews.

Change-Id: If177394486d5c92fa5466cd3825b15d30cf5fb18

9 years agoMerge "Remove unused parameter in PureFCDriver _connect"
Jenkins [Mon, 13 Jul 2015 15:52:03 +0000 (15:52 +0000)]
Merge "Remove unused parameter in PureFCDriver _connect"

9 years agoMerge "set/unset volume image metadata"
Jenkins [Mon, 13 Jul 2015 14:32:15 +0000 (14:32 +0000)]
Merge "set/unset volume image metadata"

9 years agocinder list fails with 'name' sort key
Kuo-tung Kao [Mon, 6 Jul 2015 06:40:07 +0000 (14:40 +0800)]
cinder list fails with 'name' sort key

Change sort key from `name` to `display_name` if the key, `name` exists.

Change-Id: I9e285c7de2e860b251f881ab82d8d2d93e1191d2
Closes-Bug: #1404020

9 years agoStorwize_svc_npiv_compatibility_mode default value change
xqli-openstack [Mon, 6 Jul 2015 12:02:46 +0000 (05:02 -0700)]
Storwize_svc_npiv_compatibility_mode default value change

IBM cinder config item storwize_svc_npiv_compatibility_mode
should always be set to True. Mark it as deprecated and remove
it in M release.

Closes-Bug: 1471749

Change-Id: I2de183b2a86e034d7939e7aa39ee2672320c9add

9 years agoRemove unused parameter in PureFCDriver _connect
Patrick East [Mon, 13 Jul 2015 03:21:19 +0000 (20:21 -0700)]
Remove unused parameter in PureFCDriver _connect

The ‘initiator_data’ parameter is unused and can safely be removed.

Change-Id: I6b9c8b7b87a75fc15400d141c8b16c5f9a364953
Closes-Bug: #1473822

9 years agoMerge "Fix not implemented wording in update_migrated_volume"
Jenkins [Mon, 13 Jul 2015 03:04:52 +0000 (03:04 +0000)]
Merge "Fix not implemented wording in update_migrated_volume"

9 years agoCleanup unused method fake_get_target
Kenji Yasui [Fri, 10 Jul 2015 05:02:23 +0000 (05:02 +0000)]
Cleanup unused method fake_get_target

This method has not been used since the change
I43190d1dac33748fe55fa00f260f32ab209be656
which removes the callers of fake_get_target()

Closes-Bug: #1473338
Change-Id: Ib94d9d3a5d3fd99885ab18cd2efc0730720e8c3f

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Sun, 12 Jul 2015 15:17:16 +0000 (15:17 +0000)]
Updated from global requirements

Change-Id: I4549af0e48c9b43b18ec9dafb8abff394d9d2fa7

9 years agoFix saving tz aware datetimes in Versioned Objects
Gorka Eguileor [Fri, 26 Jun 2015 14:05:04 +0000 (16:05 +0200)]
Fix saving tz aware datetimes in Versioned Objects

Currently we cannot save date fields in Versioned Objects because they
are timezone aware and our database is not.

If we look at our objects definition, we are not giving any value to
tzinfo_aware argument, so it takes DateTime default value (True).

In our sqlalchemy model definitions we are defining our datetime fields
as Column(DateTime) which will take sqlalchemy default: class
sqlalchemy.types.DateTime(timezone=False)

In most cases we are accessing those fields directly through the DB
methods, so we don't see the problem, but if we were to modify any of
those fields using versioned object, for example scheduled_at, and then
save the object we'll get an exception:

 File ".../sqlalchemy/sql/type_api.py", line 278, in compare_values
 return x == y
 TypeError: can't compare offset-naive and offset-aware datetimes

Because we are trying to save a timezone aware date to a timezone
unaware DB field.

Following Dan's advice we create a specific cinder_obj_get_changes,
instead of overwriting obj_get_changes, that returns all datefields as
timezone naive UTC datetimes ready for saving.

Change-Id: Ie7b0249e3f6850e7c70d23fc53cfaf27fe04afbb
Closes-Bug: #1469120

9 years agoMerge "Improve 3PAR driver VLUN creation and deletion"
Jenkins [Sun, 12 Jul 2015 05:22:10 +0000 (05:22 +0000)]
Merge "Improve 3PAR driver VLUN creation and deletion"

9 years agoMerge "Remove hacking check N327"
Jenkins [Sun, 12 Jul 2015 05:12:43 +0000 (05:12 +0000)]
Merge "Remove hacking check N327"

9 years agoset/unset volume image metadata
Dave Chen [Fri, 16 Jan 2015 09:59:18 +0000 (17:59 +0800)]
set/unset volume image metadata

This patch implements:
- Create, delete, update APIs for modifying volume image metadata.
- Refactoring in the volume API to accommodate both user and
  image metadata.
- All of the necessary testcases needed for the changes.

DocImpact
APIImpact
Partially implements: bp support-modify-volume-image-metadata
Change-Id: I22792ef7bd49c763d7c130aa8cac9abc3fff2d4c

9 years agoMerge "Fix NetApp cDOT driver use of Glance locations"
Jenkins [Sat, 11 Jul 2015 01:40:56 +0000 (01:40 +0000)]
Merge "Fix NetApp cDOT driver use of Glance locations"

9 years agoFix not implemented wording in update_migrated_volume
Jay S. Bryant [Fri, 10 Jul 2015 21:38:15 +0000 (16:38 -0500)]
Fix not implemented wording in update_migrated_volume

It was recommended in review https://review.openstack.org/#/c/180873
that the message sent to the NotImplementedError exception be reworded.
The recommendation was made late in the review process and was not
corrected.  This patch implements the recommendation.

Change-Id: I1b0356c7b9d7e493c8501ce388ca4bc855b1e517

9 years agoAdd support for force-delete backups
wanghao [Fri, 20 Mar 2015 07:51:57 +0000 (15:51 +0800)]
Add support for force-delete backups

1. Add _get and _delete method to BackupAdminController.
2. Add force=False arg to delete method in backup api.
3. If force=True, then allow the deletion of backup, which
can be in any state.
4. For chunkeddriver based backup, check the status of backup
from DB in backup loop, if it has changed to deleting, set the
flag is_backup_canceled and clear the data to avoid leaving orphan
object in the object store.
5. Add the flag: support_force_delete=False in BackupDriver. That
indicates if the backup driver supports force deletion.
It should be set to True if the driver that inherits from BackupDriver
supports the force deletion function.
6. If the backup driver doesn't support this feature, and it will return
405 when calling API of force delete.

DocImpact
APIImpact
Add os-force_delete in request body:
*POST /v2/{tenant_id}/backups/{id}/action
{
  "os-force_delete": {}
}
Implements: blueprint support-force-delete-backup

Change-Id: Ia4d36520d2a092730cd1be56e338349e383f9e6b

9 years agoImprove 3PAR driver VLUN creation and deletion
Anthony Lee [Fri, 26 Jun 2015 17:38:33 +0000 (10:38 -0700)]
Improve 3PAR driver VLUN creation and deletion

This patch improves the creation and deletion logic for VLUNs
for the 3PAR drivers. The changes will help to prevent VLUNs
from being left behind after volume detaches. It also prevents
extra VLUNs being created when initialize_connection is called
multiple times for the same volume and host.

Closes-Bug: #1469816
Change-Id: I497564cb4bd661252570eb2e69962f7d5f3c07da

9 years agoRemove hacking check N327
Eric Harney [Fri, 10 Jul 2015 14:25:50 +0000 (10:25 -0400)]
Remove hacking check N327

With mock 1.1.0+, mock will fail when nonexistent
methods are called, so this check is no longer
necessary.

Related-Bug: #1473454

Change-Id: I9cb8b4a5eab78e51728aa8f83668f5979c0b9be1

9 years agoFix tests failing in gate
Gorka Eguileor [Fri, 10 Jul 2015 11:20:16 +0000 (13:20 +0200)]
Fix tests failing in gate

gate-cinder-python27 gate-cinder-python34 is reporting failures where it
wasn't before. This is all due to new mock version 1.1.0.  This patch
fixed the tests to pass the gate.

Some of these errors are actual errors in our test code, while other are
changes to Mock syntax.

Closes-Bug: #1473454
Change-Id: If8eabfeacacc221e92dfece9f4937875bd70751e

9 years agoSupport SMI-S provider v8.0.3 in VMAX driver
Xing Yang [Fri, 19 Jun 2015 13:47:59 +0000 (09:47 -0400)]
Support SMI-S provider v8.0.3 in VMAX driver

This patch made changes in the VMAX driver to support
interface changes in SMI-S provider v8.0.3.

* Accommodate System Name prefix change from 'SYMMETRIX+' to
  'SYMMETRIX-+-'.
* Delete composite volume - changed from using
  ReturnElementsToStoragePool to EMCReturnToStoragePool.
* Extend volume - removed InPool parameter from EMCUnBindElements
  method.
* Create snapshot/clone with multi meta members -
  EMC_PartialAllocOfConcreteExtentCIM was deprecated;
  used 'GetCompositeElements' instead and changed how we get meta
  members' capacities.
* Create CG snapshot - A new WaitForCopyState parameter was added.
* Added helper function to determine SMI-S provider and SE version
  Note: SMI-S provider is bundled with SE (Solutions Enabler) and
  they have the same version number starting from v8.0.
  The EMC SMI-S Provider supports the SNIA Storage Management Initiative
  (SMI), an ANSI standard for storage management. It supports the VMAX
  storage system. SE is a software product that discovers and manages
  VMAX storage system.

Closes-Bug: #1463217
Change-Id: Ia6333396a8111f110f540c367e5018cfad6e93e4

9 years agoAdd ability to override OpenStack privileged user auth url
Mathieu Gagné [Thu, 9 Jul 2015 16:13:19 +0000 (12:13 -0400)]
Add ability to override OpenStack privileged user auth url

Introduce os_privileged_user_auth_url config to give the ability
to override the auth_url used when authenticating
the OpenStack privileged user and bypass use of catalog found in token.

DocImpact: New os_privileged_user_auth_url config
Closes-bug: #1473206
Change-Id: I4ffca8df0eb38fe41264439ae5bb93e025c808ff

9 years agoMerge "Add missing argument to delete_keys method"
Jenkins [Thu, 9 Jul 2015 20:12:05 +0000 (20:12 +0000)]
Merge "Add missing argument to delete_keys method"

9 years agoVMEM v6000: Fix export verify routines
Ryan Lucio [Thu, 12 Mar 2015 23:12:10 +0000 (16:12 -0700)]
VMEM v6000: Fix export verify routines

New 'state' nodes in vmos6 are reflecting the kernel/system state
indicating lun accessibility on the data plane.  The nodes used
previously were only reflecting success on the mgmt plane, meaning
that the routines were sometimes returning before the target/export
was actually available for client use.

Also, switch to using one global iscsi target group (backend
container that groups target IPs) to avoid a backend export bug
exposed by the changes mentioned above.

Change-Id: I1cd296d6d02562e1eb7374df736b2649fe2692a2
Closes-Bug: #1430014

9 years agoMerge "Set encrypted key in connection_info during initialize"
Jenkins [Thu, 9 Jul 2015 18:35:51 +0000 (18:35 +0000)]
Merge "Set encrypted key in connection_info during initialize"

9 years agoMerge "GlusterFS: support extending a volume that has snapshots"
Jenkins [Thu, 9 Jul 2015 15:58:12 +0000 (15:58 +0000)]
Merge "GlusterFS: support extending a volume that has snapshots"

9 years agoMerge "Storwize Driver zone removing"
Jenkins [Thu, 9 Jul 2015 05:26:20 +0000 (05:26 +0000)]
Merge "Storwize Driver zone removing"

9 years agoMerge "Nested Quota: Set default values to subproject"
Jenkins [Wed, 8 Jul 2015 22:16:21 +0000 (22:16 +0000)]
Merge "Nested Quota: Set default values to subproject"

9 years agoMerge "Validate outermost request body element name consistently"
Jenkins [Wed, 8 Jul 2015 19:38:10 +0000 (19:38 +0000)]
Merge "Validate outermost request body element name consistently"

9 years agoSet encrypted key in connection_info during initialize
Matt Riedemann [Fri, 19 Jun 2015 18:25:43 +0000 (11:25 -0700)]
Set encrypted key in connection_info during initialize

There are encrypted volume tests in Tempest which are passing
in the ceph job but the encryption providers in nova (luks and
cryptsetup) are not actually being called in nova because the
'encrypted' key isn't being set in connection_info for the Rbd
volume driver, and nova is keying off that value to determine
if it needs to run it's encryption providers.

So the tests are passing in the ceph job but it's a total false
positive and the API should actually fail - either the cinder
API to create the encrypted volumes if the Rbd volume driver in
Cinder doesn't support encryption, or the volume attach call in
nova if it can't encrypt the connected volume, either way the
test should fail until that support is baked into nova.

I'm not aware of any kind of 'supports_encryption' or 'encryptable'
capability flag for cinder volume drivers, but that might be
needed for the volume create API to fail if trying to create a
volume from an encrypted volume type where the volume driver
itself doesn't support encryption - but maybe it's only a nova
problem since nova has the encryption providers.

This is fixed generically in the VolumeManager's
initialize_connection method where we check for the encrypted
flag being set in the volume driver method and if not, the
manager sets it based on the volume.encryption_key_id value.
We do this globally since there are other volume drivers besides
rbd that aren't setting the encrypted key in connection_info,
but we test rbd in the gate via the ceph job so most of the
bug tracking is around validation of the ceph job.

Related Nova change: I8efc2628b09d4e9e59831353daa080b20e17ccde

Depends-On: I8548d41095513b9e669f773e3f35353e9228ead9

DocImpact: Attaching 'encrypted' RBD volumes to a Nova server
           instance created from the libvirt virt driver will fail
           since RBD volume encryption is not currently supported in
           Nova's libvirt driver.

Closes-Bug: #1440227
Related-Bug: #1463525

Change-Id: I03f8cae05cc117e14f7482115de685fc9f3fa54a

9 years agoNested Quota: Set default values to subproject
Vilobh Meshram [Mon, 22 Jun 2015 21:45:02 +0000 (14:45 -0700)]
Nested Quota: Set default values to subproject

In case of hierarchical projects set the default value
(for resources who have the resource flag set) for a
sub-project to zero. This patch adds this functionality for
hierarchical projects, while keeping the functionality
intact for non-hierarchical project. At the top level,
project resources will get the default values as imposed
by the "default" class settings.

Co-Authored-By: Erickson Santos <erickson@lsd.ufcg.edu.br>
Change-Id: I3b357464d5e5e0aa065506ac1e9d908e87f45c63
Partially-Implements: bp cinder-nested-quota-driver

9 years agoDell SC: Add support for ManageableVD
Tom Swanson [Wed, 8 Jul 2015 15:46:09 +0000 (10:46 -0500)]
Dell SC: Add support for ManageableVD

Added support for the ManageableVD volume driver class. This also
meant the driver changed from inheriting the volumedriver class to
inheriting the assorted *VD classes.

A few things about our ManageableVD support. We only allow management
of a volume if it is sized in multiples of 1GB. We only allow
management of volumes that are not currently mapped to a server on the
Storage Center. id-types of source-id (DeviceId on the Storage Center)
and source-name (Volume Name on the Storage Center) are supported.

Change-Id: Iecc93ce1654111e1292cfc1931d1eda4abd08595

9 years agoFix NetApp cDOT driver use of Glance locations
Bob Callaway [Fri, 8 May 2015 19:33:41 +0000 (12:33 -0700)]
Fix NetApp cDOT driver use of Glance locations

As of Kilo, Glance returns a list of locations associated with an
image, but the NetApp cDOT driver only operated on the first one.
In addition, Glance has started enforcing a schema on the metadata
that can be added to images stored in the file glance_store. This
change modifies the cDOT driver to iterate through the list of
locations, using the correct schema-compliant fields, and uses the
first one with a valid IP address for our backend for optimizing
the copy of images into Cinder volumes.

Co-authored-by: Tom Barron <tbarron@dyncloud.net>
Closes-Bug: #1461116

Change-Id: Ia788aea5110b74833c6a0594f26c9727e06fd87e

9 years agoMerge "Scality SOFS: enhance how the remoteFS mount is detected"
Jenkins [Wed, 8 Jul 2015 13:48:44 +0000 (13:48 +0000)]
Merge "Scality SOFS: enhance how the remoteFS mount is detected"

9 years agoMerge "Add tracing facility for drivers"
Jenkins [Wed, 8 Jul 2015 13:41:55 +0000 (13:41 +0000)]
Merge "Add tracing facility for drivers"

9 years agoMerge "Fix missing pool name in consistency group"
Jenkins [Wed, 8 Jul 2015 03:53:30 +0000 (03:53 +0000)]
Merge "Fix missing pool name in consistency group"

9 years agoMerge "Correct overquota error message"
Jenkins [Wed, 8 Jul 2015 03:26:53 +0000 (03:26 +0000)]
Merge "Correct overquota error message"

9 years agoMerge "Validate maximum limit for quota"
Jenkins [Wed, 8 Jul 2015 02:16:49 +0000 (02:16 +0000)]
Merge "Validate maximum limit for quota"

9 years agoMerge "RemoteFS: Reporting configured reserved_percentage in _update_volume_stats"
Jenkins [Wed, 8 Jul 2015 02:16:38 +0000 (02:16 +0000)]
Merge "RemoteFS: Reporting configured reserved_percentage in _update_volume_stats"

9 years agoMerge "Dell SC: Add support for consistency groups"
Jenkins [Wed, 8 Jul 2015 02:07:45 +0000 (02:07 +0000)]
Merge "Dell SC: Add support for consistency groups"

9 years agoMerge "Port NetApp E-Series iSCSI driver to ABC model"
Jenkins [Wed, 8 Jul 2015 02:07:23 +0000 (02:07 +0000)]
Merge "Port NetApp E-Series iSCSI driver to ABC model"

9 years agoMerge "Port huawei driver to Python 3"
Jenkins [Wed, 8 Jul 2015 02:06:53 +0000 (02:06 +0000)]
Merge "Port huawei driver to Python 3"

9 years agoMerge "Fix error message in Pure driver with correct text"
Jenkins [Wed, 8 Jul 2015 02:06:43 +0000 (02:06 +0000)]
Merge "Fix error message in Pure driver with correct text"

9 years agoFix missing pool name in consistency group
Walter A. Boring IV [Tue, 7 Jul 2015 21:34:18 +0000 (14:34 -0700)]
Fix missing pool name in consistency group

This patch makes sure that the entire host is used
in the consistency group host entry.  Previously,
whatever host entry was in the database was being
overwritten by the volume manager's self.host entry,
which doesn't contain a pool.

Change-Id: Ib377429f9cb442b5aaeb2338dd36b6e33f49a41c
Closes-Bug: 1472344

9 years agoMerge "Return 404 if volume type encryption is not found"
Jenkins [Tue, 7 Jul 2015 20:09:59 +0000 (20:09 +0000)]
Merge "Return 404 if volume type encryption is not found"

9 years agoNetApp ONTAP: Add debug tracing
Alex Meade [Mon, 6 Jul 2015 14:18:18 +0000 (10:18 -0400)]
NetApp ONTAP: Add debug tracing

Add debug tracing to the NetApp ONTAP drivers using the
utils.trace_method and utils.trace_api decorators. This
is enabled in the driver via the 'trace_flags' configuration
option.

Change-Id: I7a50b06af28d9dfee83ac44e0ba9dd8233151e2f

9 years agoAdd tracing facility for drivers
Alex Meade [Mon, 6 Jul 2015 14:17:43 +0000 (10:17 -0400)]
Add tracing facility for drivers

It is useful for engineering to be able to see the API traffic
to and from the storage controllers, as well as to see the
progression of method calls through the driver.

This work will add a simple config option to enable various
debug tracing types to be written to the debug log at runtime.
Use of the decorator has been added to NetApp drivers.

Drivers can make use of this facility by adding the
@cinder.utils.trace_method decorator to any method
calls they would like to allow tracing for or use trace_flags
for any other developer targeted debug logs. The trace_method
decorator can easily be added to every function of a class by
using the cinder.utils.TraceWrapperMetaclass or
cinder.utils.TraceWrapperWithABCMetaclass metaclasses. It is
advised to use the added decorators as the outer most decorator
for a function in order to avoid side-effects with other
decorators.

The @cinder.utils.trace_api method should be used to log
requests to storage backends by wrapping a method that
has the request as an argument and returns the response.

For example:
@six.add_metaclass(cinder.utils.TraceWrapperMetaclass)
class MyClass(object):
    pass

DocImpact
Change-Id: Ib9b9d3f40a272bb9c7ebccd1dc63df68a555eac5

9 years agoFix error message in Pure driver with correct text
Simon Dodsley [Tue, 7 Jul 2015 14:06:37 +0000 (10:06 -0400)]
Fix error message in Pure driver with correct text

The error message was specifically mentioning the PureISCSIDriver but
now there is a PureFCDriver which could call the error message. This
change gets the name of the driver and uses that to ensure
the error message refers to the correct driver.

Closes-Bug: #1469523
Change-Id: Ib724073ea352dadfbe7ddcf4ee4ceedd5d2c7c41

9 years agoMerge "Notify the transfer volume action in cinder"
Jenkins [Tue, 7 Jul 2015 14:26:08 +0000 (14:26 +0000)]
Merge "Notify the transfer volume action in cinder"

9 years agoNotify the transfer volume action in cinder
wanghao [Tue, 26 May 2015 07:32:42 +0000 (15:32 +0800)]
Notify the transfer volume action in cinder

Now when we transfer a volume, there is not corresponding action
notification that is sent to ceilometer. Include the actions of create,
accept and delete.

The bp that this patch implements, proposes adding those action to enrich
the notification in cinder.

Notify is added in Create, Accept, and Delete actions.

Change-Id: I9d71c55d103cc501f60585b64902d364af21d4d9
Implements:  blueprint notify-the-transfer-volume-action-in-cinder

9 years agoMerge "Avoid race condition at snapshot deletion stage"
Jenkins [Tue, 7 Jul 2015 04:31:44 +0000 (04:31 +0000)]
Merge "Avoid race condition at snapshot deletion stage"

9 years agoStorwize Driver zone removing
TaoBai [Tue, 30 Jun 2015 07:03:38 +0000 (00:03 -0700)]
Storwize Driver zone removing

Storwize driver may remove zone even when the zone is still in use
by an attached volume. To fix this issue, we need only report initiator
and target map when there are no volumes attached.

Closes-Bug: 1468913

Change-Id: I075b8d37d4d312ae6d812b41bb3732f20987a72d

9 years agoMerge "Remove duplicate volume.filters entry"
Jenkins [Mon, 6 Jul 2015 22:35:19 +0000 (22:35 +0000)]
Merge "Remove duplicate volume.filters entry"

9 years agoDell SC: Add support for consistency groups
tswanson [Mon, 29 Jun 2015 19:21:45 +0000 (14:21 -0500)]
Dell SC: Add support for consistency groups

Added support for consistency groups. Associated tests added to
test_dellsc.py and test_dellscapi.py. create_consistency_group_from_src
is not implemented in this patch.

Minor change to iscsi driver inheritance.

Change-Id: I485329883ba35b341f1b3e79897e5fe6680de1f3
Implements: blueprint dell-add-consistency-groups

9 years agoMerge "Validate bool value using strutils.bool_from_string method"
Jenkins [Mon, 6 Jul 2015 18:47:45 +0000 (18:47 +0000)]
Merge "Validate bool value using strutils.bool_from_string method"

9 years agoMerge "Add unit tests for the capacity filter"
Jenkins [Mon, 6 Jul 2015 18:47:13 +0000 (18:47 +0000)]
Merge "Add unit tests for the capacity filter"

9 years agoMerge "Remove X-IO volume driver"
Jenkins [Mon, 6 Jul 2015 18:47:02 +0000 (18:47 +0000)]
Merge "Remove X-IO volume driver"

9 years agoMerge "Separate FlashSystem FC and iSCSI common code"
Jenkins [Mon, 6 Jul 2015 18:44:34 +0000 (18:44 +0000)]
Merge "Separate FlashSystem FC and iSCSI common code"

9 years agoMerge "Port hitachi driver to Python 3"
Jenkins [Mon, 6 Jul 2015 18:44:23 +0000 (18:44 +0000)]
Merge "Port hitachi driver to Python 3"

9 years agoRemove duplicate volume.filters entry
Sean Chen [Fri, 5 Jun 2015 19:29:44 +0000 (12:29 -0700)]
Remove duplicate volume.filters entry

mv has already been added by gpfs driver

Change-Id: I1cac9088e377b4cf8a44a5a25174ea68cbe900d4

9 years agoMerge "Port test_db_api to Python 3"
Jenkins [Mon, 6 Jul 2015 17:46:00 +0000 (17:46 +0000)]
Merge "Port test_db_api to Python 3"

9 years agoMerge "Mock socket.gethostbyaddr in test_v7000_fcp"
Jenkins [Mon, 6 Jul 2015 17:10:28 +0000 (17:10 +0000)]
Merge "Mock socket.gethostbyaddr in test_v7000_fcp"

9 years agoMerge "Do not allow to modify access for public volume type"
Jenkins [Mon, 6 Jul 2015 17:10:16 +0000 (17:10 +0000)]
Merge "Do not allow to modify access for public volume type"