]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
9 years agoMerge "Port API types extra specs to Python 3"
Jenkins [Thu, 15 Oct 2015 21:59:34 +0000 (21:59 +0000)]
Merge "Port API types extra specs to Python 3"

9 years agoMerge "Port API to Python 3"
Jenkins [Thu, 15 Oct 2015 21:15:54 +0000 (21:15 +0000)]
Merge "Port API to Python 3"

9 years agoMerge tag '7.0.0'
OpenStack Proposal Bot [Thu, 15 Oct 2015 12:03:48 +0000 (12:03 +0000)]
Merge tag '7.0.0'

This is a null-merge of the 7.0.0 release tag back into the master
branch so that the 7.0.0 tag will appear in the git commit history of
the master branch. It contains no actual changes to the master branch,
regardless of how our code review system's UI represents it. Please
ask in #openstack-infra if you have any questions, and otherwise try
to merge this as quickly as possible to avoid later conflicts on the
master branch.

Change-Id: Icaa0f7eae22bcd886a5f6867d688ee90ae0a406c

9 years agoMerge "windows: don't use LOG.exception if not logging an exception"
Jenkins [Thu, 15 Oct 2015 02:55:32 +0000 (02:55 +0000)]
Merge "windows: don't use LOG.exception if not logging an exception"

9 years agoMerge "Cleanup/move code in Storwize Driver"
Jenkins [Thu, 15 Oct 2015 00:12:14 +0000 (00:12 +0000)]
Merge "Cleanup/move code in Storwize Driver"

9 years agoMerge "Add backup_swift_auth_url to swift backup driver"
Jenkins [Thu, 15 Oct 2015 00:07:52 +0000 (00:07 +0000)]
Merge "Add backup_swift_auth_url to swift backup driver"

9 years agoMerge "Remove extra register_opts() calls in netapp eseries"
Jenkins [Thu, 15 Oct 2015 00:07:41 +0000 (00:07 +0000)]
Merge "Remove extra register_opts() calls in netapp eseries"

9 years agoMerge "Fix updating only volume type is_public"
Jenkins [Wed, 14 Oct 2015 23:10:56 +0000 (23:10 +0000)]
Merge "Fix updating only volume type is_public"

9 years agoMerge "Update config format for replication_devices"
Jenkins [Wed, 14 Oct 2015 22:16:43 +0000 (22:16 +0000)]
Merge "Update config format for replication_devices"

9 years agoMerge "Use lvm_conf_file directory for LVM_SYSTEM_DIR value."
Jenkins [Wed, 14 Oct 2015 22:01:47 +0000 (22:01 +0000)]
Merge "Use lvm_conf_file directory for LVM_SYSTEM_DIR value."

9 years agoPort API types extra specs to Python 3
Victor Stinner [Wed, 7 Oct 2015 16:41:48 +0000 (18:41 +0200)]
Port API types extra specs to Python 3

* Replace dict.iteritems() with dict.items(). The iteritems() method
  of dictionaries was removed in Python 3.
* Add cinder.tests.unit.api.contrib tests to tests-py3.txt:

  - test_availability_zones
  - test_capabilities
  - test_extended_snapshot_attributes
  - test_hosts
  - test_qos_specs_manage
  - test_quotas
  - test_quotas_classes
  - test_scheduler_stats
  - test_services
  - test_types_extra_specs
  - test_types_manage
  - test_used_limits

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

9 years agoPort API to Python 3
Victor Stinner [Wed, 7 Oct 2015 16:12:48 +0000 (18:12 +0200)]
Port API to Python 3

* test_make_flat_dict(): only use one dictionary key. On Python 3,
  the hash function is now randomized by default and so dictionary
  keys are returned in a random order.
* Replace "not cmp(a, b) == 0" with "a != b"
* test_common: replace range(n) with list(range(n)) to get a list on
  Python 3. On Python 3, range() now returns an iterator.
* Replace dict.items()[0] with list(dict.items()[0]). On Python 3,
  dict.items() now returns a view which is not indexable.
* VolumeTypesController.index(): replace dict.values() with
  list(dict.values()) to get a list on Python 3.
* test_xmlutil: use byte strings for XML
* test_extensions: use byte strings for HTTP body
* Add the following tests to tests-py3.txt:

  - cinder.tests.unit.api.test_common
  - cinder.tests.unit.api.test_extensions
  - cinder.tests.unit.api.test_versions
  - cinder.tests.unit.api.test_xmlutil

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

9 years agoMerge "encryption_api_url requires a version"
Jenkins [Wed, 14 Oct 2015 19:00:10 +0000 (19:00 +0000)]
Merge "encryption_api_url requires a version"

9 years agowindows: don't use LOG.exception if not logging an exception
Matt Riedemann [Mon, 12 Oct 2015 13:44:14 +0000 (06:44 -0700)]
windows: don't use LOG.exception if not logging an exception

There is a bug in python 3.4 such that if you call LOG.exception and
you're not in a logging handler context it fails. That bug is fixed
inadvertantly in python 3.5 under:

