]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
9 years agoGet StringIO from six for Python 3 compatibility
Victor Stinner [Tue, 9 Jun 2015 13:32:32 +0000 (15:32 +0200)]
Get StringIO from six for Python 3 compatibility

Get StringIO and cStringIO classes and modules from the six module to
make cinder compatible with Python 2 and Python 3.

This patch was generated by the stringio operation of the sixer tool
version 0.4:
https://pypi.python.org/pypi/sixer

Blueprint cinder-python3
Change-Id: Ia8a58f83a504f2d2930bf5a0dc2cbaa482c29784

9 years agoMerge "Wait until service thread is done on service stop"
Jenkins [Mon, 15 Jun 2015 04:03:59 +0000 (04:03 +0000)]
Merge "Wait until service thread is done on service stop"

9 years agoMerge "3PAR enable multiattach capability reporting"
Jenkins [Sun, 14 Jun 2015 23:02:12 +0000 (23:02 +0000)]
Merge "3PAR enable multiattach capability reporting"

9 years agoMerge "Use six to fix imports on Python 3"
Jenkins [Sun, 14 Jun 2015 22:43:31 +0000 (22:43 +0000)]
Merge "Use six to fix imports on Python 3"

9 years agoMerge "Add cinder volume driver for Blockbridge EPS"
Jenkins [Sat, 13 Jun 2015 17:11:27 +0000 (17:11 +0000)]
Merge "Add cinder volume driver for Blockbridge EPS"

9 years agoWait until service thread is done on service stop
Mitsuhiro Tanino [Sat, 13 Jun 2015 04:23:40 +0000 (00:23 -0400)]
Wait until service thread is done on service stop

In order to be able to perform graceful shutdown of services, we need
to wait for all the current service threads to finish before exiting
from the service process.

Oslo.service provides this facility through it's wait() method, so we
need to call it in Cinder Service stop() method which gets called when
graceful shutdown is requested by sending the process SIGINT or SIGTERM.

Partial-Bug: 1464822
Change-Id: I972b80251cebe353f9d89ff4e05db8d029ef5e73

9 years agoMerge "Add secondary account capability to SolidFire"
Jenkins [Sat, 13 Jun 2015 15:40:23 +0000 (15:40 +0000)]
Merge "Add secondary account capability to SolidFire"

9 years agoMerge "Volume manager should set filter_function and goodness_function"
Jenkins [Sat, 13 Jun 2015 01:13:06 +0000 (01:13 +0000)]
Merge "Volume manager should set filter_function and goodness_function"

9 years agoAdd cinder volume driver for Blockbridge EPS
Joshua Huber [Fri, 12 Jun 2015 01:17:13 +0000 (21:17 -0400)]
Add cinder volume driver for Blockbridge EPS

This initial commit includes support for the minimum required volume
operations:

- Volume Create/Delete
- Volume Attach/Detach
- Snapshot Create/Delete
- Create Volume from Snapshot
- Get Volume Stats
- Copy Image to Volume
- Copy Volume to Image
- Clone Volume
- Extend Volume

For more details about our storage backend, please see the blueprint.

blueprint blockbridge-eps-driver
Change-Id: I99c95243bec708c6519cb69c4cb68085ad698c83

9 years agoMerge "san driver: don't use relative Python import"
Jenkins [Fri, 12 Jun 2015 20:39:29 +0000 (20:39 +0000)]
Merge "san driver: don't use relative Python import"

9 years agoMerge "Implement Cinder Volume driver for HGST Solutions"
Jenkins [Fri, 12 Jun 2015 19:03:07 +0000 (19:03 +0000)]
Merge "Implement Cinder Volume driver for HGST Solutions"

9 years agoMerge "Re-integrate Oracle iSCSI Cinder driver"
Jenkins [Fri, 12 Jun 2015 17:44:40 +0000 (17:44 +0000)]
Merge "Re-integrate Oracle iSCSI Cinder driver"

9 years agoMerge "NetApp E-Series: Add Fibre Channel Support"
Jenkins [Fri, 12 Jun 2015 16:54:12 +0000 (16:54 +0000)]
Merge "NetApp E-Series: Add Fibre Channel Support"

9 years ago3PAR enable multiattach capability reporting
Walter A. Boring IV [Wed, 13 May 2015 16:24:49 +0000 (09:24 -0700)]
3PAR enable multiattach capability reporting

This patch enables the reporting of the
multiattach capability in get_volume_stats.
The scheduler currently filters on the capability
for drivers that support/don't support that ability
to do more than one attachment for a volume.
By reporting multiattach = True, it lets the scheduler
know this driver allows attaching a volume more than once.

Change-Id: Ia18414bbadff14777c2266b681c03c76a2aa6889

9 years agoMerge "NetApp E-Series: Refactor class structure for FC"
Jenkins [Fri, 12 Jun 2015 14:39:06 +0000 (14:39 +0000)]
Merge "NetApp E-Series: Refactor class structure for FC"

9 years agosan driver: don't use relative Python import
Victor Stinner [Fri, 12 Jun 2015 11:10:41 +0000 (13:10 +0200)]
san driver: don't use relative Python import

Replace relative import with absolute import. Relative imports don't
work on Python 3 anymore.

Blueprint cinder-python3
Change-Id: Ie27ee7d8734c59d0739b8e1a2ecc369801d56cf7

9 years agoMerge "Replace it.next() with next(it) for py3 compat"
Jenkins [Fri, 12 Jun 2015 10:00:52 +0000 (10:00 +0000)]
Merge "Replace it.next() with next(it) for py3 compat"

