]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
8 years agoAdd SIGHUP handlers to reset RPC version pins
Michał Dulko [Fri, 5 Feb 2016 14:41:01 +0000 (15:41 +0100)]
Add SIGHUP handlers to reset RPC version pins

Adding SIGHUP handlers (by implementing reset from oslo.service) to
cinder-scheduler, cinder-backup and cinder-volume that reset cached RPC
version pins. This is to avoid the need to restart all the services when
upgrade of the deployment is completed.

Some changes go a little deep into the stack, because to reload all the
pins we need to recreate <service>.rpcapi.<service>API objects that are
stored in the memory.

Please note that SIGHUP signal is handled by oslo.service only when
service runs in daemon mode (without tty attached). To test this commit
in DevStack you need to add "&" to the end of the command that starts
the service.

Situation is more complicated with the API service, so we're leaving it
with restart required for now. In the deployments with HA cinder-api is
typically behind a load balancer, so restarting individual nodes
one-by-one should be easy.

DocImpact: Add information on rolling upgrades procedures to the docs.
Implements: blueprint rpc-object-compatibility

Change-Id: I03ed74e17dc9a4b9aa2ddcfbeb36a106a0f035f8

8 years agoMerge "Coho volume stats update"
Jenkins [Fri, 19 Feb 2016 04:06:35 +0000 (04:06 +0000)]
Merge "Coho volume stats update"

8 years agoMerge "Roll back reservations quota in RPC if necessary"
Jenkins [Fri, 19 Feb 2016 00:24:49 +0000 (00:24 +0000)]
Merge "Roll back reservations quota in RPC if necessary"

8 years agoMerge "Rtstool sets wrong exception message on save"
Jenkins [Fri, 19 Feb 2016 00:21:57 +0000 (00:21 +0000)]
Merge "Rtstool sets wrong exception message on save"

8 years agoMerge "Scaling backup service"
Jenkins [Thu, 18 Feb 2016 18:54:26 +0000 (18:54 +0000)]
Merge "Scaling backup service"

8 years agoMerge "Delete unuseful code in Huawei driver"
Jenkins [Thu, 18 Feb 2016 14:24:31 +0000 (14:24 +0000)]
Merge "Delete unuseful code in Huawei driver"

8 years agoRtstool sets wrong exception message on save
Gorka Eguileor [Thu, 18 Feb 2016 12:51:40 +0000 (13:51 +0100)]
Rtstool sets wrong exception message on save

Rtstool does not properly set the message on the RtstoolError exception
on the save_to_file method (save operation) because it's passing
formatting arguments as if it were a LOG call instead of formatting
those same arguments with
%.

There are 2 cases where this can happen, when saving to the default
location on a system that has no target.service installed and the
creation of the default directory fails, and when saving the file
actually fails.

This patch properly formats the message before passing it to the
instantiation of RtstoolError exception.

Change-Id: I13492f695dc0a63a616325bcd0893b2f908cf9fe
Closes-Bug: #1547008

8 years agoMerge "Add restore_volume_id in backup"
Jenkins [Thu, 18 Feb 2016 10:41:52 +0000 (10:41 +0000)]
Merge "Add restore_volume_id in backup"

8 years agoMerge "Profiler: make it possible to run without loading osprofiler"
Jenkins [Wed, 17 Feb 2016 20:03:12 +0000 (20:03 +0000)]
Merge "Profiler: make it possible to run without loading osprofiler"

8 years agoMerge "EMC VMAX - necessary updates for CG changes"
Jenkins [Wed, 17 Feb 2016 18:20:20 +0000 (18:20 +0000)]
Merge "EMC VMAX - necessary updates for CG changes"

8 years agoMerge "Remove Cisco FC Zone Manager Driver"
Jenkins [Wed, 17 Feb 2016 18:18:03 +0000 (18:18 +0000)]
Merge "Remove Cisco FC Zone Manager Driver"

8 years agoRevert changes to use ostestr
Ivan Kolodyazhny [Wed, 17 Feb 2016 14:04:40 +0000 (16:04 +0200)]
Revert changes to use ostestr

ostestr has more user-friendly output including lists of all and failed
tests.

Change-Id: I1f715a5688d702aaf8489928a1b0a39093caa5da

8 years agoMerge "Cleanup unused conf variables"
Jenkins [Wed, 17 Feb 2016 01:58:45 +0000 (01:58 +0000)]
Merge "Cleanup unused conf variables"

8 years agoMerge "Storwize/SVC: Volume manage using source-name"
Jenkins [Wed, 17 Feb 2016 01:39:41 +0000 (01:39 +0000)]
Merge "Storwize/SVC: Volume manage using source-name"