http://bugs.python.org/issue17911

This fixes the instance in the windows vhdutils module to use LOG.error
rather than LOG.exception to avoid that logging error.

Since LOG.exception was being used I'm assuming the original author wanted
traceback given this is a utility method, so we use the exc_info kwarg which
will log a traceback if there is one.

Closes-Bug: #1505240

Change-Id: Ib3113f2c4752d37e890f97d259da5d51cbfcfb96

9 years agoMerge "Port WSGI tests to Python 3"
Jenkins [Wed, 14 Oct 2015 04:04:29 +0000 (04:04 +0000)]
Merge "Port WSGI tests to Python 3"

9 years agoMerge "Provide better debug log when 'cinder manage' fails"
Jenkins [Wed, 14 Oct 2015 01:20:23 +0000 (01:20 +0000)]
Merge "Provide better debug log when 'cinder manage' fails"

9 years agoMerge "Move ssh_utils tests to test_ssh_utils"
Jenkins [Wed, 14 Oct 2015 01:20:11 +0000 (01:20 +0000)]
Merge "Move ssh_utils tests to test_ssh_utils"

9 years agoMerge "Fix log formatting for rbd driver"
Jenkins [Tue, 13 Oct 2015 23:27:57 +0000 (23:27 +0000)]
Merge "Fix log formatting for rbd driver"

9 years agoFix updating only volume type is_public
liyingjun [Wed, 9 Sep 2015 01:46:21 +0000 (09:46 +0800)]
Fix updating only volume type is_public

When updating only volume type is_public, error will be raised: `ERROR:
Specify either volume type name and/or description`. Fixed this by
adding a check that is_public is None, the same way name and description
do.

APIImpact
Change-Id: I4b7ece238f76d9acb7f0555c180c6336f6cf1830
Implement blueprint: only-update-volume-type-public
Closes-bug: #1493616

9 years agoencryption_api_url requires a version
Ollie Leahy [Thu, 1 Oct 2015 17:21:52 +0000 (18:21 +0100)]
encryption_api_url requires a version

If the value configured for encryption_api_url does not include the
barbican API version, then some calls from cinder will fail. This can
mean that encrypted volumes cannot be deleted. To prevent this happening
raise an exception if the configured value for encryption_api_url does not
include the barbican version.

Change-Id: I1a4c9b9e93d7d189a3cdf1469e8bb87817473da5
Closes-Bug: #1501780

9 years agoCleanup/move code in Storwize Driver
Jacob Gregor [Thu, 1 Oct 2015 18:52:34 +0000 (13:52 -0500)]
Cleanup/move code in Storwize Driver

This patch updates the name of helper.py to storwize_svc_common.py.
In addition, ssh.py has been collapsed into storwize_svc_common.py
to reduce redundant code. Unit tests were also updated to reflect
these updates.

This patch is the first of a series of patches with the aim of
bringing the storwize_svc driver in line with other san based
Cinder drivers.

Co-Authored By: Kendall Nelson <kjnelson@us.ibm.com>
Co-Authored By: Slade Baumann <baumann@us.ibm.com>

Partially implements: blueprint refactor-storwize-driver-for-mitaka

Change-Id: I7725a008105ae54e49f90c74b32aa11713e983c9

9 years agoPort WSGI tests to Python 3
Victor Stinner [Wed, 7 Oct 2015 15:38:12 +0000 (17:38 +0200)]
Port WSGI tests to Python 3

* Replace dict.keys()[0] with list(data.keys())[0]. On Python 3,
  dict.keys() now returns a view which is not indexable.
* Skip SSL tests on Python 3. Tests hang for an unknown reason, they
  must be fixed later.
* Fix unit tests: HTTP body type is bytes, not Unicode.
* Debug.print_generator(): on Python 3, write into sys.stdout.buffer
  instead of sys.stdout, because HTTP body type is bytes not Unicode.
* ResponseObject: encode serializer output to UTF-8 if it's Unicode.
* tox.ini: add the following tests to Python 3.4

  - cinder.tests.unit.api.openstack.test_wsgi
  - cinder.tests.unit.wsgi

Note: Ignore pylint error E1101 on sys.stdout.buffer. pylint on
Python 2 complains that the buffer attribute doesn't exist, whereas
the code is only executed on Python 3 and the attribute exists on
Python 3.

Related-Bug: #1505103
Partial-Implements: blueprint cinder-python3
Change-Id: I0db0e04010e41be71192a2e4db13829114ad6eef

9 years agoUse lvm_conf_file directory for LVM_SYSTEM_DIR value.
Fergal Mc Carthy [Tue, 22 Sep 2015 21:24:25 +0000 (17:24 -0400)]
Use lvm_conf_file directory for LVM_SYSTEM_DIR value.

Currently when LVM_SYSTEM_DIR is added to LVM.LVM_CMD_PREFIX it is
hardcoded as /etc/cinder.

However the configuration option lvm_conf_file could specify a file
located in an arbitrary directory, not just /etc/cinder, so we should
be using the path to the directory containing the specified lvm.conf
file as the value for LVM_SYSTEM_DIR.