9 years agoMerge "NetApp E-Series driver: Remove caching logic"
Jenkins [Fri, 12 Jun 2015 04:54:23 +0000 (04:54 +0000)]
Merge "NetApp E-Series driver: Remove caching logic"

9 years agoMerge "Updated from global requirements"
Jenkins [Fri, 12 Jun 2015 04:05:21 +0000 (04:05 +0000)]
Merge "Updated from global requirements"

9 years agoMerge "EMC ScaleIO Cinder Driver"
Jenkins [Fri, 12 Jun 2015 03:30:20 +0000 (03:30 +0000)]
Merge "EMC ScaleIO Cinder Driver"

9 years agoMerge "Re-add the StorPool distributed storage driver"
Jenkins [Fri, 12 Jun 2015 01:49:32 +0000 (01:49 +0000)]
Merge "Re-add the StorPool distributed storage driver"

9 years agoImplement Cinder Volume driver for HGST Solutions
Earle F. Philhower, III [Thu, 28 May 2015 22:03:47 +0000 (15:03 -0700)]
Implement Cinder Volume driver for HGST Solutions

Enables native support for HGST Solutions software Spaces as
Cinder volumes or snapshots.

Each Cinder Volume or Snapshot is mapped to a single HGST Space.
This space may be named differently from the actual volume/snap ID
and so we store the Space Name<->ID mapping in the volume provider_id.
Snapshots are not supported with the current HGST Solutions
software, so they are implemented as heavyweight copies in the
driver.

All Spaces are made visible on the Cinder host for speed of access,
and only the spaces requested by Nova instances are actually made
visible on other members of the cluster.

Not all nodes need SSD storage to take advantage of these volumes,
cinder.conf entries specify which nodes share their local SSDs.

Prerequisites:
HGST Solutions is a software-SAN-like package which allows local
SSDs in a cluster to be combined into a single storage pool.
The driver has a series of configuration options which must be set
in the cinder.conf, prefixed with hgst_*.
Nodes should have the HGST software installed and connected to the
HGST domain prior to rolling out Nova nodes using this storage.

Additional patches required for full functionality (being tracked
under the same blueprint):
OS-brick patch @ https://review.openstack.org/#/c/186588/
Nova patch @ https://review.openstack.org/#/c/186594/
Nova patch required until os-brick<->nova connection finalized
in https://review.openstack.org/#/c/175569/

Change-Id: Ie0ff03856edd4b5610f4412951ea7c970ad63c8c
Implements: blueprint add-volume-driver-hgst-solutions

9 years agoVolume manager should set filter_function and goodness_function
Daniel Wilson [Wed, 10 Jun 2015 21:32:49 +0000 (14:32 -0700)]
Volume manager should set filter_function and goodness_function

If a user defines a filter_function or goodness_function in their cinder.conf
file the scheduler should use that function. This change appends those
functions to volume_stats if the driver has not specified them.

Change-Id: I76f90aa3c1bda7564185d8e130926af7d0827e0e
Closes-Bug: #1458061

9 years agoMerge "Dell SC: Expanded comments and update var names"
Jenkins [Thu, 11 Jun 2015 18:08:47 +0000 (18:08 +0000)]
Merge "Dell SC: Expanded comments and update var names"

9 years agoReplace it.next() with next(it) for py3 compat
Victor Stinner [Wed, 10 Jun 2015 12:55:52 +0000 (14:55 +0200)]
Replace it.next() with next(it) for py3 compat

The Python 2 next() method of iterators was renamed to __next__() on
Python 3. Use the builtin next() function instead which works on Python
2 and Python 3.

This patch was generated by the next operation of the sixer tool:
https://pypi.python.org/pypi/sixer

Manual changes:

* cinder/tests/unit/test_cmd.py: use "tpgs = iter([tpg])" instead of
  using a magic mock for tpgs

Blueprint cinder-python3
Change-Id: I261f8cda231d80910f27b9c1329f1d43ccdd77b6

9 years agoUse six to fix imports on Python 3
Victor Stinner [Mon, 25 May 2015 14:56:46 +0000 (16:56 +0200)]
Use six to fix imports on Python 3

Replace Python 2 imports with six.moves import to make code compatible
with Python 2 and Python 3.

Replaced imports:

* BaseHTTPServer
* __builtin__
* cookielib
* httplib

This patch was generated by the six_moves operation of the sixer tool
version 0.4:
https://pypi.python.org/pypi/sixer

Manual changes:

* Disable pylint warnings on the HTTPSConnection classes because pylint
  doesn't support importing from six.moves yet, see:
  https://bitbucket.org/logilab/pylint/issue/550/

Blueprint cinder-python3
Change-Id: Ide6d4e3480f2c0a7eb4500aa88affe152ecc0401

9 years agoNetApp E-Series: Add Fibre Channel Support
Alex Meade [Fri, 1 May 2015 16:56:48 +0000 (12:56 -0400)]
NetApp E-Series: Add Fibre Channel Support

The NetApp driver for E-series product lines currently support iSCSI. This
patch adds Fibre Channel support to the E-Series driver. This driver reuses
the same functionality as the E-Series iSCSI driver except for the
initialize_connection and terminate_connection driver methods which make
full use of Cinder's FibreChannel zone manager.