8 years agoMerge "Dell: Failed vol create could leave dead volumes"
Jenkins [Wed, 17 Feb 2016 00:24:44 +0000 (00:24 +0000)]
Merge "Dell: Failed vol create could leave dead volumes"

8 years agoMerge "Port API v1 and v2 to Python 3"
Jenkins [Tue, 16 Feb 2016 19:24:21 +0000 (19:24 +0000)]
Merge "Port API v1 and v2 to Python 3"

8 years agoMerge "Port API contribs to Python 3"
Jenkins [Tue, 16 Feb 2016 19:22:33 +0000 (19:22 +0000)]
Merge "Port API contribs to Python 3"

8 years agoDell: Failed vol create could leave dead volumes
Tom Swanson [Mon, 15 Feb 2016 17:42:34 +0000 (11:42 -0600)]
Dell: Failed vol create could leave dead volumes

Added _cleanup_failed_create_volume which tries to delete any
partially created volumes.

Change-Id: I1f2f549b364a013b713e193591d08b9e9376569e
Closes-Bug: 1546161

8 years agoMerge "Disable Rally backup-related scenarios"
Jenkins [Tue, 16 Feb 2016 14:39:48 +0000 (14:39 +0000)]
Merge "Disable Rally backup-related scenarios"

8 years agoRoll back reservations quota in RPC if necessary
Nate Potter [Mon, 4 Jan 2016 23:10:19 +0000 (23:10 +0000)]
Roll back reservations quota in RPC if necessary

Currently the latest version of the volume rpcapi passes along
old_reservations in retype whereas older versions do not. In the
case where old_reservations aren't passed, they will be checked again
in c-vol. This patch rolls back the quotas that were checked for
old_reservations if the client can't send the latest version in
the RPCAPI so that they aren't reserved twice.

This is an amendment to this recently merged patch:
Iba24edd8ad824837028353b52c90742df55c9173

Closes-Bug: 1546089
Related-bug: 1508249
Change-Id: I54b39f367b8552ed5e932c71265432e7cf72c073

8 years agoMerge "Move integrated tests to 'functional' directory"
Jenkins [Tue, 16 Feb 2016 10:51:30 +0000 (10:51 +0000)]
Merge "Move integrated tests to 'functional' directory"

8 years agoScaling backup service
LisaLi [Wed, 30 Dec 2015 07:03:10 +0000 (15:03 +0800)]
Scaling backup service

Currently the cinder backup service is tightly coupled to the cinder
volume service in ways that prevent scaling out backup services
horizontally across multiple physical nodes.

This patch is to loosen this coupling to enable backup processes
to run on multiple nodes without having to be colocated with volume
services.

The following works are not included in this patch:
1. Remote attach snapshot.
2. Vendor specific work.
3. Remove current backup_volume in driver.
4. Rolling upgrades.

DocImpact
Change-Id: I743e676372703e74178c79683dd622d530981e04
Partial-Implements: bp scalable-backup-service
Co-Authored-By: Tom Barron <tpb@dyncloud.net>
8 years agoDelete unuseful code in Huawei driver
huyang [Tue, 16 Feb 2016 01:04:19 +0000 (09:04 +0800)]
Delete unuseful code in Huawei driver

In Huawei driver, "get_remote_device_info" is
unused. So delete it.

Change-Id: Ia13405d1b62f022a8410e10bc07455d02085d3d0
Closes-Bug: #1545894

8 years agoCleanup unused conf variables
Michael Still [Tue, 16 Feb 2016 00:24:43 +0000 (11:24 +1100)]
Cleanup unused conf variables

I noticed in nova that we had a lot of unused conf variables. I
wondered if this was a thing in other projects as well. Turns out
it is.

Change-Id: I2424e32dd4ad61881d9b6a0449e12937ea8151e0

8 years agoMerge "Profiler: don't call trace_cls if profiler is not enabled"
Jenkins [Mon, 15 Feb 2016 23:52:05 +0000 (23:52 +0000)]
Merge "Profiler: don't call trace_cls if profiler is not enabled"

8 years agoMerge "py3: Fix usage of JSON in API contrib"
Jenkins [Mon, 15 Feb 2016 23:41:31 +0000 (23:41 +0000)]
Merge "py3: Fix usage of JSON in API contrib"

8 years agoMerge "Add missing requirements"
Jenkins [Mon, 15 Feb 2016 23:30:12 +0000 (23:30 +0000)]
Merge "Add missing requirements"