Change-Id: I702fdfb3640ef99255fda0fda4d39d0a80ce9dcc
Closes-Bug: #1498651

9 years agoSquashed commit of WebOb 1.5 and oslo.db fixes
Davanum Srinivas [Wed, 7 Oct 2015 01:45:12 +0000 (18:45 -0700)]
Squashed commit of WebOb 1.5 and oslo.db fixes

Add testresources and testscenarios used by oslo.db fixture

If we use oslo.db fixtures, we'll need these 2 packages or
the next version of oslo.db release will break us.

Closes-Bug: #1503501
Change-Id: I8facdaf69c79b1b1ae4f9f64e9856e12f14440ed
(cherry picked from commit ec40c3b6ddbfa4912ca6e612558efaef6043f3ae)

Fix test_misc for WebOb 1.5

WebOb 1.5 was released at 2015-10-11. With this new version,
webob.exc.WSGIHTTPException() constructor now fails with a KeyError
when the HTTP status code is 0.

test_exceptions_raise() of test_misc tries to instanciate all
exceptions of cinder.exception. The problem is that
ConvertedException uses a default HTTP status code of 0.

Modify the default HTTP status code of ConvertedException to 400 to
fix the unit test. The bug is only in the test,
cinder/api/openstack/wsgi.py copies an existing HTTP code:

    Fault(exception.ConvertedException(code=ex_value.code,  ...)

Closes-Bug: #1505153
Change-Id: I1aec8038774828d48da4b0e831b390e33243809a
(cherry picked from commit 867fccf833ffc597aa986cb6ff1b3b5c1101b9ba)

Change default Exception code to 500

As a part of the fix for LP#1505153, the invalid
response of 0 was changed to 400 to fix a running
issue with the new version of WebOb.

It was pointed out after the fact  however that a
500 might be more appropriate here.

Additionally, other projects have implemented a 500
as the default so for the sake of consistency we should
consider doing the same.

This patch just changes the 400 to a 500 as the default
code.

Conflicts:
        cinder/tests/unit/test_exception.py

NOTE(mriedem): The conflict is due to 17802086f not being
in stable/liberty.

Change-Id: Ie486dc49c927f9b50f07c1fc562e89c090924a40
Closes-Bug: #1505488
(cherry picked from commit 9a7cbe540c94d54194194f4747a52b8211f6372e)

9 years agoChange default Exception code to 500
John Griffith [Tue, 13 Oct 2015 03:44:09 +0000 (21:44 -0600)]
Change default Exception code to 500

As a part of the fix for LP#1505153, the invalid
response of 0 was changed to 400 to fix a running
issue with the new version of WebOb.

It was pointed out after the fact  however that a
500 might be more appropriate here.

Additionally, other projects have implemented a 500
as the default so for the sake of consistency we should
consider doing the same.

This patch just changes the 400 to a 500 as the default
code.

Change-Id: Ie486dc49c927f9b50f07c1fc562e89c090924a40
Closes-Bug: #1505488

9 years agoUpdate config format for replication_devices
John Griffith [Fri, 9 Oct 2015 23:31:15 +0000 (17:31 -0600)]
Update config format for replication_devices

The first pass at setting up config entries for
replication targets was a hacky custom string parser
with its own unique syntax.

A better option is to use oslo.cfg's MultiOpt in conjunction
with Dict types so we can eliminate quite a bit of custom
parsing and most importantly use a standard syntax for conf
entries to make things easy for admins and reduce the
probability of syntax errors and mistakes in config setttings.

Change-Id: Ie300c1f1db548d258906eebbcea8265583086468
Closes-Bug: #1504696

9 years agoMerge "Fix Status-Line in HTTP response"
Jenkins [Tue, 13 Oct 2015 14:14:41 +0000 (14:14 +0000)]
Merge "Fix Status-Line in HTTP response"

9 years agoMerge "Tox fast8: use pep8 env dir"
Jenkins [Tue, 13 Oct 2015 11:43:22 +0000 (11:43 +0000)]
Merge "Tox fast8: use pep8 env dir"

9 years agoFix log formatting for rbd driver
iberezovskiy [Tue, 13 Oct 2015 11:31:35 +0000 (14:31 +0300)]
Fix log formatting for rbd driver

Change-Id: Id2d7d18fa3b91fbbad9c771c9de006f21e43d2ea
Closes-bug: #1505633

9 years agoFix Status-Line in HTTP response
Ivan Kolodyazhny [Tue, 6 Oct 2015 11:52:53 +0000 (14:52 +0300)]
Fix Status-Line in HTTP response

There is a strict rule about constructing status line for HTTP:
'...Status-Line, consisting of the protocol version followed by a
numeric status code and its associated textual phrase, with each
element separated by SP characters'
(http://www.faqs.org/rfcs/rfc2616.html)

This patch coerces filling associated textual phrase.

Also removed unused code from cinder/tests/unit/test_exception.py

Change-Id: Ia9099fb5020cee02bfee2cd0e8e111845918c36c
Closes-Bug: #1496055
Co-Authored-By: Marian Horban <mhorban@mirantis.com>
9 years agoMerge "Improve coverage for snapshot_get_by_host"
Jenkins [Tue, 13 Oct 2015 03:57:17 +0000 (03:57 +0000)]
Merge "Improve coverage for snapshot_get_by_host"

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Tue, 13 Oct 2015 00:49:24 +0000 (00:49 +0000)]
Updated from global requirements

Change-Id: Ie93d63467c5cb5253b16c9f9737897fa4611b86f

9 years agoTox fast8: use pep8 env dir
Eric Harney [Mon, 12 Oct 2015 14:58:48 +0000 (10:58 -0400)]
Tox fast8: use pep8 env dir

This reuses the .tox/pep8 environment rather than
building a separate .tox/fast8 environment for
fast8.

This reduces duplicated install time and disk space.

Change-Id: I230465b28ba3d0f2c3a2ba38011ff9f7d472d719

9 years agoMove ssh_utils tests to test_ssh_utils
Eric Harney [Thu, 1 Oct 2015 14:58:16 +0000 (10:58 -0400)]
Move ssh_utils tests to test_ssh_utils

The code was split from utils.py a bit ago,
should move the tests as well.

Change-Id: Ifff9d3f6eb8d3c1669102c06b040654be139ccd6

9 years agoFix test_misc for WebOb 1.5
Victor Stinner [Mon, 12 Oct 2015 08:35:25 +0000 (10:35 +0200)]
Fix test_misc for WebOb 1.5

WebOb 1.5 was released at 2015-10-11. With this new version,
webob.exc.WSGIHTTPException() constructor now fails with a KeyError
when the HTTP status code is 0.

test_exceptions_raise() of test_misc tries to instanciate all
exceptions of cinder.exception. The problem is that
ConvertedException uses a default HTTP status code of 0.

Modify the default HTTP status code of ConvertedException to 400 to
fix the unit test. The bug is only in the test,
cinder/api/openstack/wsgi.py copies an existing HTTP code:

    Fault(exception.ConvertedException(code=ex_value.code,  ...)

Closes-Bug: #1505153
Change-Id: I1aec8038774828d48da4b0e831b390e33243809a

9 years agoMerge "Convert Retry-After header parameter value to string"
Jenkins [Sun, 11 Oct 2015 20:42:55 +0000 (20:42 +0000)]
Merge "Convert  Retry-After header parameter value to string"

9 years agoMerge "Port violin driver to Python 3"
Jenkins [Sat, 10 Oct 2015 16:03:55 +0000 (16:03 +0000)]
Merge "Port violin driver to Python 3"

9 years agoMerge "Remove unused 'deprecated' option from auth_strategy opt"
Jenkins [Sat, 10 Oct 2015 01:50:28 +0000 (01:50 +0000)]
Merge "Remove unused 'deprecated' option from auth_strategy opt"

9 years agoMerge "Port EMC scaleio to Python 3"
Jenkins [Sat, 10 Oct 2015 00:53:00 +0000 (00:53 +0000)]
Merge "Port EMC scaleio to Python 3"

9 years agoMerge "Fix error string format for replication API calls"
Jenkins [Sat, 10 Oct 2015 00:51:05 +0000 (00:51 +0000)]
Merge "Fix error string format for replication API calls"

9 years agoMerge "Add updated_at into response of listing detail"
Jenkins [Fri, 9 Oct 2015 22:34:42 +0000 (22:34 +0000)]
Merge "Add updated_at into response of listing detail"

9 years agoFix error string format for replication API calls
Alex O'Rourke [Fri, 9 Oct 2015 18:10:38 +0000 (11:10 -0700)]
Fix error string format for replication API calls

enable_replication, disable_replication, and failover_replication all
raise exceptions if the volume they are being called on are not in
valid states. When that is done, the error message is not properly
formatted and looks as such:
"ERROR: Invalid volume: (u'Invalid status to enable replication. valid
states are: %(valid_states)s, current replication-state is:
%(curr_state)s.', {'curr_state': u'enabled', 'valid_states':
['disabled']}) (HTTP 400)"