DocImpact
Implements blueprint: add-fibre-channel-support-to-netapp-eseries
Co-Authored-By: Alex Meade <mr.alex.meade@gmail.com>
Co-Authored-By: Yogesh Kshirsagar <ykshirsa@netapp.com>
Change-Id: I130f473aaa27ace4cd16a98f75c797aa967715b3

9 years agoNetApp E-Series: Refactor class structure for FC
Alex Meade [Tue, 28 Apr 2015 01:19:36 +0000 (21:19 -0400)]
NetApp E-Series: Refactor class structure for FC

This patch moves classes to mimic the NetApp ONTAP drivers class
structure by creating a library module, making the iSCSI driver
a thin layer. This way the E-Series FC driver can be added in a
similar manner.

Change-Id: I8b4ed6a7b2d43cd93da5c340646405e3041a312a

9 years agoNetApp E-Series driver: Remove caching logic
Alex Meade [Sun, 15 Feb 2015 22:01:54 +0000 (17:01 -0500)]
NetApp E-Series driver: Remove caching logic

This patch removes unnecessary API caching logic from the NetApp
E-Series driver. The cache, represented as the _objects dictionary,
is refreshed nearly every API call and therefore provides no value.
This refactor is also preparation for refactoring the class structure
so we can easily add an E-Series Fibre Channel driver.

Change-Id: I5a1a8c9bab3abff58a876a1da3575b1c329fdfba

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Thu, 11 Jun 2015 12:33:15 +0000 (12:33 +0000)]
Updated from global requirements

Change-Id: I8dd1e2580be9642837e5b1f4b70b3cd22ec7c321

9 years agoMerge "Replace urllib and urllib2 with six.moves.urllib"
Jenkins [Thu, 11 Jun 2015 11:37:59 +0000 (11:37 +0000)]
Merge "Replace urllib and urllib2 with six.moves.urllib"

9 years agoMerge "Dispose DB connections between backend proc starts"
Jenkins [Thu, 11 Jun 2015 04:01:44 +0000 (04:01 +0000)]
Merge "Dispose DB connections between backend proc starts"

9 years agoMerge "Replace unicode with six.text_type"
Jenkins [Wed, 10 Jun 2015 22:46:36 +0000 (22:46 +0000)]
Merge "Replace unicode with six.text_type"

9 years agoMerge "Switch from MySQL-python to PyMySQL"
Jenkins [Wed, 10 Jun 2015 22:41:29 +0000 (22:41 +0000)]
Merge "Switch from MySQL-python to PyMySQL"

9 years agoMerge "Add iSCSI protocol support for IBM FlashSystem"
Jenkins [Wed, 10 Jun 2015 20:14:53 +0000 (20:14 +0000)]
Merge "Add iSCSI protocol support for IBM FlashSystem"

9 years agoAdd secondary account capability to SolidFire
John Griffith [Mon, 1 Jun 2015 20:04:15 +0000 (20:04 +0000)]
Add secondary account capability to SolidFire

The SolidFire Cluster has a limit of 2K volumes per SolidFire
account. Given that the SolidFire account maps directly to the
OpenStack tenant this can be a limitation for some large scale
deployments that may have tenants that wish to create more than
2K volumes in their OpenStack cloud.

This patch introduces the concept of a secondary account for
an OpenStack tenant on the SolidFire backend.

If an OpenStack tenant has more than 2K volumes, and wishes to
create additional volumes, we can create a secondary/supplemental
SolidFire account that is owned by the same OpenStack tenant.

If they wish to go beyond 4K volumes... well, SolidFire V3
driver will deal with that, for now 4K is a line in the sand.

While working on unit tests, we again move to using mock
opportunistically.  In addition, a few tests that either
weren't actually testing anything, or were just a fake-loop
that didn't actually work have been removed:

NOTE:
This patch is a temporary for backporting purposes, we are
still planning a refresh in Liberty of the driver.

Change-Id: I1c8a14e6bea1b6f47d10777c56c5af42b63e2dae

9 years agoMerge "Add missing unit test for goodness weigher"
Jenkins [Wed, 10 Jun 2015 18:44:28 +0000 (18:44 +0000)]
Merge "Add missing unit test for goodness weigher"

9 years agoReplace urllib and urllib2 with six.moves.urllib
Victor Stinner [Tue, 9 Jun 2015 13:37:02 +0000 (15:37 +0200)]
Replace urllib and urllib2 with six.moves.urllib

The Python 2 urllib and urllib2 modules changed a lot in Python 3. On
Python 3, the urllib functions are now grouped into submodules of
urllib: urllib.parse, urllib.error, etc. The urllib2 has been removed.
Replace urllib and urllib2 with six.moves.urllib to make the Cinder code
compatible with Python 2 and Python 3.

The new code now looks like Python 3 code (ex: "urllib.parse.urlsplit"),
but it also works on Python 2.

Replace also "import six.moves.urllib.parse as urlparse" with "from
six.moves import urllib" to uniformize the code:
"urlparse.urlsplit(href)" becomes "urllib.parse.urlsplit(href)".

This patch was generated by the urllib operation of the sixer tool version 0.4:
https://pypi.python.org/pypi/sixer

Manual changes:

* Add a try/except ImportError to get the parse_http_list function
  in cinder/api/urlmap.py
* Import the socket module instead of using urllib2.socket
  in cinder/volume/drivers/huawei/rest_common.py
* test_nimble.py: replace NIMBLE_URLLIB2 value with
  'six.moves.urllib.request'
* Remove "from six.moves.urllib import parse as urlparse", it was
  replaced with urllib.parse from six.moves.
* Reformat to respect the 80 columns constraint