8 years agoMerge "Tests: Set volume listen port to test_service_listen_port"
Jenkins [Mon, 15 Feb 2016 19:56:22 +0000 (19:56 +0000)]
Merge "Tests: Set volume listen port to test_service_listen_port"

8 years agoMerge "Sheepdog: Fix malformed image url format"
Jenkins [Mon, 15 Feb 2016 19:13:00 +0000 (19:13 +0000)]
Merge "Sheepdog: Fix malformed image url format"

8 years agoMerge "Port utils.safe_minidom_parse_string() to Python 3"
Jenkins [Mon, 15 Feb 2016 19:05:22 +0000 (19:05 +0000)]
Merge "Port utils.safe_minidom_parse_string() to Python 3"

8 years agoMerge "Support for consistency groups in ScaleIO driver"
Jenkins [Mon, 15 Feb 2016 18:55:41 +0000 (18:55 +0000)]
Merge "Support for consistency groups in ScaleIO driver"

8 years agoDisable Rally backup-related scenarios
Ivan Kolodyazhny [Mon, 15 Feb 2016 18:44:52 +0000 (20:44 +0200)]
Disable Rally backup-related scenarios

Backup tests failed on gates due to the configuration
or Rally issue. Let's skip them until bug #1543987 will
be fixed.

Change-Id: Ic99531dad4fab5e22e295e19bbfa94c782212d2c
Related-Bug: #1543987

8 years agoMerge "Huawei: Implement v2 replication (managed)"
Jenkins [Mon, 15 Feb 2016 17:59:28 +0000 (17:59 +0000)]
Merge "Huawei: Implement v2 replication (managed)"

8 years agoMerge "RBD: use versioned objects"
Jenkins [Mon, 15 Feb 2016 17:14:20 +0000 (17:14 +0000)]
Merge "RBD: use versioned objects"

8 years agoMerge "Updated from global requirements"
Jenkins [Mon, 15 Feb 2016 17:00:24 +0000 (17:00 +0000)]
Merge "Updated from global requirements"

8 years agoMerge "Fix 'asert' typo in unit test"
Jenkins [Mon, 15 Feb 2016 16:42:22 +0000 (16:42 +0000)]
Merge "Fix 'asert' typo in unit test"

8 years agoPort API v1 and v2 to Python 3
Victor Stinner [Tue, 9 Feb 2016 13:36:45 +0000 (14:36 +0100)]
Port API v1 and v2 to Python 3

* Replace jsonutils.dumps() with jsonutils.dump_as_bytes() since
  output is used for the HTTP body, and HTTP body type is bytes, not
  Unicode. On Python 3, jsonutils.dumps() returns Unicode.
* FakeHttplibSocket: replace io.StringIO with io.BytesIO, HTTP body
  type is bytes. Encode Unicode to UTF-8.
* Fix FakeHttplibSocket.makefile() API: only the first parameter is
  mandatory. On Python 3, it's only called with the first 'mode'
  parameter.
* Use bytes strings to test HTTP bodies (JSON or XML).
* Replace dict.values() with list(dict.values()) to get a list on
  Python 3.
* Replace error.message with encodeutils.exception_to_unicode(error),
  exceptions loose their message attribute in Python 3.
* Update JSON serializer test in test_wsgi.py to use bytes.
* tests-py3.txt: add cinder.tests.unit.api.v1 and
  cinder.tests.unit.api.v2

Partial-Implements: blueprint cinder-python3
Change-Id: I0f0048f4a1344feaa3434cbf7ebd31e3f12d6ae4

8 years agoPort API contribs to Python 3
Victor Stinner [Tue, 9 Feb 2016 17:40:21 +0000 (18:40 +0100)]
Port API contribs to Python 3

* Replace dict.iteritems() with dict.items(), dict.iteritems() was
  removed in Python 3.
* Replace dict.values() with list(dict.values()) to get a list on
  Python 3.
* HTTP body type must be bytes:

  - Fix unit tests to use bytes strings for HTTP body
  - Encode XML to UTF-8 on Python 3.

* Use "%r" instead of "%s" to format request and response in test to
  avoid BytesWarning on Python 3.
* tests-py3.txt: add cinder.tests.unit.api.contrib

Partial-Implements: blueprint cinder-python3
Change-Id: I65e412b2897635db5c8dfe13d61e71c52e0603e7

8 years agoCoho volume stats update
Bardia Keyoumarsi [Fri, 12 Feb 2016 20:06:25 +0000 (12:06 -0800)]
Coho volume stats update

Return better driver volume statistics.