The reason for this is the msg string is using a ',' instead of a '%'
to evaluate the string. When fixed, the error is displayed correctly:
"ERROR: Invalid volume: Invalid status to enable replication. valid
states are: ['disabled'], current replication-state is: enabled.
(HTTP 400)"

Change-Id: I47dcb0a7688a7d740672a75292e0bf98df1551b2
Closes-Bug: #1504633

9 years agoMerge "Port ceph driver to Python 3"
Jenkins [Fri, 9 Oct 2015 14:18:40 +0000 (14:18 +0000)]
Merge "Port ceph driver to Python 3"

9 years agoMerge "Port IBM flashsystem to Python 3"
Jenkins [Fri, 9 Oct 2015 12:16:17 +0000 (12:16 +0000)]
Merge "Port IBM flashsystem to Python 3"

9 years agoMerge "Port image cache to Python 3"
Jenkins [Fri, 9 Oct 2015 11:32:35 +0000 (11:32 +0000)]
Merge "Port image cache to Python 3"

9 years agoMerge "Add fast format option for thick volume creation"
Jenkins [Fri, 9 Oct 2015 05:57:45 +0000 (05:57 +0000)]
Merge "Add fast format option for thick volume creation"

9 years agoMerge "Verify volume is replication capable"
Jenkins [Fri, 9 Oct 2015 04:36:58 +0000 (04:36 +0000)]
Merge "Verify volume is replication capable"