Change-Id: Ibd1e7bc83bbbd93a3634207fb277d25ef1b8a086

9 years agoReplace unicode with six.text_type
Victor Stinner [Wed, 10 Jun 2015 12:39:37 +0000 (14:39 +0200)]
Replace unicode with six.text_type

The "unicode" type was renamed to "str" in Python 3. Use six.text_type
to make Cinder compatible with Python 3.

The initial patch was generated by the unicode operation of sixer tool:
https://pypi.python.org/pypi/sixer

Manual changes:

* cinder/volume/drivers/san/hp/hp_3par_iscsi.py:
  replace "isinstance(value, str) or isinstance(value, unicode)"
  with "isinstance(value, six.string_types)"
* cinder/volume/drivers/san/hp/hp_3par_iscsi.py:
  bump the version to 2.0.17
* Revert changes on hacking: hacking explicitly searchs the "unicode"
  pattern for Python 2. Hacking may require more work to be ported to
  Python 3.
* Revert changes on docstrings and strings

Change-Id: I68ea8a81a66c9377b2fe20e3f545dce8b691c398

9 years agoMerge "Merge tag '2014.2'"
Jenkins [Wed, 10 Jun 2015 05:24:36 +0000 (05:24 +0000)]
Merge "Merge tag '2014.2'"

9 years agoMerge "Add 'source-id' and 'source-name' support in VNX driver"
Jenkins [Wed, 10 Jun 2015 05:15:23 +0000 (05:15 +0000)]
Merge "Add 'source-id' and 'source-name' support in VNX driver"

9 years agoMerge "Merge tag '2015.1.0'"
Jenkins [Wed, 10 Jun 2015 01:37:25 +0000 (01:37 +0000)]
Merge "Merge tag '2015.1.0'"

9 years agoDispose DB connections between backend proc starts
Jay S. Bryant [Tue, 9 Jun 2015 22:10:18 +0000 (17:10 -0500)]
Dispose DB connections between backend proc starts

Currently we do not dispose the existing DB pools before
forking off additional storage backend processes.  This can
result in timing issues and DB errors.

This change simply ensures that we do a dispose_engine() in
the loop where we are forking off processes for the storage
backends.

Change-Id: I4ce67e1ce7853fafe5318393482d841583e42098
Closes-bug: 1463580

9 years agoEMC ScaleIO Cinder Driver
Xing Yang [Sat, 16 May 2015 04:31:51 +0000 (00:31 -0400)]
EMC ScaleIO Cinder Driver

This patch adds a Cinder volume driver for EMC ScaleIO product.
The ScaleIO driver supports the following Cinder features:
* Create/delete volume
* Create/delete snapshot
* Create volume from snapshot
* Create cloned volume
* Extend volume

implements blueprint scaleio-cinder-volume-driver

Change-Id: I7007e4ec36586d98cbf53e4f322ab25aa9b414c6

9 years agoMerge "remotefs: Fix doc string for _create_snapshot"
Jenkins [Tue, 9 Jun 2015 20:13:04 +0000 (20:13 +0000)]
Merge "remotefs: Fix doc string for _create_snapshot"

9 years agoRe-integrate Oracle iSCSI Cinder driver
Diem Tran [Tue, 28 Apr 2015 18:33:14 +0000 (14:33 -0400)]
Re-integrate Oracle iSCSI Cinder driver

This reverts commit c742566.

The Oracle iSCSI Cinder driver now has a working CI and is ready to be re-integrated.

Change-Id: I0522dc054a46d62f912df1694d54c0083c5f4f7e

9 years agoDell SC: Expanded comments and update var names
Tom Swanson [Tue, 2 Jun 2015 19:02:33 +0000 (14:02 -0500)]
Dell SC: Expanded comments and update var names

Additional comments have been added to help explain what is happening
in the driver. This revolves mostly around dell_storagecenter_api.py
which is not an obvious file for a reviewer to review. Hopefully
additional comments will aid this.

Updated single character variable names except for r which is the
REST calls return throughout the code by convention.

Reworked create_volume for clarity. No functional changes.

Changed two obvious error messages from LOG.debug to LOG.error.

Driver version changed to 1.0.2.

Change-Id: Ib41d9bc45d20af4fc179b691549fe52f8bd6ec6d

9 years agoMerge tag '2015.1.0'
Jeremy Stanley [Tue, 9 Jun 2015 17:37:43 +0000 (17:37 +0000)]
Merge tag '2015.1.0'

This is a null-merge of the 2015.1.0 release tag back into the master
branch so that the 2015.1.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: I76a736bd12372cff6c7fb3936b0eeb520a96ba08

9 years agoMerge tag '2014.2'
Jeremy Stanley [Tue, 9 Jun 2015 16:31:41 +0000 (16:31 +0000)]
Merge tag '2014.2'

This is a null-merge of the 2014.2 release tag back into 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: I16744c997f71f3680b2e12aaee8631f0e6b6b3d5

9 years agoMerge "Fixes 3PAR snapshot failure with optional params"
Jenkins [Tue, 9 Jun 2015 14:10:55 +0000 (14:10 +0000)]
Merge "Fixes 3PAR snapshot failure with optional params"

9 years agoRe-add the StorPool distributed storage driver
Peter Penchev [Thu, 28 May 2015 13:32:15 +0000 (16:32 +0300)]
Re-add the StorPool distributed storage driver

Re-add the driver as it was removed, then make the following
six changes (bugfixes and updates):

1. Move the testcase to cinder/tests/unit/