Change-Id: I643922703f993d4a65ba01afa0b2680a23456e77

8 years agoSheepdog: Fix malformed image url format
YAMADA Hideki [Mon, 15 Feb 2016 08:49:45 +0000 (08:49 +0000)]
Sheepdog: Fix malformed image url format

The image url format is defined in glance_store as
"sheepdog://addr:port:image".

Change-Id: I71f3e4bf75dd6fdfd77ab8bf2afcd43e0eba2d44
Closes-Bug: 1545603
Signed-off-by: YAMADA Hideki <yamada.hideki@lab.ntt.co.jp>
8 years agoMerge "Log stack trace for middleware faults"
Jenkins [Mon, 15 Feb 2016 07:16:34 +0000 (07:16 +0000)]
Merge "Log stack trace for middleware faults"

8 years agoMerge "Don't use Mock.called_once_with that does not exist"
Jenkins [Mon, 15 Feb 2016 07:15:11 +0000 (07:15 +0000)]
Merge "Don't use Mock.called_once_with that does not exist"

8 years agoAdd restore_volume_id in backup
LisaLi [Thu, 24 Dec 2015 03:16:26 +0000 (11:16 +0800)]
Add restore_volume_id in backup

This patch is to add restore_volume_id in backup object.
When restoring a volume from a backup, it saves the
volume in backup object.

Currently volume service and backup service are in same host.
When backup service starts, it does cleanup tasks on both
backups and volumes on current host.

But with bp scalable-backup-service, backup service and
volume services can run on different hosts. When doing cleanup
tasks, we need to find out backing-up and restoring volumes
related to the backups on current host. Backing-up volumes can
be found with field backup.volume_id. Restoring volumes are found
by new field backup.restore_volume_id.

Change-Id: I757be7a5e47fc366c181400587b5a61fe3709a0b
Partial-Implements: bp scalable-backup-service
Co-Authored-By: Tom Barron <tpb@dyncloud.net>
8 years agoUpdated from global requirements
OpenStack Proposal Bot [Sun, 14 Feb 2016 23:06:38 +0000 (23:06 +0000)]
Updated from global requirements

Change-Id: I55bcdd350571a96e5bdefb5a820fe84a633f63cf

8 years agoMerge "Fix dynamic import of CONF.volume_api_class"
Jenkins [Sun, 14 Feb 2016 16:51:08 +0000 (16:51 +0000)]
Merge "Fix dynamic import of CONF.volume_api_class"

8 years agoMerge "Update db in CGSnapshot create"
Jenkins [Sun, 14 Feb 2016 16:50:24 +0000 (16:50 +0000)]
Merge "Update db in CGSnapshot create"

8 years agoSupport for consistency groups in ScaleIO driver
Matan Sabag [Mon, 18 Jan 2016 14:35:25 +0000 (06:35 -0800)]
Support for consistency groups in ScaleIO driver

Add support for all consistency groups functionalities
in ScaleIO driver.
Also fixed a small mistake in a test regarding deleting a snapshot.

DocImpact
Implements: blueprint scaleio-consistency-groups
Change-Id: Id8b52aeb546f9f5fa68b98a4e59bd3f12e78bbef

8 years agoFix 'asert' typo in unit test
Tom Barron [Fri, 12 Feb 2016 16:48:16 +0000 (11:48 -0500)]
Fix 'asert' typo in unit test

The dellscapi unit tests contain two occurences of an
apparent typo, 'mock_get_volume_list.asert_called_once_with'.
Because mock will magically create an 'asert_called_once_with'
method, this typo masks a problem with the test_manage_unmanage
test where the wrong set of arguments is expected.

This commit substitutes 'assert' for 'asert' in these occurences
and fixes up the test_manage_unmanage test.

Change-Id: I0f1b370ef61b28a46ab48d40595c79ec13e359f8

8 years agoFix dynamic import of CONF.volume_api_class
Cory Stone [Mon, 8 Feb 2016 17:22:59 +0000 (11:22 -0600)]
Fix dynamic import of CONF.volume_api_class

Modifies the import to actually happen when API() is called instead of
when the module is loaded.

This is necessary because CONF.volume_api_class is always evaluated as
the default value since the config file hadn't been parsed yet when the
module is loaded.

Nova fixed this problem a while ago for the compute driver in
https://review.openstack.org/#/c/14353/.

Change-Id: I4c3d6b4300298ad0ac4e40a7a1a815cbf88bb151
Closes-Bug: #1543219

8 years agoManage/unmanage volume in ScaleIO driver
Xing Yang [Sun, 22 Nov 2015 03:19:12 +0000 (22:19 -0500)]
Manage/unmanage volume in ScaleIO driver