9 years agoMerge "Retype enhancement for EMC VNX cinder driver"
Jenkins [Fri, 9 Oct 2015 04:36:47 +0000 (04:36 +0000)]
Merge "Retype enhancement for EMC VNX cinder driver"

9 years agoMerge "Handle KeyManager exception when deleting a volume"
Jenkins [Fri, 9 Oct 2015 02:16:06 +0000 (02:16 +0000)]
Merge "Handle KeyManager exception when deleting a volume"

9 years agoMerge "Port targets test_iet_driver to Python 3"
Jenkins [Fri, 9 Oct 2015 01:56:41 +0000 (01:56 +0000)]
Merge "Port targets test_iet_driver to Python 3"

9 years agoMerge "Add insecure option for swift backup"
Jenkins [Fri, 9 Oct 2015 01:51:43 +0000 (01:51 +0000)]
Merge "Add insecure option for swift backup"

9 years agoMerge "Test_backup_swift: Don't leak notifications"
Jenkins [Fri, 9 Oct 2015 00:48:21 +0000 (00:48 +0000)]
Merge "Test_backup_swift: Don't leak notifications"

9 years agoMerge "Fix capacity report error in Huawei driver"
Jenkins [Thu, 8 Oct 2015 22:24:41 +0000 (22:24 +0000)]
Merge "Fix capacity report error in Huawei driver"

9 years agoMerge "Remove references to Swift in chunked driver"
Jenkins [Thu, 8 Oct 2015 22:24:30 +0000 (22:24 +0000)]
Merge "Remove references to Swift in chunked driver"

9 years agoMerge "test_backup_nfs: Set volume id per test"
Jenkins [Thu, 8 Oct 2015 22:24:19 +0000 (22:24 +0000)]
Merge "test_backup_nfs: Set volume id per test"

9 years agoMerge "XtremIO fix remapping bug"
Jenkins [Thu, 8 Oct 2015 22:22:02 +0000 (22:22 +0000)]
Merge "XtremIO fix remapping bug"

9 years agoMerge "Add multi-initiator extra-spec for Nimble driver"
Jenkins [Thu, 8 Oct 2015 22:12:20 +0000 (22:12 +0000)]
Merge "Add multi-initiator extra-spec for Nimble driver"

9 years agoMerge "ScaleIO: Fix protection_domain_id log message at init"
Jenkins [Thu, 8 Oct 2015 22:02:08 +0000 (22:02 +0000)]
Merge "ScaleIO: Fix protection_domain_id log message at init"

9 years agoPort IBM flashsystem to Python 3
Victor Stinner [Wed, 7 Oct 2015 16:02:43 +0000 (18:02 +0200)]
Port IBM flashsystem to Python 3

* Replace dict.keys()[0] with list(dict.keys())[0]. On Python 3,
  dict.keys() now returns a view which is not indexable.
* tests-py3.txt: add cinder.tests.unit.test_ibm_flashsystem

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

9 years agoPort ceph driver to Python 3
Victor Stinner [Wed, 7 Oct 2015 16:07:38 +0000 (18:07 +0200)]
Port ceph driver to Python 3

* Replace xrange() with range(). cinder/volume/utils.py uses
  "from six.moves import range", so "range" is xrange on Python 2.
* Replace '' with b'' for image content to get a bytes string on
  Python 3.

Note: _transfer_data() of cinder.volume.utils is tested by
test_backup_ceph which is already run on Python 3, but the test only
failed with python3 run with -bb. This bug is now fixed.

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

9 years agoProvide better debug log when 'cinder manage' fails
Eric Harney [Thu, 8 Oct 2015 18:46:21 +0000 (14:46 -0400)]
Provide better debug log when 'cinder manage' fails

Change this DEBUG log message from:

  Updating volume: 7fd9a82d-0f11-4d1b-921d-97186a4e2df4 with
  {'status': 'error'} due to: ???

to:

  Updating volume: 7fd9a82d-0f11-4d1b-921d-97186a4e2df4 with
  {'status': 'error'} due to: Volume create failed while
  extracting volume ref.

When a volume manage operation fails here.

The subsequent ERROR log message remains as:
  "Volume <id>: create failed"

Change-Id: I70c343a974926348f5e3b7e0fffbd0b976bc96a2

9 years agoRemove references to Swift in chunked driver
Tom Barron [Thu, 8 Oct 2015 01:10:48 +0000 (21:10 -0400)]
Remove references to Swift in chunked driver

