nikeshm [Wed, 3 Jun 2015 03:19:45 +0000 (08:49 +0530)]
Adds FC and ISCSI Cinder drivers for Lenovo Storage Arrays
These drivers depend upon DotHill Cinder drivers.
Using inheritance, we are able to reuse a lot of
DotHill cinder drivers source code.
Change-Id: Ica8631d6954898dbd90a71cc78625bb2aa3b5632
Co-Authored-By: Gauvain Pocentek<gauvain.pocentek@objectif-libre.com>
Implements: blueprint lenovo-fc-iscsi-cinder-driver
nikeshm [Mon, 27 Apr 2015 06:53:11 +0000 (12:23 +0530)]
Adds FC and ISCSI Cinder drivers for DotHill Storage Arrays
DocImpact
Implements: blueprint dothill-fc-cinder-driver
Implements: blueprint dothill-iscsi-cinder-driver
Co-Authored-By: Gauvain Pocentek<gauvain.pocentek@objectif-libre.com>
Co-Authored-By: Walter A. Boring IV<walter.boring@hp.com>
Change-Id: Iaf70ade96d4ad4234cc7e88277ed7b52cf458c2a
Jenkins [Mon, 15 Jun 2015 23:32:31 +0000 (23:32 +0000)]
Merge "Get StringIO from six for Python 3 compatibility"
Jenkins [Mon, 15 Jun 2015 23:26:50 +0000 (23:26 +0000)]
Merge "Remove WritableLogger wrapper"
Jenkins [Mon, 15 Jun 2015 22:37:48 +0000 (22:37 +0000)]
Merge "Update 3PAR user config help strings"
Jenkins [Mon, 15 Jun 2015 22:37:38 +0000 (22:37 +0000)]
Merge "Replace dict(obj.iteritems() with dict(obj)"
Jenkins [Mon, 15 Jun 2015 22:10:18 +0000 (22:10 +0000)]
Merge "Replace dict.iteritems() with dict.items()"
Jenkins [Mon, 15 Jun 2015 22:06:26 +0000 (22:06 +0000)]
Merge "Use six.reraise() for Python 3 compatibility"
Jenkins [Mon, 15 Jun 2015 21:23:17 +0000 (21:23 +0000)]
Merge "Remove pretty_tox and use ostestr"
Kurt Martin [Thu, 11 Jun 2015 20:29:11 +0000 (13:29 -0700)]
Update 3PAR user config help strings
The 3PAR drivers no longer requires a user to have the 'super'
access role. This patch simply updates the help strings for the
3PAR username and password to reflect that an 'edit' role will
be sufficient.
DocImpact
Change-Id: I9b546953d06072dd614f92542b77e3a1a96f2eb5
Eric Harney [Tue, 31 Mar 2015 23:48:17 +0000 (19:48 -0400)]
Disallow backing files when uploading volumes to image
Volumes with a header referencing a backing file can leak
file data into the destination image when uploading a
volume to an image.
Halt the upload process if the volume data references a
backing file to prevent this.
Closes-Bug: #
1415087
Change-Id: Iab9718794e7f7e8444015712cfa08c46848ebf78
Igor Pugovkin [Mon, 15 Jun 2015 09:10:41 +0000 (12:10 +0300)]
Remove WritableLogger wrapper
With Eventlet 0.17.2, we can directly pass the logger
instance. This allows us to deprecate/remove the WritableLogger
class from oslo.log.
Change-Id: Ib7d193435584fc3631740058ed34b4df4ab23ad6
Closes-Bug: #
1440773
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
Jenkins [Mon, 15 Jun 2015 04:03:59 +0000 (04:03 +0000)]
Merge "Wait until service thread is done on service stop"
Jenkins [Sun, 14 Jun 2015 23:02:12 +0000 (23:02 +0000)]
Merge "3PAR enable multiattach capability reporting"
Jenkins [Sun, 14 Jun 2015 22:43:31 +0000 (22:43 +0000)]
Merge "Use six to fix imports on Python 3"
Jenkins [Sat, 13 Jun 2015 17:11:27 +0000 (17:11 +0000)]
Merge "Add cinder volume driver for Blockbridge EPS"
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
Jenkins [Sat, 13 Jun 2015 15:40:23 +0000 (15:40 +0000)]
Merge "Add secondary account capability to SolidFire"
Jenkins [Sat, 13 Jun 2015 01:13:06 +0000 (01:13 +0000)]
Merge "Volume manager should set filter_function and goodness_function"
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
Jenkins [Fri, 12 Jun 2015 20:39:29 +0000 (20:39 +0000)]
Merge "san driver: don't use relative Python import"
Jenkins [Fri, 12 Jun 2015 19:03:07 +0000 (19:03 +0000)]
Merge "Implement Cinder Volume driver for HGST Solutions"
Jenkins [Fri, 12 Jun 2015 17:44:40 +0000 (17:44 +0000)]
Merge "Re-integrate Oracle iSCSI Cinder driver"
Jenkins [Fri, 12 Jun 2015 16:54:12 +0000 (16:54 +0000)]
Merge "NetApp E-Series: Add Fibre Channel Support"
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
Jenkins [Fri, 12 Jun 2015 14:39:06 +0000 (14:39 +0000)]
Merge "NetApp E-Series: Refactor class structure for FC"
Victor Stinner [Fri, 12 Jun 2015 12:55:37 +0000 (14:55 +0200)]
Replace dict(obj.iteritems() with dict(obj)
Since oslo.db 1.10, it's possible to convert directly a SQLAlchemy
object to a dictionary using dict(obj) instead of having to write
dict(obj.iteritems()).
dict(obj) works also on regular dictionaries to duplicate a dictionary.
Blueprint cinder-python3
Change-Id: I868a055d5bbfe6646aad3e36e1bf6c7a1ad7b449
Victor Stinner [Fri, 12 Jun 2015 12:53:05 +0000 (14:53 +0200)]
Replace dict.iteritems() with dict.items()
This change adds Python 3 compatibility to the modified code.
Replace also six.iteritems(obj) with obj.items().
The iteritems() method of Python 2 dictionaries was renamed to items()
on Python 3. As discussed on the openstack-dev mailing list, iteritems()
must be replaced with items(), six.iteritems() should not be used. In
OpenStack, the overhead of creating a temporary list with dict.items()
on Python 2 is negligible.
Blueprint cinder-python3
Change-Id: Ic3d8fd6b71d2c9f21929b0d6bf68c8f84a5e2567
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
Jenkins [Fri, 12 Jun 2015 10:00:52 +0000 (10:00 +0000)]
Merge "Replace it.next() with next(it) for py3 compat"
Jenkins [Fri, 12 Jun 2015 04:54:23 +0000 (04:54 +0000)]
Merge "NetApp E-Series driver: Remove caching logic"
Jenkins [Fri, 12 Jun 2015 04:05:21 +0000 (04:05 +0000)]
Merge "Updated from global requirements"
Jenkins [Fri, 12 Jun 2015 03:30:20 +0000 (03:30 +0000)]
Merge "EMC ScaleIO Cinder Driver"
Jenkins [Fri, 12 Jun 2015 01:49:32 +0000 (01:49 +0000)]
Merge "Re-add the StorPool distributed storage driver"
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
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
Jenkins [Thu, 11 Jun 2015 18:08:47 +0000 (18:08 +0000)]
Merge "Dell SC: Expanded comments and update var names"
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
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
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
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
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
Victor Stinner [Wed, 10 Jun 2015 12:49:59 +0000 (14:49 +0200)]
Use six.reraise() for Python 3 compatibility
Replace "raise a, b, c" with "six.reraise(a, b, c)" to make the Cinder
code compatible with Python 3.
This patch was generated by the raise operation of the sixer tool:
https://pypi.python.org/pypi/sixer
Blueprint cinder-python3
Change-Id: Iab9e12763e2a7641fc2671acdd4f2ff84be584f3
OpenStack Proposal Bot [Thu, 11 Jun 2015 12:33:15 +0000 (12:33 +0000)]
Updated from global requirements
Change-Id: I8dd1e2580be9642837e5b1f4b70b3cd22ec7c321
Jenkins [Thu, 11 Jun 2015 11:37:59 +0000 (11:37 +0000)]
Merge "Replace urllib and urllib2 with six.moves.urllib"
Jenkins [Thu, 11 Jun 2015 04:01:44 +0000 (04:01 +0000)]
Merge "Dispose DB connections between backend proc starts"
Jenkins [Wed, 10 Jun 2015 22:46:36 +0000 (22:46 +0000)]
Merge "Replace unicode with six.text_type"
Jenkins [Wed, 10 Jun 2015 22:41:29 +0000 (22:41 +0000)]
Merge "Switch from MySQL-python to PyMySQL"
Jenkins [Wed, 10 Jun 2015 20:14:53 +0000 (20:14 +0000)]
Merge "Add iSCSI protocol support for IBM FlashSystem"
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
Jenkins [Wed, 10 Jun 2015 18:44:28 +0000 (18:44 +0000)]
Merge "Add missing unit test for goodness weigher"
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
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
Jenkins [Wed, 10 Jun 2015 05:24:36 +0000 (05:24 +0000)]
Merge "Merge tag '2014.2'"
Jenkins [Wed, 10 Jun 2015 05:15:23 +0000 (05:15 +0000)]
Merge "Add 'source-id' and 'source-name' support in VNX driver"
Jenkins [Wed, 10 Jun 2015 01:37:25 +0000 (01:37 +0000)]
Merge "Merge tag '2015.1.0'"
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
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
Jenkins [Tue, 9 Jun 2015 20:13:04 +0000 (20:13 +0000)]
Merge "remotefs: Fix doc string for _create_snapshot"
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
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
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
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
Jenkins [Tue, 9 Jun 2015 14:10:55 +0000 (14:10 +0000)]
Merge "Fixes 3PAR snapshot failure with optional params"
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
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
Jenkins [Mon, 8 Jun 2015 17:34:35 +0000 (17:34 +0000)]
Merge "ConsistencyGroup: Return 400 instead of 500 for invalid body"
Jenkins [Mon, 8 Jun 2015 17:34:22 +0000 (17:34 +0000)]
Merge "Remove unused find_attribute_or_element()"
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
Jenkins [Mon, 8 Jun 2015 15:39:00 +0000 (15:39 +0000)]
Merge "Prophetstor driver needs to return snapshot objects"
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
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
Jenkins [Sat, 6 Jun 2015 03:35:37 +0000 (03:35 +0000)]
Merge "Dell SC: Added support for alternate iscsi portals"
Jenkins [Sat, 6 Jun 2015 01:02:52 +0000 (01:02 +0000)]
Merge "Revert "Adds drivers for DotHill Storage Arrays.""
Jenkins [Sat, 6 Jun 2015 00:16:29 +0000 (00:16 +0000)]
Merge "Handle ineffective backup compression"
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
Jenkins [Fri, 5 Jun 2015 22:57:00 +0000 (22:57 +0000)]
Merge "Windows SMBFS: Fix image resize errors during volume creation"
Jenkins [Fri, 5 Jun 2015 22:25:01 +0000 (22:25 +0000)]
Merge "Fix exception parameter name"
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
Jenkins [Fri, 5 Jun 2015 22:21:09 +0000 (22:21 +0000)]
Merge "Complete switch to snapshot objects"
Jenkins [Fri, 5 Jun 2015 22:18:51 +0000 (22:18 +0000)]
Merge "Dell: Added verify cert option for REST calls"
Jenkins [Fri, 5 Jun 2015 17:23:23 +0000 (17:23 +0000)]
Merge "Don't send heartbeats if Manager reports a problem"
Jenkins [Fri, 5 Jun 2015 17:23:06 +0000 (17:23 +0000)]
Merge "Multiple pools support enhancement in VNX cinder driver"
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
Jenkins [Fri, 5 Jun 2015 15:30:39 +0000 (15:30 +0000)]
Merge "Move Dothill tests out of root test directory"
Jenkins [Fri, 5 Jun 2015 14:45:39 +0000 (14:45 +0000)]
Merge "Add Pure Storage FibreChannel driver"
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
Jenkins [Fri, 5 Jun 2015 04:57:25 +0000 (04:57 +0000)]
Merge "Non-admin user to query volume filter by az"
Jenkins [Fri, 5 Jun 2015 04:55:16 +0000 (04:55 +0000)]
Merge "Fix remaining memory issues with nfs backup unit tests"
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
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
Jenkins [Fri, 5 Jun 2015 03:00:12 +0000 (03:00 +0000)]
Merge "DriverFilter: 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
Jenkins [Thu, 4 Jun 2015 22:12:54 +0000 (22:12 +0000)]
Merge "Changes in rally-jobs/README.rst"
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
Jenkins [Thu, 4 Jun 2015 22:01:39 +0000 (22:01 +0000)]
Merge "Refactor scheduler's create_volume flow"
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
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
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