Add support for manage/unmanage volume in the ScaleIO driver.

Also fixed an error code for volume not found.

DocImpact
Implements: blueprint scaleio-manage-existing
Closes-Bug: #1545023
Change-Id: I14ad94905aaa7ea2bef7c75011a40c5d057e1cc0

8 years agoMerge "XtremIO: FC initialize connection failed"
Jenkins [Fri, 12 Feb 2016 06:00:24 +0000 (06:00 +0000)]
Merge "XtremIO: FC initialize connection failed"

8 years agoDon't use Mock.called_once_with that does not exist
Javeme [Thu, 11 Feb 2016 12:09:41 +0000 (20:09 +0800)]
Don't use Mock.called_once_with that does not exist

class mock.Mock does not exist method called_once_with, it just exists
method assert_called_once_with. Currently there are still ome places
where we use called_once_with method, this patch let's correct it.

NOTE: called_once_with() does nothing because it's a mock object.

Closes-Bug: #1544522
Change-Id: Iac7c029a1cc66439f43d441bc6d0832686536961

8 years agoMerge "Tests: Fix calls to non-existent assert methods"
Jenkins [Fri, 12 Feb 2016 00:04:57 +0000 (00:04 +0000)]
Merge "Tests: Fix calls to non-existent assert methods"

8 years agoMerge "Add variable QoS to NetApp cDOT drivers"
Jenkins [Fri, 12 Feb 2016 00:04:27 +0000 (00:04 +0000)]
Merge "Add variable QoS to NetApp cDOT drivers"

8 years agoMerge "3PAR: Create consistency group from source CG"
Jenkins [Thu, 11 Feb 2016 23:47:32 +0000 (23:47 +0000)]
Merge "3PAR: Create consistency group from source CG"

8 years agoMerge "Fix image volume creation error"
Jenkins [Thu, 11 Feb 2016 23:42:42 +0000 (23:42 +0000)]
Merge "Fix image volume creation error"

8 years agoEMC VMAX - necessary updates for CG changes
Helen Walsh [Fri, 15 Jan 2016 15:27:11 +0000 (15:27 +0000)]
EMC VMAX - necessary updates for CG changes

Some of the stubs for the Consistency Group functionality
have changed to remove the db object.  As a consequence the
VMAX implementation for these operations needs to be
changed.

Change-Id: I6c1e56c31e02f25d30689a272f92fafd59e17f70
Closes-Bug: #1534616

8 years agoMerge "Support ZeroMQ messaging driver in cinder"
Jenkins [Thu, 11 Feb 2016 20:26:30 +0000 (20:26 +0000)]
Merge "Support ZeroMQ messaging driver in cinder"

8 years agoRBD: use versioned objects
Jon Bernard [Tue, 9 Feb 2016 22:46:53 +0000 (17:46 -0500)]
RBD: use versioned objects

Change-Id: I4dff418ccdbd364c327b35ce78421271877bbf4e

8 years agoTests: Fix calls to non-existent assert methods
Eric Harney [Thu, 11 Feb 2016 15:51:46 +0000 (10:51 -0500)]
Tests: Fix calls to non-existent assert methods

These tests currently aren't asserting anything.

Related-Bug: #1544522

Change-Id: Ic051ca411abcb8bb62b7897292c89c5c9e552599

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Thu, 11 Feb 2016 07:38:36 +0000 (07:38 +0000)]
Updated from global requirements

Change-Id: Ie88abfa5849ef315daf77b0f423dc44515f9e7d8

8 years agoMerge "XtremIO add support for create CG from CG src"
Jenkins [Thu, 11 Feb 2016 06:37:04 +0000 (06:37 +0000)]
Merge "XtremIO add support for create CG from CG src"

8 years agoMerge "Storwize: Implement v2 replication"
Jenkins [Thu, 11 Feb 2016 06:36:05 +0000 (06:36 +0000)]
Merge "Storwize: Implement v2 replication"

8 years agoMerge "VMware: optimize in get_cluster_refs"
Jenkins [Thu, 11 Feb 2016 06:35:38 +0000 (06:35 +0000)]
Merge "VMware: optimize in get_cluster_refs"

8 years agoMerge "Remove 'external=True' in Huawei driver"
Jenkins [Thu, 11 Feb 2016 06:35:12 +0000 (06:35 +0000)]
Merge "Remove 'external=True' in Huawei driver"