After the chunked/Swift backup driver refactor in commit
2f701a39208f9396893cd8a57165e37cfeb6fc2f
some references to 'Swift' remained in code comments and
log messages in code that no longer lives in the Swift driver
proper.

This commit cleans up those leftovers.

Change-Id: I9c83661ed380cf728c9262d39f89cce0bc341509
Closes-Bug: 1452864

9 years agoMerge "test_backup_swift: Set volume id per test"
Jenkins [Thu, 8 Oct 2015 17:20:04 +0000 (17:20 +0000)]
Merge "test_backup_swift: Set volume id per test"

9 years agoMerge "Port test_srb to Python 3"
Jenkins [Thu, 8 Oct 2015 17:14:54 +0000 (17:14 +0000)]
Merge "Port test_srb to Python 3"

9 years agoMerge "Imported Translations from Zanata"
Jenkins [Thu, 8 Oct 2015 16:08:52 +0000 (16:08 +0000)]
Merge "Imported Translations from Zanata"

9 years agoAdd insecure option for swift backup
Tom Barron [Fri, 2 Oct 2015 20:49:46 +0000 (16:49 -0400)]
Add insecure option for swift backup

When running backups with the swift backup driver and an
https url for the swift endpoint, the config option
backup_swift_ca_cert_file must point to a valid server side
cert.

For test purposes, it is useful to be able to ignore
cert errors while still making a SSL/TLS connection, the way
one can with https:// urls and the curl command and the
swift client itself.

This commit adds a boolean CONFIG option, 'backup_swift_auth_insecure',
whose default value is False, in which case there is no change from
current behavior.  If this option is set to True, however, cert validation
is skipped for SSL/TLS.

DocImpact

Change-Id: I1ca88d8e083d95c2bdb86ae79a4d66e04f521ddb

9 years agoScaleIO: Fix protection_domain_id log message at init
Eric Harney [Thu, 8 Oct 2015 14:21:26 +0000 (10:21 -0400)]
ScaleIO: Fix protection_domain_id log message at init

The log message refers to this setting with the
wrong name.

Change-Id: Icb74861046082689b5b438228fa979fc637c04b1

9 years agoPort test_srb to Python 3
Victor Stinner [Wed, 7 Oct 2015 13:43:05 +0000 (15:43 +0200)]
Port test_srb to Python 3

* Replace itertools.izip() with six.moves.zip()
* Replace (int, long) with six.integer_types
* tests-py3.txt: add cinder.tests.unit.test_srb

Disable pylint on six.moves.zip() because pylint doesn't handle
correctly six.moves, see:
https://bitbucket.org/logilab/pylint/issues/200/

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

9 years agoAdd fast format option for thick volume creation
Xiaoqin Li [Sun, 4 Oct 2015 17:59:37 +0000 (10:59 -0700)]
Add fast format option for thick volume creation

Add option for user to disable fast format at thick
provisioned volume creation in IBM Storwize cinder.
The default value is False and clients who do not want
to do Fast Format for thick volume, they can set this
parameter to True.

DocImpact: Add fast format option
Change-Id: Ib627696b91c336d09de6066ee70ee518fca5a7a9
Closes-Bug: 1502404

9 years agoMerge "Clone cg support in VNX driver"
Jenkins [Thu, 8 Oct 2015 08:40:10 +0000 (08:40 +0000)]
Merge "Clone cg support in VNX driver"

9 years agoMerge "Add device identifier to replication device"
Jenkins [Thu, 8 Oct 2015 08:39:55 +0000 (08:39 +0000)]
Merge "Add device identifier to replication device"

9 years agoMerge "Updated from global requirements"
Jenkins [Thu, 8 Oct 2015 08:17:11 +0000 (08:17 +0000)]
Merge "Updated from global requirements"

9 years agoMerge "Add testresources and testscenarios used by oslo.db fixture"
Jenkins [Thu, 8 Oct 2015 07:54:29 +0000 (07:54 +0000)]
Merge "Add testresources and testscenarios used by oslo.db fixture"

9 years agoImported Translations from Zanata
OpenStack Proposal Bot [Thu, 8 Oct 2015 06:24:23 +0000 (06:24 +0000)]
Imported Translations from Zanata

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I3eba87d4e361efd5b166d106745b9550635c64e4

9 years agoMerge "Fix SolidFire target composition"
Jenkins [Thu, 8 Oct 2015 05:08:56 +0000 (05:08 +0000)]
Merge "Fix SolidFire target composition"

9 years agoMerge "py3: Run unit tests with ostestr on Python 3.4"
Jenkins [Thu, 8 Oct 2015 03:40:50 +0000 (03:40 +0000)]
Merge "py3: Run unit tests with ostestr on Python 3.4"

9 years agoRetype enhancement for EMC VNX cinder driver
Xi Yang [Tue, 1 Sep 2015 10:05:15 +0000 (06:05 -0400)]
Retype enhancement for EMC VNX cinder driver