2. Pass the H402 docstring check

Add a period at the end of a single-line docstring.

3. Fall back to the configured template

If the volume type does not specify a template, properly fall back to
the default template from the configuration instead of going with none.

4. Return volume object in _attach_volume()

Catch up with rev. bbf1b49 of volume/driver.py.

5. Use the ABC metaclasses

Declare the existing StorPool volume driver functionality by
deriving from the appropriate driver.*VD classes.

6. Implement volume retyping and migrations

initialize_connection(): store the StorPool client ID in the connection
data to be used by the "StorPool" Brick connector.

validate_connector(): actually check the connector data for a valid
hostname defined in the StorPool configuration.

_storpool_client_id(): new method to get the numeric ID of a host in
the StorPool cluster from the /etc/storpool.conf file.

_attach_volume(), _detach_volume(): if the "remote" flag is set, pass
the request on to the default Cinder driver implementation; it knows
how to make remote volumes accessible.

_attach_volume(), _detach_volume(): support the case when these methods
are invoked from a method that is not overridden in the StorPool Cinder
driver - create a storpool.spopenstack.AttachDB attachment structure
and destroy it upon detaching.

ensure_export(): add a stub method, the actual work is handled by
the Nova volume attachment driver.

retype(): new method: handle a StorPool-to-StorPool retyping where
at most the volume's StorPool template or replication is changed.
For anything else, return False to indicate an unsupported request so
that a full volume migration is triggered.

update_migrated_volume(): rename the StorPool volume to correspond to
the real Cinder volume's name.

Add the StorPoolConfigurationMissing and StorPoolConfigurationInvalid
exceptions.

Flesh out the validate_connector() and initialize_connection() unit tests.

Implements: blueprint storpool-block-driver
Implements: blueprint abc-driver-update
Implements: blueprint volume-retype
Change-Id: I5c29cb5f679b08b8db664c9f20cf24cbcd7c6c60

9 years agoAdd iSCSI protocol support for IBM FlashSystem
Edwin Wang [Sat, 13 Dec 2014 20:42:09 +0000 (04:42 +0800)]
Add iSCSI protocol support for IBM FlashSystem

This change implements iSCSI protocol for Cinder driver.
It is inherited from driver.ISCSIDriver and flashsystem.py.
We will separate flashsystem.py into common and FC protocol.

iSCSI test result:
https://bugs.launchpad.net/cinder/+bug/1406442

Implements: blueprint ibm-flashsystem-driver-iscsi
Change-Id: Ie6cc2315e9d770302fcdfb63873da1b0dea12bda

9 years agoMerge "ConsistencyGroup: Return 400 instead of 500 for invalid body"
Jenkins [Mon, 8 Jun 2015 17:34:35 +0000 (17:34 +0000)]
Merge "ConsistencyGroup: Return 400 instead of 500 for invalid body"

9 years agoMerge "Remove unused find_attribute_or_element()"
Jenkins [Mon, 8 Jun 2015 17:34:22 +0000 (17:34 +0000)]
Merge "Remove unused find_attribute_or_element()"

9 years agoFixes 3PAR snapshot failure with optional params
Kurt Martin [Mon, 8 Jun 2015 17:26:20 +0000 (10:26 -0700)]
Fixes 3PAR snapshot failure with optional params

Create snapshot fails when HP3PAR hp3par_snapshot_retention and/or
hp3par_snapshot_expiration parameters were set in cinder.conf. The
params were being sent to the backend as strings instead on integers.

Change-Id: I24d0bc133c48b47a27f5c112e9cd924dd0fa3bcc
Closes-bug: #1461640

9 years agoMerge "Prophetstor driver needs to return snapshot objects"
Jenkins [Mon, 8 Jun 2015 15:39:00 +0000 (15:39 +0000)]
Merge "Prophetstor driver needs to return snapshot objects"

9 years agoConsistencyGroup: Return 400 instead of 500 for invalid body
PranaliDeore [Mon, 25 May 2015 09:14:26 +0000 (02:14 -0700)]
ConsistencyGroup: Return 400 instead of 500 for invalid body

If invalid request body is passed to the delete
consistencygroups api, then it returns 500 error.

Validated request body using 'is_valid_body()' method
and also added validation to check 'force' is of bool type.

APIImpact

Closes-Bug: #1458868
Change-Id: Iaaa4409233bfed6ae3e67be5df8cc5ada28e054f

9 years agoAdd 'source-id' and 'source-name' support in VNX driver
peter_wang [Fri, 29 May 2015 00:38:56 +0000 (20:38 -0400)]
Add 'source-id' and 'source-name' support in VNX driver

Currently, VNX driver only supports 'id' as the id-type in manage/unmanage volume.
With release of new version python-cinderclient, 'source-id' and 'source-name' are
preferred id-type when using cinder manage.

This fix is to add 'source-id' and 'source-name' support
and obsolete the self-defined 'id' support.

Change-Id: Ia0619123ff56e44da98c4f12c554474c8fe6093c
closes-bug: 1450280

9 years agoMerge "Dell SC: Added support for alternate iscsi portals"
Jenkins [Sat, 6 Jun 2015 03:35:37 +0000 (03:35 +0000)]
Merge "Dell SC: Added support for alternate iscsi portals"

9 years agoMerge "Revert "Adds drivers for DotHill Storage Arrays.""
Jenkins [Sat, 6 Jun 2015 01:02:52 +0000 (01:02 +0000)]
Merge "Revert "Adds drivers for DotHill Storage Arrays.""