8 years agoMerge "Return updated volume type after updating"
Jenkins [Thu, 11 Feb 2016 06:34:46 +0000 (06:34 +0000)]
Merge "Return updated volume type after updating"

8 years agoMerge "Replace exit() by sys.exit()"
Jenkins [Thu, 11 Feb 2016 06:25:36 +0000 (06:25 +0000)]
Merge "Replace exit() by sys.exit()"

8 years agoMerge "Cleanup in backup reset status"
Jenkins [Thu, 11 Feb 2016 06:25:13 +0000 (06:25 +0000)]
Merge "Cleanup in backup reset status"

8 years agoMerge "Remove access_mode 'rw' setting in drivers"
Jenkins [Thu, 11 Feb 2016 06:14:44 +0000 (06:14 +0000)]
Merge "Remove access_mode 'rw' setting in drivers"

8 years agoMerge "Correct opt type for nexenta_chunksize/blocksize"
Jenkins [Thu, 11 Feb 2016 06:14:22 +0000 (06:14 +0000)]
Merge "Correct opt type for nexenta_chunksize/blocksize"

8 years agoMerge "EMC VMAX - Method not being called for V3"
Jenkins [Thu, 11 Feb 2016 02:03:37 +0000 (02:03 +0000)]
Merge "EMC VMAX - Method not being called for V3"

8 years agoMerge "Remove old client version checks from 3PAR driver"
Jenkins [Wed, 10 Feb 2016 23:16:08 +0000 (23:16 +0000)]
Merge "Remove old client version checks from 3PAR driver"

8 years agoMerge "Wrap the method to calculate virtual free capacity"
Jenkins [Wed, 10 Feb 2016 22:11:59 +0000 (22:11 +0000)]
Merge "Wrap the method to calculate virtual free capacity"

8 years agoProfiler: make it possible to run without loading osprofiler
Eric Harney [Wed, 10 Feb 2016 19:27:49 +0000 (14:27 -0500)]
Profiler: make it possible to run without loading osprofiler

This makes it possible to run Cinder without having
osprofiler installed.  This is primarily to make it easier
to debug issues and ensure that osprofiler is not
introducing problems when debugging CI failures.

Note that this requires disabling osprofiler in api-paste.ini
as well.

Related-Bug: #1541996
Change-Id: If00451524b87b949a2d5888a1157184f64cd0d59

8 years agoProfiler: don't call trace_cls if profiler is not enabled
Eric Harney [Wed, 10 Feb 2016 19:16:17 +0000 (14:16 -0500)]
Profiler: don't call trace_cls if profiler is not enabled

If the profiler is disabled, don't call methods to setup
tracing.

Change-Id: I5573eab9458946c1cb2fc49792de2c64b5967cd2

8 years agoTests: Set volume listen port to test_service_listen_port
Eric Harney [Wed, 10 Feb 2016 20:10:48 +0000 (15:10 -0500)]
Tests: Set volume listen port to test_service_listen_port

These tests can fail with an error binding to port 8776.
Using the same setting used by other tests allows these
to work reliably.

Change-Id: I64cc8a6e1cfc5fbae253d81d35b5edd1a03887ac

8 years agoMerge "Added osprofiler headers to cors middleware"
Jenkins [Wed, 10 Feb 2016 19:57:25 +0000 (19:57 +0000)]
Merge "Added osprofiler headers to cors middleware"

8 years agoMerge "HNAS driver: retry on Connection reset fix"
Jenkins [Wed, 10 Feb 2016 19:41:52 +0000 (19:41 +0000)]
Merge "HNAS driver: retry on Connection reset fix"

8 years agoRemove Cisco FC Zone Manager Driver
Sean McGinnis [Wed, 10 Feb 2016 04:13:19 +0000 (22:13 -0600)]
Remove Cisco FC Zone Manager Driver

After many attempts to get a Cisco CI running to validate the Cisco FCZM
driver over a few releases there is still no official third party CI
reporting. This was covered for some time due to the support of it being
covered by another CI, but that is no longer the case.

We can't include drivers that do not have test coverage and no report of
whether it is working as expected. Until there is test coverage, we will
need to remove this driver due to lack of CI.

DocImpact: Remove Cisci FCZM documentation

Change-Id: Idb7dfea74ce248d8f1209c55b62412be4f2e16e9

8 years agoAdd variable QoS to NetApp cDOT drivers
Clinton Knight [Mon, 11 Jan 2016 21:13:03 +0000 (16:13 -0500)]
Add variable QoS to NetApp cDOT drivers