VNX driver will trigger lun migration when retyping a thin/thick
volume to a compressed volume and it is time-consuming. To enhance
the performance, this patch will directly turn on the compression
on a volume instead of migrating it.

Change-Id: I155272d1130ac0048d226742970e021118f2f123
Closes-Bug: #1495802

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Thu, 8 Oct 2015 00:04:15 +0000 (00:04 +0000)]
Updated from global requirements

Change-Id: Ib3a6740b8729b02d3da725e9847eb292cef5649e

9 years agoVerify volume is replication capable
John Griffith [Tue, 6 Oct 2015 23:15:58 +0000 (17:15 -0600)]
Verify volume is replication capable

The V1 implementation of replication added a replication_status
field to the Volume object and set it to disabled by default on
volume creation.

This is problematic, because there's no way for the API or any
caller to know if the status is disabled because it was
explicitly set that way, or if it is because the back end or
volume-type do not support replication.

This results in cases like enable replication (which does a status
check on disabled) to be called inappropriately on devices that
don't support replication.

This patch adds a decorator to the new replication methods which will
check that the volume is of type with replication_enabled=True before
attempting any replication related operations.

Change-Id: I943be2aef3b7c32026278f311dae9f82194372fe
Closes-Bug: #1503439

9 years agoAdd device identifier to replication device
John Griffith [Wed, 7 Oct 2015 22:49:36 +0000 (16:49 -0600)]
Add device identifier to replication device

One thing that may be needed by some back ends
that are implementing replication is some sort
of back end device identifier.

For managed back ends this shouldn't be an issue
but for unmanaged, it's handy to have some sort
of identifier string.

This patch just adds that to the response examples
in the volume.manager code as well as adds an update
to the dev docs to point it out.

Change-Id: Ic113d905e65c756439425b03035179e65ce0b39e

9 years agoPort violin driver to Python 3
Victor Stinner [Wed, 7 Oct 2015 17:01:57 +0000 (19:01 +0200)]
Port violin driver to Python 3

* Replace dict.items()[0] with list(dict.items())[0], same for
  dict.values()
* Replace dict.iteritems() with dict.items()
* Replace dict.itervalues() with dict.values()
* Replace a/b with a//b to get integer on Python 3.
* test_get_active_fc_targets(): ignore order when comparing active
  FC targets. On Python 3, the hash function is randomized and so
  dictionaries values are returned in a random order.

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

9 years agoPort EMC scaleio to Python 3
Victor Stinner [Wed, 7 Oct 2015 15:57:00 +0000 (17:57 +0200)]
Port EMC scaleio to Python 3

* Import urllib modules using six.moves.urllib
* MockHTTPSResponse: encode HTTP body to UTF-8 if it's Unicode,
  replace six.string_types with (bytes, six.text_type).
* _id_to_base64(): catch also binascii.Error when calling
  b16decode(); encode name to UTF-8 before calling b64encode();
  decode b64encode() from ASCII on Python 3 to get Unicode.
* tox.ini: add cinder.tests.unit.volume.drivers.emc.scaleio
  to Python 3.4

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

9 years agoRemove extra register_opts() calls in netapp eseries
Jay S Bryant [Tue, 6 Oct 2015 09:03:53 +0000 (04:03 -0500)]
Remove extra register_opts() calls in netapp eseries

The eseries/library.py file is importing netapp's
options file. The options file already registers
all of the configuration options. For some reason
the library.py file was re-registering the options
and also properly appending them to the configuration list.

This patch removes the extra register_opts() calls.

Change-Id: Id48fe85acb42c10dc9d13a7fca3f49eec9ea8ce3
closes-bug: 1503405

9 years agoMerge "Fix update quota of subprojects"
Jenkins [Wed, 7 Oct 2015 19:28:18 +0000 (19:28 +0000)]
Merge "Fix update quota of subprojects"

9 years agoAdd multi-initiator extra-spec for Nimble driver
Sonia Ghanekar [Wed, 30 Sep 2015 17:02:30 +0000 (10:02 -0700)]
Add multi-initiator extra-spec for Nimble driver

This patch allows setting up multi-initiator access for
the Nimble driver through the extra-specs.

This can be set by adding the key 'nimble:multi-initiator'
with boolean value of 'true' or 'false'. If nothing is
specified it defaults to 'false'.

Change-Id: Iade49f0ce418a2db7ea9a00ebf925a017e3eb429
Closes-Bug: #1495750

9 years agoFix SolidFire target composition
John Griffith [Tue, 6 Oct 2015 23:39:24 +0000 (17:39 -0600)]
Fix SolidFire target composition

We added the target composition a while back but never
really finished it.  We created a set of interface methods
and had them call the target class mostly thinking we'd
want this when adding FC.

It turns out that doing a regular composition and using
get_attr will actually work fine when the FC target is
added, so re factor this and make it a true composition
where both objects inherit attributes from each other.

Change-Id: I1da439c2e50ec66d759def19d3eda997797d00a5

9 years agoPort targets test_iet_driver to Python 3
Victor Stinner [Wed, 7 Oct 2015 15:14:54 +0000 (17:14 +0200)]
Port targets test_iet_driver to Python 3