9 years agoMerge "Handle ineffective backup compression"
Jenkins [Sat, 6 Jun 2015 00:16:29 +0000 (00:16 +0000)]
Merge "Handle ineffective backup compression"

9 years agoRevert "Adds drivers for DotHill Storage Arrays."
Mike Perez [Fri, 5 Jun 2015 23:14:33 +0000 (16:14 -0700)]
Revert "Adds drivers for DotHill Storage Arrays."

Coordinating with the DotHill folks on some corrections that need to be
made for this patch.

This reverts commit f09c4b1aa0d76d5063d63b12a597da7fead0b93e.

Change-Id: I24a8892ae97b7d874fdfeab50065577f7857c8c6

9 years agoMerge "Windows SMBFS: Fix image resize errors during volume creation"
Jenkins [Fri, 5 Jun 2015 22:57:00 +0000 (22:57 +0000)]
Merge "Windows SMBFS: Fix image resize errors during volume creation"

9 years agoMerge "Fix exception parameter name"
Jenkins [Fri, 5 Jun 2015 22:25:01 +0000 (22:25 +0000)]
Merge "Fix exception parameter name"

9 years agoDell SC: Added support for alternate iscsi portals
Tom Swanson [Wed, 13 May 2015 17:00:54 +0000 (12:00 -0500)]
Dell SC: Added support for alternate iscsi portals

Added support for returning alternate target portals,
luns and iqns in a non multipath setup.  This was done
per https://review.openstack.org/#/c/140877/  Tests
were modified to support this change.

The iscsi initialize_connection and find_iscsi_properties
functions took the brunt of this.  The full list of portals,
luns and iqns are returned along with the preferred portal,
lun and iqn rather than a single iqn, lun and portal.

Some minor log message changes for clarity.  (Removed the
one character vars.)

Comment cleanup and clarification.

Implements: blueprint dell-sc-add-alternate-iscsi-portals
Change-Id: I40ad7c2e9b92fd6c6780ad181fcbccd25021d312

9 years agoMerge "Complete switch to snapshot objects"
Jenkins [Fri, 5 Jun 2015 22:21:09 +0000 (22:21 +0000)]
Merge "Complete switch to snapshot objects"

9 years agoMerge "Dell: Added verify cert option for REST calls"
Jenkins [Fri, 5 Jun 2015 22:18:51 +0000 (22:18 +0000)]
Merge "Dell: Added verify cert option for REST calls"

9 years agoMerge "Don't send heartbeats if Manager reports a problem"
Jenkins [Fri, 5 Jun 2015 17:23:23 +0000 (17:23 +0000)]
Merge "Don't send heartbeats if Manager reports a problem"

9 years agoMerge "Multiple pools support enhancement in VNX cinder driver"
Jenkins [Fri, 5 Jun 2015 17:23:06 +0000 (17:23 +0000)]
Merge "Multiple pools support enhancement in VNX cinder driver"

9 years agoDell: Added verify cert option for REST calls
Tom Swanson [Tue, 12 May 2015 17:37:43 +0000 (12:37 -0500)]
Dell: Added verify cert option for REST calls

If one goes through the trouble to create a cert and
install it on the Dell Data Collector and on the cinder
node then we can enable certificate verification on the
request calls to the Dell REST API.

This simply makes dell_sc_verify_cert a cinder.conf option
for a Dell backend and directly uses that as the verify
option on the REST requests.  Default is False.

The update_migrated_volume function arrived via a rebase
and had a merge issue that was fixed.  Specifically the
dell_sc_ssn value is no longer part of the api.find_sc
call.

Spelling error also corrected in a LOG message.

SecImpact

Change-Id: I22348d5e0b55d56f44f1fc4f0c830790a6670494
Implements: blueprint dell-sc-add-verify-cert

9 years agoMerge "Move Dothill tests out of root test directory"
Jenkins [Fri, 5 Jun 2015 15:30:39 +0000 (15:30 +0000)]
Merge "Move Dothill tests out of root test directory"

9 years agoMerge "Add Pure Storage FibreChannel driver"
Jenkins [Fri, 5 Jun 2015 14:45:39 +0000 (14:45 +0000)]
Merge "Add Pure Storage FibreChannel driver"

9 years agoHandle ineffective backup compression
Tom Barron [Thu, 7 May 2015 19:46:06 +0000 (15:46 -0400)]
Handle ineffective backup compression

Don't compress chunks when compressed length is not a gain over
original, uncompressed length.

With incremental backups, where chunks can be built from short
"extents", the likelihood of this situation has significantly
increased.

Closes-Bug: 1462268
Change-Id: Id960cb22ae74f19154f49a0c19ee07a00145067f

9 years agoMerge "Non-admin user to query volume filter by az"
Jenkins [Fri, 5 Jun 2015 04:57:25 +0000 (04:57 +0000)]
Merge "Non-admin user to query volume filter by az"

9 years agoMerge "Fix remaining memory issues with nfs backup unit tests"
Jenkins [Fri, 5 Jun 2015 04:55:16 +0000 (04:55 +0000)]
Merge "Fix remaining memory issues with nfs backup unit tests"

9 years agoProphetstor driver needs to return snapshot objects
rick.chen [Tue, 26 May 2015 04:47:27 +0000 (12:47 +0800)]
Prophetstor driver needs to return snapshot objects

Use snapshot objects instead of snapshot dictionaries of
create_cgsnapshot and delete_cgsnapshot.