Most QoS implementations involve fixed limits, such as maxIOPS
or maxBPS.  But there are clouds that offer QoS limits that are
partly based on capacity of the underlying resource.  This commit
adds two new QoS flags to the NetApp cDOT drivers, maxIOPSperGiB
and maxBPSperGiB, which implement this capability.  A light
refactor of the snapshot delete paths was required to separate
those from the volume delete paths, since only the latter should
involve the QoS logic.

Implements: blueprint add-variable-qos-to-netapp-cdot-drivers
Change-Id: I357b87fa3a2856553c71c7f5f37e9f82ff44f6f2

8 years agoMerge "Zfssaiscsi driver should return target_lun as int"
Jenkins [Tue, 9 Feb 2016 21:54:23 +0000 (21:54 +0000)]
Merge "Zfssaiscsi driver should return target_lun as int"

8 years agoMove integrated tests to 'functional' directory
Ivan Kolodyazhny [Thu, 14 Jan 2016 20:20:56 +0000 (22:20 +0200)]
Move integrated tests to 'functional' directory

Functional unit tests should not be a part of unit
tests job. This patch adds new tox environment to run
functional tests:
    $ tox -e functional

It also removes logging from functional tests. Some of log calls were
replaced with asserts.

Related Implements: blueprint cinder-integrated-tests

Change-Id: I0ebfef2fe05f502cd5fb08fbc8af09008949e457

8 years agoMerge "hacking: Fix false positive in C302 check"
Jenkins [Tue, 9 Feb 2016 20:25:02 +0000 (20:25 +0000)]
Merge "hacking: Fix false positive in C302 check"

8 years agoMerge "Move wsgi to oslo_service.wsgi"
Jenkins [Tue, 9 Feb 2016 20:24:35 +0000 (20:24 +0000)]
Merge "Move wsgi to oslo_service.wsgi"

8 years agoMerge "DRBD: Fix arguments for resize_volume DBus API call."
Jenkins [Tue, 9 Feb 2016 19:35:02 +0000 (19:35 +0000)]
Merge "DRBD: Fix arguments for resize_volume DBus API call."

8 years agoMerge "Port backup drivers to Python 3"
Jenkins [Tue, 9 Feb 2016 19:34:38 +0000 (19:34 +0000)]
Merge "Port backup drivers to Python 3"

8 years agoMerge "Adds support for configuring zoning in a virtual fabric"
Jenkins [Tue, 9 Feb 2016 19:33:16 +0000 (19:33 +0000)]
Merge "Adds support for configuring zoning in a virtual fabric"

8 years agoMerge "Added Keystone and RequestID headers to CORS middleware"
Jenkins [Tue, 9 Feb 2016 19:31:11 +0000 (19:31 +0000)]
Merge "Added Keystone and RequestID headers to CORS middleware"

8 years agopy3: Fix usage of JSON in API contrib
Victor Stinner [Tue, 9 Feb 2016 17:38:11 +0000 (18:38 +0100)]
py3: Fix usage of JSON in API contrib

Replace json.dumps() and jsonutils.dumps() with
jsonutils.dump_as_bytes() to get bytes on Python 3. The result is
used as HTTP body, and the body type must be bytes.

Replace also json.loads() with jsonutils.loads().

Partial-Implements: blueprint cinder-python3
Change-Id: I3d3a18f2013b42dc2d8d7b90f32f50756513d668

8 years agoPort utils.safe_minidom_parse_string() to Python 3
Victor Stinner [Tue, 9 Feb 2016 16:54:02 +0000 (17:54 +0100)]
Port utils.safe_minidom_parse_string() to Python 3

Partial-Implements: blueprint cinder-python3
Change-Id: I3ef021d808f5d3963db286d755f7a38cd00ea1fe

8 years agoLog stack trace for middleware faults
Eric Harney [Tue, 9 Feb 2016 16:57:32 +0000 (11:57 -0500)]
Log stack trace for middleware faults

If an error occurs in the middleware layer,
such as an exception generated by keystoneclient,
there is no stack trace provided, leaving the
issue difficult to debug.

Log a stack trace here with LOG.exception instead.

Change-Id: I7bc7c74e8b701fac351572a3bb9d934c7f67d425

8 years agoMerge "Volume create fails with FakeISCSIDriver"
Jenkins [Tue, 9 Feb 2016 16:07:53 +0000 (16:07 +0000)]
Merge "Volume create fails with FakeISCSIDriver"

8 years agoMerge "Support cinder_img_volume_type in image metadata"
Jenkins [Tue, 9 Feb 2016 14:24:31 +0000 (14:24 +0000)]
Merge "Support cinder_img_volume_type in image metadata"