* Replace StandardError with MemoryError: StandardError was removed
  in Python 3
* Replace __builtin__ with six.moves.builtins to mock open()
* Mock the logger in test_create_iscsi_target() because the test
  injects errors in open() and the logger uses open() to format the
  traceback
* tox.ini: add cinder.tests.unit.targets.test_iet_driver to Python 3.4

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

9 years agoPort image cache to Python 3
Victor Stinner [Wed, 7 Oct 2015 15:20:07 +0000 (17:20 +0200)]
Port image cache to Python 3

* Replace [unicode, str] with six.string_types and use isinstance()
  to check the type
* tox.ini: add cinder.tests.unit.image.test_cache to Python 3.4

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

9 years agopy3: Run unit tests with ostestr on Python 3.4
Victor Stinner [Wed, 7 Oct 2015 13:33:38 +0000 (15:33 +0200)]
py3: Run unit tests with ostestr on Python 3.4

"tox -e py34" now uses ostestr instead of testtools.run to run tests.
Tests are now executed in parallel.

Move the tests whitelist from tox.ini to a new file tests-py3.txt.

Fix NaElement.__str__() of netapp driver: return Unicode on Python 3,
not bytes.

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

9 years agoAdd testresources and testscenarios used by oslo.db fixture
Davanum Srinivas [Wed, 7 Oct 2015 01:45:12 +0000 (18:45 -0700)]
Add testresources and testscenarios used by oslo.db fixture

If we use oslo.db fixtures, we'll need these 2 packages or
the next version of oslo.db release will break us.

Closes-Bug: #1503501
Change-Id: I8facdaf69c79b1b1ae4f9f64e9856e12f14440ed

9 years agoClone cg support in VNX driver
Tina [Fri, 14 Aug 2015 03:10:53 +0000 (23:10 -0400)]
Clone cg support in VNX driver

This change added the clone consistency group support
in VNX driver.

DocImpact
Implements: blueprint vnx-clone-cg
Change-Id: I7eb69be2e6ffe47a92bca5818c952addd1b45217

9 years agoMerge "Port scheduler host manager to Python 3"
Jenkins [Wed, 7 Oct 2015 06:50:20 +0000 (06:50 +0000)]
Merge "Port scheduler host manager to Python 3"

9 years agoMerge "Dell Eqlx: Support over subscription in thin provisioning"
Jenkins [Wed, 7 Oct 2015 05:43:03 +0000 (05:43 +0000)]
Merge "Dell Eqlx: Support over subscription in thin provisioning"

9 years agoTest_backup_swift: Don't leak notifications
Eric Harney [Tue, 6 Oct 2015 20:53:31 +0000 (16:53 -0400)]
Test_backup_swift: Don't leak notifications

At least some of these tests can leak notifications
such as backup.createprogress.

Mock the send notification methods to ensure this
doesn't happen.

This likely indicates that some restructuring of these
tests is needed, but patching this long-standing issue
on its own is worthwhile.

Partial-Bug: #1501745

Change-Id: I91cb3bef18a8b830fcc3b3589afe6b6975bc0c2b

9 years agoMerge "HNAS iSCSI manage does not work with spaces"
Jenkins [Wed, 7 Oct 2015 01:08:22 +0000 (01:08 +0000)]
Merge "HNAS iSCSI manage does not work with spaces"

9 years agoMerge "Add ability to set prefix in SolidFire Volume name"
Jenkins [Wed, 7 Oct 2015 00:43:48 +0000 (00:43 +0000)]
Merge "Add ability to set prefix in SolidFire Volume name"

9 years agotest_backup_nfs: Set volume id per test
Eric Harney [Tue, 6 Oct 2015 19:31:03 +0000 (15:31 -0400)]
test_backup_nfs: Set volume id per test

Since some of these tests trigger operations (such as
progress reporting) that can happen as an asyncronous
task, set a different ID for each test so it's possible
to identify where notifications are coming from.

Related-Bug: #1501745

Change-Id: I4cb3400d302f03d19d982979bc5f3c3b90eb47a4

9 years agoMerge "Port test_quobyte to Python 3"
Jenkins [Tue, 6 Oct 2015 21:55:34 +0000 (21:55 +0000)]
Merge "Port test_quobyte to Python 3"

9 years agotest_backup_swift: Set volume id per test
Eric Harney [Tue, 6 Oct 2015 18:14:00 +0000 (14:14 -0400)]
test_backup_swift: Set volume id per test

Since some of these tests trigger operations (such as
progress reporting) that can happen as an asyncronous
task, set a different ID for each test so it's possible
to identify where notifications are coming from.

Related-Bug: #1501745

Change-Id: I255941ecb813e47ac02c9b8ca09e41d99d12d218

9 years agoMerge "Fix broken format string in vol mgr log"
Jenkins [Tue, 6 Oct 2015 20:55:32 +0000 (20:55 +0000)]
Merge "Fix broken format string in vol mgr log"