Change-Id: I416cb53483c9106ff434dc659667c398868c91e6
Partially-Closes-Bug: #1458127

9 years agoComplete switch to snapshot objects
Thang Pham [Thu, 12 Mar 2015 17:18:05 +0000 (13:18 -0400)]
Complete switch to snapshot objects

The following patch switches the remainder of cinder internals
to use snapshot object instead of direct db calls.  Note that
db calls within cinder drivers were not switched over.  This
is left to driver maintainers to do themselves and to
properly test out the changes on their hardware.

Also, note that there are three occurrences of
db.snapshot_update and one of db.snapshot_destroy left in
cinder/volume/manager.py.  This is intentional because
driver.create_cgsnapshot and driver.delete_cgsnapshot returns
a list of snapshot dicts.  Each driver needs to switched over
occurences of db.snapshot_get_all_for_cgsnapshot() to
SnapshotList.get_all_for_cgsnapshot() in create_cgsnapshot
and delete_cgsnapshot.  Once each driver has done so, a follow
up patch can be created to remove db.snapshot_update and
db.snapshot_destroy in cinder/volume/manager.py.  There are
bugs filed for these to be fixed -
https://bugs.launchpad.net/cinder/+bugs?field.tag=
cgsnapshot-objects.

Change-Id: I64004ac404f67eecee51361dc8edd3f149e1b987
Partial-Implements: blueprint cinder-objects

9 years agoMerge "DriverFilter: don't check volume_backend_name"
Jenkins [Fri, 5 Jun 2015 03:00:12 +0000 (03:00 +0000)]
Merge "DriverFilter: don't check volume_backend_name"

9 years agoDriverFilter: don't check volume_backend_name
Zhiteng Huang [Thu, 4 Jun 2015 18:23:58 +0000 (11:23 -0700)]
DriverFilter: don't check volume_backend_name

Currently DriverFilter checks if host_state.volume_backend_name
matches type.extra_specs.volume_backend_name.  The same check has
already been done in CapabilitiesFilter and done more thoroughly and
gracefully, for example, volume_backend_name can be a set of names
not limited to one to one match.  DriverFilter should just do one
thing, that is evaluating filter_function supplied by backend.

This change removes the volume_backend_name check from DriverFilter
without touching its core function, thus has no impact on existing
documentation because the checking of volume_backend_name is an
undocumented side-effect of this filter.  This change also reduces
one warning log to debug log when no filter_function found in
host_state, for the reason it would generate a lot of warning log
for those backends don't supply filter_function.

UpgradeImpact:
DriverFilter had an undocumented side-effect before it evaluates
filter_function - it checked if volume_backend_name in host_state
reported by backend matches volume_backend_name in volume type
extra specs, and if they don't, the backend would fail to pass
the filter.  Now that this side-effect has been removed, it
would impact users only under following circumstance: 1) user
enabled DriverFilter but not CapabilitiesFilter; 2) user relied
on DriverFilter to filter backends based on exact match of
'volume_backend_name' in type extra spec.  If unfortunately this
is the case for user, enabling CapabilitiesFilter by adding
it to 'scheduler_default_filters' configure option and restart
cinder scheduler service then everything should work just fine.
CapabilitiesFilter actually does a much better job checking
volume_backend_name.

Change-Id: Ie5c48587368856faa538eebb1b6611d464bd69bd
Closes-bug: #1461770

9 years agoMerge "Changes in rally-jobs/README.rst"
Jenkins [Thu, 4 Jun 2015 22:12:54 +0000 (22:12 +0000)]
Merge "Changes in rally-jobs/README.rst"

9 years agoAdd Pure Storage FibreChannel driver
Daniel Wilson [Tue, 12 May 2015 17:47:35 +0000 (10:47 -0700)]
Add Pure Storage FibreChannel driver

    This commit adds a FibreChannel driver for Pure Storage. The driver shares
    the majority of functionality with base driver and only has the code
    necessary to support connection to FibreChannel.

Implements: blueprint pure-fc-driver
Change-Id: Ia4ce76d6a2ec754951c13d3620f9f47d6920058b

9 years agoMerge "Refactor scheduler's create_volume flow"
Jenkins [Thu, 4 Jun 2015 22:01:39 +0000 (22:01 +0000)]
Merge "Refactor scheduler's create_volume flow"

9 years agoFix exception parameter name
Earle F. Philhower, III [Thu, 4 Jun 2015 21:57:50 +0000 (14:57 -0700)]
Fix exception parameter name

Trivial fix for an exception parameter being passed in via the
wrong named parameter.

Change-Id: I55cb8b181dea58b7feea8f715ae06942d6e4c784
Closes-Bug: 1462096

9 years agoMove Dothill tests out of root test directory
John Griffith [Thu, 4 Jun 2015 21:39:13 +0000 (15:39 -0600)]
Move Dothill tests out of root test directory

The Dothill code merged but unfortunately had it's
unit tests in the base tests directory.

This patch just moves it to tests/unit/volume/drivers

Change-Id: I010ed2f784384e272599ec3139957989f8838e6f
Closes-Bug: #1462106

9 years agoFix remaining memory issues with nfs backup unit tests
Tom Barron [Thu, 19 Mar 2015 23:10:54 +0000 (19:10 -0400)]
Fix remaining memory issues with nfs backup unit tests

Here we fix another place in the nfs backup unit tests where
the configured file size was larger than the chunk size in
the corresponding Swift backup tests.  I missed this one in

   https://review.openstack.org/#/c/165394