8 years agohacking: Fix false positive in C302 check
Victor Stinner [Tue, 9 Feb 2016 13:56:51 +0000 (14:56 +0100)]
hacking: Fix false positive in C302 check

Use a regular expression to search for "unicode(" instead of a static
string to not complain to "exception_to_unicode(error)".

Change-Id: I0a969b184054f287cef463bbcb980bfb4a0a6803

8 years agoPort backup drivers to Python 3
Victor Stinner [Tue, 9 Feb 2016 10:47:31 +0000 (11:47 +0100)]
Port backup drivers to Python 3

* PosixBackupDriver: open file in binary mode (to read/write).
  Update test_backup_posix.py for that.
* test_backup_nfs: buffer() doesn't exist and is no more needed on
  Python 3, only use buffer() on Python 2.
* tests-py3.txt: add cinder.tests.unit.backup

Partial-Implements: blueprint cinder-python3
Change-Id: I250d7378547df474f3c78024a737a3e2fa9bbaf4

8 years agoMerge "ScaleIO QoS Support"
Jenkins [Tue, 9 Feb 2016 03:56:04 +0000 (03:56 +0000)]
Merge "ScaleIO QoS Support"

8 years agoMerge "Port objects unit tests to Python 3"
Jenkins [Tue, 9 Feb 2016 03:29:14 +0000 (03:29 +0000)]
Merge "Port objects unit tests to Python 3"

8 years agoStorwize: Implement v2 replication
Vincent Hou [Tue, 2 Feb 2016 19:20:02 +0000 (14:20 -0500)]
Storwize: Implement v2 replication

Storwize supports three major types for volume replications:
split IO, global mirror and metro mirror.

This patch is dedicated to implement the replication for
the modes of global mirror and metro mirror. Mirror
establishes a Global/Metro Mirror relationship between
two volumes of equal size. The volumes in a Mirror
relationship are referred to as the primary volume and
the replica volume. The replication_mode in
replication_device must be set to global or metro.

The volume type needs to associate with the extra spec
with 'replication_enabled' equaling to "<is> True", and
'replication_type' equaling to '<in> global' or '<in>
metro'.

What is supported with replication:
* create volume
* create volume from snapshot
* clone a volume
When a volume is created and replication is enabled, the
replica volume is also created on the back-end enabled
for replicas.

What is not supported with replication yet:
* volume migration
* volume retype
The replica volume will not be created or moved after migration
or retype of a replicated volume. Admins should be aware,
when migrating or retyping a volume to a type with replication
enabled, that the replica will not be automatically created.

The replication can be configured via either multi-backend
on one cinder volume node, or on separate cinder volume
nodes.

Options to be put in cinder.conf, where the primary back-end
is located:

enabled_backends = sv1, sv2 (if enabling multi-backends)

[sv1]
san_login = admin
san_password = admin
san_ip = 192.168.0.11
volume_driver = cinder.volume.drivers.ibm.storwize_svc.\
                StorwizeSVCDriver
volume_backend_name = sv1
storwize_svc_volpool_name=cinder
replication_device = managed_backend_name:second_host@sv2#sv2,
                     replication_mode:global,
                     target_device_id:svc_id_target,
                     san_ip:192.168.0.12,san_login:admin,
                     san_password:admin,pool_name:cinder_target

Options to be put in cinder.conf, where the secondary
back-end is connected:

[sv2]
san_login = admin
san_password = admin
san_ip = 192.168.0.12
volume_driver = cinder.volume.drivers.ibm.storwize_svc.\
                StorwizeSVCDriver
volume_backend_name = sv2
storwize_svc_volpool_name=cinder_target

Partial-implements: blueprint ibm-storwize-v2-replication
DocImpact

Change-Id: I2ad5be69b2814d3b974c963828585fa15446d772

8 years agoMerge "IBM XIV/DS8K: Implements Replication V2"
Jenkins [Tue, 9 Feb 2016 01:57:35 +0000 (01:57 +0000)]
Merge "IBM XIV/DS8K: Implements Replication V2"

8 years agoVolume create fails with FakeISCSIDriver
scottda [Mon, 8 Feb 2016 23:59:34 +0000 (16:59 -0700)]
Volume create fails with FakeISCSIDriver

Volume create fails when the FakeISCSIDriver is used, because the
scheduler capacity filter detects that capacity on the fake backend
is zero. Change the total_capacity and free_capacity_gb for the
FakeISCSIDriver from 0 to infinite.

Change-Id: Ifedd483a660aefef89a85e6a55b2c0a5ca50c7d5
Closes-Bug: #1543171