Yuriy Nesenenko [Thu, 4 Jun 2015 15:50:14 +0000 (18:50 +0300)]
Handle incorrect '--config-dir' param
This patch fixes the error that occurs if the --config-dir directory
doesn't exist. The exception ConfigDirNotFoundError should be caught
in this case.
Change-Id: Iee3fbd2b01de11124788e2c1df5c456c4010d234
Closes-Bug: #
1255354
Jenkins [Thu, 18 Jun 2015 09:23:54 +0000 (09:23 +0000)]
Merge "Sync 'report' from oslo-incubator"
Jenkins [Wed, 17 Jun 2015 23:09:26 +0000 (23:09 +0000)]
Merge "ScaleIO: Fix broken format string"
Jenkins [Wed, 17 Jun 2015 21:07:57 +0000 (21:07 +0000)]
Merge "Fix namespace issue in generate_sample.sh"
Eric Harney [Wed, 17 Jun 2015 20:41:45 +0000 (16:41 -0400)]
ScaleIO: Fix broken format string
Closes-Bug: #
1466219
Change-Id: I0ce2eeb2ad85e6c36adf5505ef662efdf5b14f30
Eric Harney [Wed, 17 Jun 2015 20:00:35 +0000 (16:00 -0400)]
Sync 'report' from oslo-incubator
Needed to fix guru meditation report for Windows.
We landed an outdated 'report' module recently.
Add report.[generators,models,views] to
openstack-common.conf.
Oslo source:
c4c7dd28 Updated from global requirements
Closes-Bug: #
1286528
Change-Id: Ib33542718176241663c0e61605acbf4e941e2ca9
Jenkins [Wed, 17 Jun 2015 18:56:22 +0000 (18:56 +0000)]
Merge "Replace basestring with six.string_types"
Jenkins [Wed, 17 Jun 2015 18:51:45 +0000 (18:51 +0000)]
Merge "LVM add multiattach flag capability"
Jenkins [Wed, 17 Jun 2015 18:49:22 +0000 (18:49 +0000)]
Merge "Switch to oslo.policy 0.3.0"
Jenkins [Wed, 17 Jun 2015 17:31:10 +0000 (17:31 +0000)]
Merge "Add volume drivers for Infortrend Storage"
Jenkins [Wed, 17 Jun 2015 17:29:13 +0000 (17:29 +0000)]
Merge "Refactor API create_volume flow"
Jenkins [Wed, 17 Jun 2015 17:26:16 +0000 (17:26 +0000)]
Merge "Tintri driver to manage existing backend storage objects"
Jenkins [Wed, 17 Jun 2015 16:44:29 +0000 (16:44 +0000)]
Merge "Add config option to set max_volume_size_limit"
Walter A. Boring IV [Thu, 11 Jun 2015 17:07:23 +0000 (10:07 -0700)]
LVM add multiattach flag capability
This patch adds reporting of the multiattach capability
in the lvm driver. Currently the Cinder scheduler does filtering
on hosts at create time for the --allow-multiattach option being
passed into the create request from the client. In order for someone
to be able to create an LVM volume that can do multiattach, the LVM
driver needs to report the capability.
This patch's purpose is to allow LVM volumes to be multiattachable
for the folks working on the Nova patches to get Nova to do multiattach.
Without this patch, they can't do end to end testing.
Change-Id: I91942569a12d7c7637c7d9ffb8bbff0daeaf6a97
Jenkins [Wed, 17 Jun 2015 13:37:02 +0000 (13:37 +0000)]
Merge "Adds FC and ISCSI Cinder drivers for Lenovo Storage Arrays"
Lee [Fri, 24 Apr 2015 07:50:20 +0000 (15:50 +0800)]
Add volume drivers for Infortrend Storage
Infortrend implement ISCSI and FC volume drivers for
EonStor DS product.
It manages storage by Infortrend CLI tool.
common_cli.py implements the basic Cinder Driver API.
infortrend_fc_cli.py and infortrend_iscsi_cli.py use them to
provide FC and iSCSI specific support.
Support features:
- 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
Change-Id: I830c5a48a5fb85707f02396b4634825e27455e8a
Implements: blueprint infortrend-iscsi-fc-volume-driver
Jenkins [Wed, 17 Jun 2015 09:24:21 +0000 (09:24 +0000)]
Merge "Port remote_fs driver to use new driver model"
OpenStack Proposal Bot [Wed, 17 Jun 2015 00:34:25 +0000 (00:34 +0000)]
Updated from global requirements
Change-Id: I66c535760b7948ab0b6f7a7da3a0c5f5debaa75c
Jenkins [Wed, 17 Jun 2015 00:12:14 +0000 (00:12 +0000)]
Merge "Volume driver for HP XP storage"
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
Jenkins [Tue, 16 Jun 2015 22:34:44 +0000 (22:34 +0000)]
Merge "Fix broken export commands on block_device driver"
Victor Stinner [Wed, 10 Jun 2015 12:32:41 +0000 (14:32 +0200)]
Replace basestring with six.string_types
basestring type is gone in Python 3, use six.string_types to make Cinder code
compatible with Python 3.
This patch was generated by the basestring operation of the sixer tool:
https://pypi.python.org/pypi/sixer
Blueprint cinder-python3
Change-Id: Ie1aedf1cbb9d3e54a996321cd586b875e69ac85a
Jenkins [Tue, 16 Jun 2015 20:20:13 +0000 (20:20 +0000)]
Merge "Replace dit.itervalues() with dict.values()"
Jenkins [Tue, 16 Jun 2015 20:19:57 +0000 (20:19 +0000)]
Merge "Rewrite code merging two dictionaries"
Jenkins [Tue, 16 Jun 2015 19:51:14 +0000 (19:51 +0000)]
Merge "Update SolidFire to use target driver model"
John Griffith [Tue, 16 Jun 2015 19:15:43 +0000 (13:15 -0600)]
Fix broken export commands on block_device driver
When I implemented the new target driver code the
methods used for LVM were copy pasted:
commit
9651f547147188645942466602c92cce06666483
I screwed this up because the block_device driver
doesn't use LVM at all.
This patch sets it back the way it should be and just
uses the local dev file of the whole disk.
Change-Id: Ife88d5597df27dcd668a9a361bebccbc840ca2d4
Closes-Bug: #
1465819
Ivan Kolodyazhny [Tue, 9 Jun 2015 11:17:30 +0000 (14:17 +0300)]
Switch to oslo.policy 0.3.0
Use graduated oslo.policy instead of sync with oslo-incubator code.
Co-Authored-By: Ivan Kolodyazhny <e0ne@e0ne.info>
Change-Id: Ibb295830ac6abde9317c2549f75c1780ac454125
Closes-Bug: #
1421863
Partial-Bug: #
1458945
Rakesh Mishra [Tue, 26 May 2015 20:54:20 +0000 (02:24 +0530)]
Add config option to set max_volume_size_limit
There is a need to limit maximum size of a volume to levels
that the storage infrastructure can handle.
Setting a maximum limit on size of a volume also prevents
a tenant from creating large volumes that have not been tested
and certified to satisfy SLA objectives.
This feature allows admin to set volume size limit for a tenant.
Get default value for volume size limit via config.
The defaults will either come from the default values
set in the quota configuration option or via cinder.conf
if the user has configured default values for quotas there.
The per_volume_size_limit defaults to -1["No Limit"] always
unless changed in cinder.conf by admin
Change-Id: Ieb5c087ca7a33d22342470ea790a0c979a6244ea
Implements: blueprint cinder-quota-define-per-volume
Eric Harney [Tue, 16 Jun 2015 17:06:47 +0000 (13:06 -0400)]
Move DRBD tests into tests/unit
We've reorganized since the original driver code was
written, move this into the right directory.
Change-Id: I88b970e2726191c8cd795c5ddbb64784a465db65
Jenkins [Tue, 16 Jun 2015 16:53:06 +0000 (16:53 +0000)]
Merge "Introduce Guru Meditation Reports into Cinder"
Jenkins [Tue, 16 Jun 2015 16:17:05 +0000 (16:17 +0000)]
Merge "Use correct rtslib namespace for newer versions"
Jenkins [Tue, 16 Jun 2015 15:46:08 +0000 (15:46 +0000)]
Merge "Pass proxy environment variables to tox"
Jenkins [Tue, 16 Jun 2015 15:45:58 +0000 (15:45 +0000)]
Merge "Replace xrange() with six.moves.range()"
Jenkins [Tue, 16 Jun 2015 15:44:13 +0000 (15:44 +0000)]
Merge "Fix Python 3 issues in utils"
Jenkins [Tue, 16 Jun 2015 15:41:36 +0000 (15:41 +0000)]
Merge "Drop L suffix from long integers"
Jenkins [Tue, 16 Jun 2015 14:51:36 +0000 (14:51 +0000)]
Merge "Re-add DRBD driver"
Jenkins [Tue, 16 Jun 2015 14:37:36 +0000 (14:37 +0000)]
Merge "Adds FC and ISCSI Cinder drivers for DotHill Storage Arrays"
Kazumasa Nomura [Tue, 16 Jun 2015 11:24:39 +0000 (20:24 +0900)]
Volume driver for HP XP storage
Volume driver for HP XP storage, along with unit tests. The driver
imports the hp_xp_horcm_fc class, which is available separately to
HP XP customers.
Implements: blueprint hpxp-storage-driver
Change-Id: Ic28c7f3fc5d61e9c2304dca60e416b5e94b990db
Signed-off-by: Kazumasa Nomura <kazumasa.nomura.rx@hitachi.com>
Victor Stinner [Mon, 25 May 2015 15:08:00 +0000 (17:08 +0200)]
Replace xrange() with six.moves.range()
Add "from six.moves import range" to replace the builtin range()
function with six.moves.range() to always create an iterator, instead of
creating a temporary list.
Replace "xrange" with "range".
Don't add the import for ranges of 1024 items or less.
Blueprint cinder-python3
Change-Id: If618b4e810e444f7eb6592bb2398805e9d14d548
Victor Stinner [Wed, 10 Jun 2015 12:28:38 +0000 (14:28 +0200)]
Drop L suffix from long integers
Replace 123L with 123 to make Cinder code compatible with Python 3.
This patch was generated by the long operation of the sixer tool:
https://pypi.python.org/pypi/sixer
Manual changes:
* hp_3par_common: bump version
Blueprint cinder-python3
Change-Id: I3086d3e3d9c3ede358313bdd43d1eee9cfdafe15
Yuiko Takada [Mon, 15 Jun 2015 01:12:24 +0000 (10:12 +0900)]
Pass proxy environment variables to tox
When a development environment is under a proxy, tox fails even if
environment variables of the proxy are set.
This patch fixes this problem by passing (upper case and lower case)
http_proxy, https_proxy and no_proxy from environment to tox.
See: commit
2d02ebb775ec44a14e325c56d4a901c5705fbb94
Change-Id: Ib7964fd5ea4fb8398cdb4cd94a70fe7fae49f973
Philipp Marek [Tue, 16 Jun 2015 06:45:44 +0000 (08:45 +0200)]
Re-add DRBD driver
This reverts commit
37eef0b3d4d786d4b2b1a7e48f3e2339506e85e2.
We hope to have a -infra CI running by June 12th, to get included
in Liberty.
Change-Id: Icb7347d55dc5b22720269405b6d2b4053c2ad819
Michal Dulko [Tue, 16 Jun 2015 06:21:21 +0000 (08:21 +0200)]
Refactor API create_volume flow
This commit refactors the code to be more compliant with DRY rule.
I've also changed some comments to be more readable and correct.
Partial-Implements: blueprint taskflow-refactoring
Change-Id: I0345c07ac490b6bd738c0fdac0b621bb9156f899
Jenkins [Tue, 16 Jun 2015 04:22:38 +0000 (04:22 +0000)]
Merge "Get rid of oslo-incubator copy of middleware"
Jenkins [Tue, 16 Jun 2015 04:10:51 +0000 (04:10 +0000)]
Merge "Targets tests: Clean up long lines"
Jenkins [Tue, 16 Jun 2015 04:03:58 +0000 (04:03 +0000)]
Merge "SQL scripts should not manage transactions"
wanghao [Thu, 14 May 2015 07:42:44 +0000 (15:42 +0800)]
Introduce Guru Meditation Reports into Cinder
This commit integrates functionality from the
`openstack.common.report` module into Cinder.
This enables Cinder services to receive SIGUSR1
and print a Guru Meditation Report to stderr.
The required modules were added to
'openstack-common.conf' as well.
It is essentially a copy from implementation of
nova side.
Change-Id: I5bbdc0f97db9b0ebd7b48e50ab7869e2ca33aead
Implements: blueprint guru-meditation-report
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
Davanum Srinivas [Mon, 1 Jun 2015 21:43:03 +0000 (17:43 -0400)]
Get rid of oslo-incubator copy of middleware
We have already moved away from openstack/common/middleware modules
to the oslo_middlware library. Let us cleanup the remaining files
here.
Change-Id: I701b08a28884eb56d12f2829483fe94aa8d2fd1d
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"
John Griffith [Mon, 15 Jun 2015 20:02:28 +0000 (14:02 -0600)]
SQL scripts should not manage transactions
This bug was fixed a while back, but the migration added for
multi-attach reintroduced it for its sqlite_downgrade file.
This patch removes it.
blueprint enable-mysql-connector
Change-Id: Iaec8713bf5cf36bcc97afbca8dd025cda9c2238d
Closes-Bug:
1368391
Eric Harney [Fri, 12 Jun 2015 19:47:30 +0000 (15:47 -0400)]
Targets tests: Clean up long lines
Clean up long lines in unit tests, mostly by
using a variable for volume UUID and shortening
unnecessarily long CHAP credentials.
This is not intended to be complete, just
a good start that greatly reduces #noqa and
improves readability.
Change-Id: Iddc26a5722731d76e6d9e4b0ff493ed806bf148d
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
Victor Stinner [Fri, 12 Jun 2015 11:28:38 +0000 (13:28 +0200)]
Fix Python 3 issues in utils
* Replace string.split(key_file, ',') with key_file.split(','):
the string.split() function was removed in Python 3, use the
str.split() method instead
* Fix conf_fixture: import backup_enable_progress_timer and
backup_swift_enable_progress_timer options. This change is required
to run tests using testtools (it's now possible yet to run tests on
Python 3 using testr).
* hash_file(): use b'' (bytes) for the sentinel, not '' (unicode), when
reading the input binary file
* test_hash_file() requires a binary file (bytes), not a text file
(unicode)
* Get the builtin open() function from six.moves.builtins instead of
getting it from __builtin__ to mock the open() function. The
__builtin__ module was renamed to builtins in Python 3.
* sanitize_hostname(): on Python 3, decode back the hostname from Latin1
to work on a native string (Unicode)
* replace reduce() with six.moves.reduce(): the Python 2 builtin
reduce() function was moved to the functools module in Python 3
* convert_version_to_str(): fix integer division, use a//b, not a/b
* convert_version_to_str(): replace reduce() with ''.join() with map(str)
Blueprint cinder-python3
Change-Id: If7b8f50c6a8b0a5044c2c7108b2b0293dddafff3
Jenkins [Mon, 15 Jun 2015 04:03:59 +0000 (04:03 +0000)]
Merge "Wait until service thread is done on service stop"
John Griffith [Thu, 11 Jun 2015 14:52:38 +0000 (08:52 -0600)]
Update SolidFire to use target driver model
A while back we broke the inheritance chain of transport and backend
by moving the target drivers outside of the drivers.
This means you can instantiate and use any target (data transport)
method that your device supports without requiring a separate
driver (again, if your device can support it). This was
particularly important for the LVM ref driver and the 5 iSCSI
options that go with it.
This patch converts the SolidFire driver to use the same model. For
the most part it's pretty simple:
* Create an internal class for the target driver
* Instantiate the target driver that you want to use
* wrap the old transport calls that come to the driver to call
the new target driver objects
This exposed some issues with the abc work that was being done.
There are a number of items that are marked as required but are
really only necessary for LVM based drivers. So this also
creates a san/3'rd party iSCSI subclass as well that has the
more appropriate abc settings for such devices.
Change-Id: I02ceaac58d0e4176ccad423763ae0101cfb8446b
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 13:21:09 +0000 (15:21 +0200)]
Replace dit.itervalues() with dict.values()
This change adds Python 3 compatibility to the modified code.
The itervalues() method of Python 2 dictionaries was renamed to values() on
Python 3. As discussed on the openstack-dev mailing list, itervalues() must be
replaced with values(), six.itervalues() should not be used. In OpenStack, the
overhead of creating a temporary list with dict.values() on Python 2 is
negligible.
Blueprint cinder-python3
Change-Id: Ibcf4597aeef1835f08bee2d6831205c428884c31
Victor Stinner [Fri, 12 Jun 2015 13:05:00 +0000 (15:05 +0200)]
Rewrite code merging two dictionaries
Basically, replace dict(dict1.items() + dict2.items()) with
dict1.update(dict2) (and copy dict1 when needed).
This change adds Python 3 compatibility to the modified code.
Blueprint cinder-python3
Change-Id: I4f73efa0434f5c7ffba2dd966035762d197b9c68
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
Sean Chen [Wed, 3 Jun 2015 21:06:12 +0000 (14:06 -0700)]
Tintri driver to manage existing backend storage objects
* Manage existing volume
* Get size of volume to be managed
* Unmanage volume
* Add tintri_api_version configuration option
* Make tintri_server_username configuration option required
DocImpact
Change-Id: I87c1213f9b9413cb7a0d95f4a75ffd9165baf1b3
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"