and even though code with that fix ran fine in a bare 1GB VM,
there are still memory issues when run in CI with a VM of that
size.

Closes-Bug: 1452811
Change-Id: I20dcfb657699e1b415ae2e36ec63f8c6b0049285

9 years agoMerge "Removed explicit return from __init__ method"
Jenkins [Thu, 4 Jun 2015 16:51:06 +0000 (16:51 +0000)]
Merge "Removed explicit return from __init__ method"

9 years agoDon't send heartbeats if Manager reports a problem
Michal Dulko [Thu, 4 Jun 2015 15:25:24 +0000 (17:25 +0200)]
Don't send heartbeats if Manager reports a problem

This commit adds is_working method to base Manager class that can be
used to indicate that service has some problems and isn't running
correctly. This is used to block refreshing Service heartbeats if
Manager will return False from is_working.

The method is implemented in c-vol Manager to return initialization
state of the underlying volume driver.

Closes-Bug: 1446750
DocImpact

Change-Id: I809b2b777a0f84d12f39f2233920ec961f74f846

9 years agoChanges in rally-jobs/README.rst
Alexander Maretskiy [Thu, 4 Jun 2015 12:22:06 +0000 (15:22 +0300)]
Changes in rally-jobs/README.rst

Changes:
 * fix broken links
 * add link to release notes

Change-Id: I01b360bab2ea08f3f940ea5992ac6981b68074b5

9 years agoMerge "Tintri Cinder Volume driver"
Jenkins [Thu, 4 Jun 2015 14:39:59 +0000 (14:39 +0000)]
Merge "Tintri Cinder Volume driver"

9 years agoRemoved explicit return from __init__ method
Rajesh Tailor [Thu, 4 Jun 2015 12:29:02 +0000 (05:29 -0700)]
Removed explicit return from __init__ method

As per python documentation [1], removed explicit return keyword
from __init__ method.

[1] https://docs.python.org/2/reference/datamodel.html#object.__init__

Closes-Bug: 1461931
Change-Id: I654d7786e1971304789bbb376f8ced2b5646370e

9 years agoMerge "Return provider_id in SolidFire model update"
Jenkins [Thu, 4 Jun 2015 04:25:53 +0000 (04:25 +0000)]
Merge "Return provider_id in SolidFire model update"

9 years agoMerge "Clean up unused exceptions"
Jenkins [Thu, 4 Jun 2015 03:34:07 +0000 (03:34 +0000)]
Merge "Clean up unused exceptions"

9 years agoMerge "Fix issues with extra specs in VMAX driver"
Jenkins [Thu, 4 Jun 2015 03:33:56 +0000 (03:33 +0000)]
Merge "Fix issues with extra specs in VMAX driver"

9 years agoMerge "Port ProphetStor driver to use ABCMeta driver model"
Jenkins [Thu, 4 Jun 2015 03:33:46 +0000 (03:33 +0000)]
Merge "Port ProphetStor driver to use ABCMeta driver model"

9 years agoMerge "Remove un-used import at test_volume_transfer.py"
Jenkins [Thu, 4 Jun 2015 03:29:53 +0000 (03:29 +0000)]
Merge "Remove un-used import at test_volume_transfer.py"

9 years agoMerge "Adds FC and ISCSI Cinder drivers for DotHill Storage Arrays."
Jenkins [Thu, 4 Jun 2015 00:44:33 +0000 (00:44 +0000)]
Merge "Adds FC and ISCSI Cinder drivers for DotHill Storage Arrays."

9 years agoMerge "Allow provisioning to reach max oversubscription"
Jenkins [Thu, 4 Jun 2015 00:31:27 +0000 (00:31 +0000)]
Merge "Allow provisioning to reach max oversubscription"

9 years agoReturn provider_id in SolidFire model update
John Griffith [Mon, 1 Jun 2015 15:33:14 +0000 (15:33 +0000)]
Return provider_id in SolidFire model update

The provider_id field was added in
commit: 9f34d34d0ab92400223e3cc87285d0d4fbdf21f9

This patch adds provider_id to the returned model
update and uses it to provide the internal SolidFire
volume ID mapping.

Next step will be to rewrite the awkward list search
of volume names to find the corresponding volume on
the SolidFire backend.

Change-Id: Ia44d46362bb1b688c4ac266afecca9ce66dcef25

9 years agoDeprecate the HPLeftHandISCSIDriver CLIQ driver
Kurt Martin [Tue, 2 Jun 2015 22:30:00 +0000 (15:30 -0700)]
Deprecate the HPLeftHandISCSIDriver CLIQ driver

This patch adds a deprecation message to the HPLeftHandISCSIDriver CLIQ
driver with the plan of removing it in the 2016.1 release. The
HPLeftHandISCSIDriver REST based driver should be used instead.

Change-Id: I9eb1fc71d7be4848f116e0585964af97cae210b5

9 years agoAllow provisioning to reach max oversubscription
Xing Yang [Wed, 3 Jun 2015 14:40:26 +0000 (10:40 -0400)]
Allow provisioning to reach max oversubscription

Currently if provisioned ratio is equal to max_over_subscription_ratio,
the capacity filter does not allow any more thin provisioning. This patch
makes a change so that thin provisioning is allowed if provisioned ratio
is equal to max_over_subscription_ratio; it will only stop provisioning
if provisioned ratio is greater than max_over_subscription_ratio.

Change-Id: Ibf13ef97472b80a1b59ffd4389a4ed2eacf67205
Partial-Bug: #1458976