]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
9 years agoFix various Python 3 issues
Victor Stinner [Fri, 2 Oct 2015 07:43:44 +0000 (09:43 +0200)]
Fix various Python 3 issues

* Drop exceptions import. Replace exceptions.OSError with OSError.
  The exceptions module was removed in Python 3.
* Replace 8l with 8
* Replace generator.next() with next(generator)
* convert_uuid_to_es_fmt(): use bytes
* Replace function.func_name with function.__name__

This change helps to run tests using "testr run" instead of
testtools.run.

Blueprint cinder-python3
Change-Id: I36476199ef336069669c5bc6cb5c285b21d8116b

9 years agoMerge "Image cache tests: use fake_notifier"
Jenkins [Fri, 2 Oct 2015 04:13:54 +0000 (04:13 +0000)]
Merge "Image cache tests: use fake_notifier"

9 years agoImage cache tests: use fake_notifier
Eric Harney [Thu, 1 Oct 2015 19:31:54 +0000 (15:31 -0400)]
Image cache tests: use fake_notifier

Use the same method for testing notifications that's
used in test_volume.

This may resolve the bug below, but that isn't
really clear yet.  Either way, it seems less risky.

Closes-Bug: #1501745

Change-Id: I566d27e70bcfaaa0f863cdfacaef6fe11236f9e6

9 years agoMerge "LVM: Make sparse_copy_volume private, use for capabilities"
Jenkins [Thu, 1 Oct 2015 17:54:18 +0000 (17:54 +0000)]
Merge "LVM: Make sparse_copy_volume private, use for capabilities"

9 years agoMerge "Obtain target authentication from database same as LIO target"
Jenkins [Thu, 1 Oct 2015 13:39:37 +0000 (13:39 +0000)]
Merge "Obtain target authentication from database same as LIO target"

9 years agoMerge "Sheepdog: Improve snapshot and clone operation"
Jenkins [Thu, 1 Oct 2015 03:10:48 +0000 (03:10 +0000)]
Merge "Sheepdog: Improve snapshot and clone operation"

9 years agoMerge "Port test_volume to Python 3"
Jenkins [Thu, 1 Oct 2015 02:56:29 +0000 (02:56 +0000)]
Merge "Port test_volume to Python 3"

9 years agoMerge "VMware: Remove VMDK driver for ESX server"
Jenkins [Thu, 1 Oct 2015 02:56:18 +0000 (02:56 +0000)]
Merge "VMware: Remove VMDK driver for ESX server"

9 years agoObtain target authentication from database same as LIO target
Mitsuhiro Tanino [Fri, 25 Sep 2015 22:09:59 +0000 (18:09 -0400)]
Obtain target authentication from database same as LIO target

Currently, tgt, iet and cxt obtain user and password for iSCSI
target by analyzing configuration file.
However this information is already stored in DB and LIO obtains
these authentication from provider_auth in DB.
This way is simple and robust instead of analyzing configuration
file directly.
This patch proposes these two changes:
- Change the way to obtain authentication from configuration
  file to DB at _get_target_chap_auth().
- Move _get_target_chap_auth() into iscsi.py and inherit
  the method at tgt, iet and cxt target because they can use
  same implementation to get authentication from DB.

Co-Authored-By: Anish Bhatt <anish@chelsio.com>
Change-Id: I5188ce5855d206c513f72e01f010175490ec89b2
Partial-Bug: #1499795

9 years agoMerge "Dell SC: cgsnapshot-delete doesn't actually delete"
Jenkins [Wed, 30 Sep 2015 21:52:21 +0000 (21:52 +0000)]
Merge "Dell SC: cgsnapshot-delete doesn't actually delete"

9 years agoLVM: Make sparse_copy_volume private, use for capabilities
Eric Harney [Wed, 23 Sep 2015 20:26:20 +0000 (16:26 -0400)]
LVM: Make sparse_copy_volume private, use for capabilities

This should be a private variable after the refactoring
done for
0982ad1 Efficient volume copy for generic volume migration

Additionally, just use the variable determined by the
config at init time when reporting capabilities rather
than having a separate calculation there.

Change-Id: I433e22f71b24afd10a879447d79ce1fda0a7bfa6

9 years agoDell SC: cgsnapshot-delete doesn't actually delete
Tom Swanson [Tue, 29 Sep 2015 15:26:48 +0000 (10:26 -0500)]
Dell SC: cgsnapshot-delete doesn't actually delete

dell_storagecenter_api.py was looking for the cgsnapshot for
cgsnapshot-delete via the wrong REST API call.  It was also only
looking for the first volume's snapshot rather than all snapshots
associated with a cgsnapshot.  It now locates the snapshots properly
and expires the associated replays on cgsnapshot-delete.

Tests updated appropriately.

Change-Id: I1e635db8b06d3d7a78573e6e8a2a4c25b7fb458d
Closes-Bug: #1500583

9 years agoMerge "Setup LVM_SYSTEM_DIR earlier in LVM.__init()"
Jenkins [Tue, 29 Sep 2015 20:20:42 +0000 (20:20 +0000)]
Merge "Setup LVM_SYSTEM_DIR earlier in LVM.__init()"

9 years agoMerge "Fix Python 3 issues in wsgi"
Jenkins [Tue, 29 Sep 2015 20:19:35 +0000 (20:19 +0000)]
Merge "Fix Python 3 issues in wsgi"

9 years agoMerge "Add manage_existing and unmanage to BaseVD"
Jenkins [Tue, 29 Sep 2015 20:19:25 +0000 (20:19 +0000)]
Merge "Add manage_existing and unmanage to BaseVD"

9 years agoMerge "GlusterFS: extend volume to the right path"
Jenkins [Tue, 29 Sep 2015 20:18:17 +0000 (20:18 +0000)]
Merge "GlusterFS: extend volume to the right path"

9 years agoFix typo in cinder-config-generator.conf
Thomas Goirand [Tue, 29 Sep 2015 13:29:59 +0000 (15:29 +0200)]
Fix typo in cinder-config-generator.conf

In cinder-config-generator.conf, I could see:
namesapce = oslo.i18n
instead of namespace. This patch fixes this.

Change-Id: Ice55b974d593f4eb24920805a751ee58ac0201f3

9 years agoMerge "Fix update Huawei driver issue"
Jenkins [Tue, 29 Sep 2015 12:55:58 +0000 (12:55 +0000)]
Merge "Fix update Huawei driver issue"

9 years agoMerge "Fix unreachable code pylint issues"
Jenkins [Tue, 29 Sep 2015 12:50:54 +0000 (12:50 +0000)]
Merge "Fix unreachable code pylint issues"

9 years agoPort test_volume to Python 3
Victor Stinner [Fri, 21 Aug 2015 16:47:50 +0000 (09:47 -0700)]
Port test_volume to Python 3

* don't use hasttr() to check if a lazy SQLAlchemy is loaded or not: use
  the obj_attr_is_set() method instead. On Python 3, hasattr() pass
  through SQLAlchemy exceptions which is unexpected.
* Replace a/b with a//b to use integer division, not float division.
* Replace filter() with list-comprehension using an if.
* Replace file() with open() and open /dev/null in binary mode (not text
  mode, so Unicode on Python 3).
* test_volume require "import cinder.volume.targets.tgt" on Python 3
* Use a key function to sort a list of dictionaries. Dictionaries are no
  more comparable on Python 3.
* tox.ini: add the following tests to Python 3.4.

  - cinder.tests.unit.keymgr.test_mock_key_mgr
  - cinder.tests.unit.test_volume

Note: test_list_availability_zones_enabled_service() of test_volume
was broken, the test checked that the result of .sort() is None...

Blueprint cinder-python3
Change-Id: If1a26acc0138db9bda7fde1cb1f40093d9b3c494

9 years agoMerge "Small cleanups in BaseVD/VolumeDriver"
Jenkins [Tue, 29 Sep 2015 10:16:30 +0000 (10:16 +0000)]
Merge "Small cleanups in BaseVD/VolumeDriver"

9 years agoMerge "Add "fast8" tox env"
Jenkins [Tue, 29 Sep 2015 10:15:51 +0000 (10:15 +0000)]
Merge "Add "fast8" tox env"

9 years agoFix unreachable code pylint issues
Rajesh Tailor [Tue, 29 Sep 2015 07:34:31 +0000 (00:34 -0700)]
Fix unreachable code pylint issues

Fixed unreachable code (warning code W0101) pylint issues.

TrivialFix
Change-Id: I1b26952609c609114dc23ffb34609b7a9aed2ebf

9 years agoFix update Huawei driver issue
Wilson Liu [Thu, 24 Sep 2015 10:05:11 +0000 (18:05 +0800)]
Fix update Huawei driver issue

If a volume is created with old version of Huawei driver,
there is no pool info related to the volume, but the new
version of Huawei driver assumes that the volume have the
pool info and will read the pool info from the volume,
and then the read fails. This will happen when we call
create_volume_from_snapshot() in new version of Huawei
driver when the volume is created by old version of Huawei
driver.

Closes-bug: #1499251
Change-Id: I296f6354340e1a3698d8a284c9aa2a444c73771d

9 years agoMerge "Fix VMAX live migration problem"
Jenkins [Tue, 29 Sep 2015 03:18:39 +0000 (03:18 +0000)]
Merge "Fix VMAX live migration problem"

9 years agoMerge "Report *real* free capacity in Huawei driver"
Jenkins [Tue, 29 Sep 2015 03:07:45 +0000 (03:07 +0000)]
Merge "Report *real* free capacity in Huawei driver"

9 years agoMerge "Use pbr wsgi_scripts to install Cinder WSGI entry point"
Jenkins [Tue, 29 Sep 2015 02:48:54 +0000 (02:48 +0000)]
Merge "Use pbr wsgi_scripts to install Cinder WSGI entry point"

9 years agoMerge "py3: Port pure driver test to Python 3"
Jenkins [Mon, 28 Sep 2015 22:22:20 +0000 (22:22 +0000)]
Merge "py3: Port pure driver test to Python 3"

9 years agoMerge "Fix volume related operation in CloudByte driver"
Jenkins [Mon, 28 Sep 2015 17:53:20 +0000 (17:53 +0000)]
Merge "Fix volume related operation in CloudByte driver"

9 years agoMerge "Imported Translations from Zanata"
Jenkins [Mon, 28 Sep 2015 17:48:58 +0000 (17:48 +0000)]
Merge "Imported Translations from Zanata"

9 years agoMerge "Fix Bad indentation pylint issues"
Jenkins [Mon, 28 Sep 2015 16:14:42 +0000 (16:14 +0000)]
Merge "Fix Bad indentation pylint issues"

9 years agoMerge "Remove the destination volume check in delete_volume"
Jenkins [Mon, 28 Sep 2015 16:00:24 +0000 (16:00 +0000)]
Merge "Remove the destination volume check in delete_volume"

9 years agoFix Python 3 issues in wsgi
Victor Stinner [Tue, 18 Aug 2015 23:03:51 +0000 (16:03 -0700)]
Fix Python 3 issues in wsgi

Fix unicode versus bytes issues in wsgi code, a HTTP body is a bytes
string. Changes:

* On Python 3, encode JSON to UTF-8.
* Replace file() with open(); file() was removed in Python 3.
* Use literal byte strings (b'...') for HTTP body.
* Use binary instead of text mode for HTTP body when getting a file from
  a socket (sock.makefile).

Blueprint cinder-python3
Change-Id: If46e0060371f5eb00fd33d5b58ec236d1ff4ace1

9 years agopy3: Port pure driver test to Python 3
Victor Stinner [Wed, 26 Aug 2015 22:13:51 +0000 (00:13 +0200)]
py3: Port pure driver test to Python 3

* Replace func.func_name with func.__name__: the func_name attribute
  was removed in Python 3, whereas the __name__ attribute exists on
  Python 2 and Python 3
* Create INITIATOR_TARGET_MAP using list(set()) to get the same order
  than the tested code. The exact order is not reliable, it depends
  on the hash function which is now randomized by default on
  Python 3. The hash function is also different between Python 2.7
  and 3.4.
* tox.ini: add test_pure to Python 3.4

Blueprint cinder-python3
Change-Id: I78601278259f1d34ad6ac3458d2dd0a3aca9d77a

9 years agoGlusterFS: extend volume to the right path
Einst Crazy [Thu, 24 Sep 2015 16:24:18 +0000 (00:24 +0800)]
GlusterFS: extend volume to the right path

Extend volume uses the wrong volume file path. It should
extend the active volume file path.

And set _active_volume_path as a common function, that
also change delete_volume() and backup_volume().

Closes-Bug: 1499452

Change-Id: I2f19a721f4d3e9b05601e820e10a6eb1328a68a9

9 years agoMerge "Show image metadata"
Jenkins [Mon, 28 Sep 2015 15:08:46 +0000 (15:08 +0000)]
Merge "Show image metadata"

9 years agoUse pbr wsgi_scripts to install Cinder WSGI entry point
Ivan Kolodyazhny [Mon, 28 Sep 2015 12:35:58 +0000 (15:35 +0300)]
Use pbr wsgi_scripts to install Cinder WSGI entry point

pbr 1.4.0 added support for wsgi_scripts that creates scripts for wsgi
servers on install.

Change-Id: Ifbab059001d1567b1f7b394c0411a9ca4629f846
Closes-Bug: #1500367

9 years agoReport *real* free capacity in Huawei driver
Wilson Liu [Thu, 24 Sep 2015 08:52:31 +0000 (16:52 +0800)]
Report *real* free capacity in Huawei driver

When we query capacity of a storage pool on Huawei storage,
there are two items in the result: one is "USERFREECAPACITY"
and the another one is "DATASPACE". In fact the "DATASPACE"
is the *real* space we can use to create LUN, the
"USERFREECAPACITY" contains some metadata that we can not use
to store user data.

Closes-Bug: #1499227
Change-Id: I34a8c67dea2a7b7f5a2a693a65c9303b2cc3d972

9 years agoMerge "Create a page of drivers with stevedore.sphinxext"
Jenkins [Mon, 28 Sep 2015 10:08:10 +0000 (10:08 +0000)]
Merge "Create a page of drivers with stevedore.sphinxext"

9 years agoMerge "Huawei driver add check before use a QoS"
Jenkins [Mon, 28 Sep 2015 09:53:46 +0000 (09:53 +0000)]
Merge "Huawei driver add check before use a QoS"

9 years agoImported Translations from Zanata
OpenStack Proposal Bot [Mon, 28 Sep 2015 06:19:29 +0000 (06:19 +0000)]
Imported Translations from Zanata

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

Change-Id: Icc2ef9b5d5fe090baa7a3027cdc52ae1e2874e82

9 years agoFix Bad indentation pylint issues
Rajesh Tailor [Mon, 8 Jun 2015 11:52:49 +0000 (04:52 -0700)]
Fix Bad indentation pylint issues

Fixed Bad indentation (warning code W0311) issues in cinder project.

Closes-Bug: 1462992
Change-Id: Idf3c036b1826ed5c0efa2e13ddf289e6880323a6

9 years agoShow image metadata
Dave Chen [Mon, 3 Aug 2015 09:01:22 +0000 (17:01 +0800)]
Show image metadata

This patch implements the API to show the glance image metadata
for a specific volume.

DocImpact: May need to document this API.
APIImpact: Provided the API to show image metadata.
Partially implements: bp support-modify-volume-image-metadata

Change-Id: I2bcc9d3d44a784abaa0138397f553a825c92573a

9 years agoFix volume related operation in CloudByte driver
Abhishek Shrivastava [Fri, 25 Sep 2015 06:53:38 +0000 (12:23 +0530)]
Fix volume related operation in CloudByte driver

Currently the volume related operation in CloudByte driver does not:

* Update the ISCSI Initiator Group during volume deletion operation,
and
* During retry of any volume operation it does not catches the exact
cause of the failure happened.

So to deal with the following issues two changes has been done in
CloudByte Driver:

* Added a new method "_update_initiator_group"
ISCSI Initiator Group is one of the parameter added to the volumes
at the time of creation in CloudByte Storage. Using this the external
source can access the volumes easily. By default, Initiator Group
value is set to 'ALL', but it should be changed to 'None' before
deletion. Since the following is not happening, thus volume delete
operation fails from OpenStack. In order to avoid this the
"delete_volume" method now uses the "_update_initiator_group" which
update the volume ISCSI Initiatior Groupof the volumes to 'None'
before deletion, and thus volume delete operation will have no issues
while running from OpenStack.

* Added a check to "_retry_volume_operation"
The _retry_volume_operation method was not able to check the exact
cause of the failure happened during volume operation in CloudByte
Storage, which arises if some invalid parameters are provided in
"cinder.conf" against "cloudbyte backend" or if some anomaly happens
at CloudByte Storage during any volume operation from OpenStack. Due
to this, tracking the ERROR becomes a very difficult task to do. Thus
to resolve this issue a "check" has been added to the method which
will raise the exact cause of the error and thus making it easier to
solve.

Change-Id: Ie385df7c18520ea4abb5640fb354bdd18212c5a3
Closes-Bug: #1499297

9 years agoMerge "Add placholder for migration backports in Liberty"
Jenkins [Sat, 26 Sep 2015 00:11:23 +0000 (00:11 +0000)]
Merge "Add placholder for migration backports in Liberty"

9 years agoMerge "Remove duplicate keys from dictionary"
Jenkins [Fri, 25 Sep 2015 23:39:07 +0000 (23:39 +0000)]
Merge "Remove duplicate keys from dictionary"

9 years agoMerge "Revert use of netapp_lib from NetApp Drivers"
Jenkins [Fri, 25 Sep 2015 23:15:17 +0000 (23:15 +0000)]
Merge "Revert use of netapp_lib from NetApp Drivers"

9 years agoAdd placholder for migration backports in Liberty
John Griffith [Thu, 3 Sep 2015 02:54:08 +0000 (20:54 -0600)]
Add placholder for migration backports in Liberty

Adding 5 placeholders for migration backports.

Change-Id: Id3c4efbeee8bb1d800d71576d9de66ae9deb315a

9 years agoMerge "Python 3 incompatible expression fix"
Jenkins [Fri, 25 Sep 2015 17:25:11 +0000 (17:25 +0000)]
Merge "Python 3 incompatible expression fix"

9 years agoMerge "Port image_utils to Python 3"
Jenkins [Fri, 25 Sep 2015 17:02:30 +0000 (17:02 +0000)]
Merge "Port image_utils to Python 3"

9 years agoMerge "Port volume transfer to Python 3"
Jenkins [Fri, 25 Sep 2015 16:38:33 +0000 (16:38 +0000)]
Merge "Port volume transfer to Python 3"

9 years agoMerge "Missing configuration opts from cinder.sample.conf"
Jenkins [Fri, 25 Sep 2015 14:55:31 +0000 (14:55 +0000)]
Merge "Missing configuration opts from cinder.sample.conf"

9 years agoRevert use of netapp_lib from NetApp Drivers
Goutham Pacha Ravi [Fri, 25 Sep 2015 05:52:43 +0000 (01:52 -0400)]
Revert use of netapp_lib from NetApp Drivers

This patch cleanly reverts the changes made via the
commit: e681ba2a99995dcd999e6539bb1222f8a1ac8adc
cleanly and mitigates the conflicts that would
occur with git-revert on the said commit.

The revert is solely for changes pertaining to the use
of the external library, netapp_lib. Minor code refactors
from the prior change are retained.

Unit test coverage has been increased for ZAPI and REST
interface code in netapp/dataontap/client/api.py and
netapp/eseries/client.py.

Closes-Bug: #1499334
Change-Id: Icead7e168e1c7187840de87c69365d26aedd5924

9 years agoRemove the destination volume check in delete_volume
Vincent Hou [Tue, 1 Sep 2015 03:17:04 +0000 (11:17 +0800)]
Remove the destination volume check in delete_volume

* If the volume migration fails in the middle of the progress,
the destination volume will be cleaned up via
rpcapi.delete_volume. The method delete_volume in manager
should allow us to clean up the database record for the
destination volume.

* The variable update in migrate_volume_completion has been
assigned twice. Remove the second one.

Change-Id: Icb815476943053f1487268b33c28f3575c4fd0dc
Closes-Bug: #1490445

9 years agoHuawei driver add check before use a QoS
Wilson Liu [Wed, 23 Sep 2015 07:04:33 +0000 (15:04 +0800)]
Huawei driver add check before use a QoS

One QoS in Huawei storage array can contain at most 64 LUNs.
Do a check before adding LUN to QoS, if the number of the
LUNs in the QoS is already equal or larger than 64, then
this QoS should not be used.

Closed-Bug: #1498773
Change-Id: I9dd78cc1378051ded135a885cfc9347d42977311

9 years agoMerge "Use function capsulation in Huawei driver"
Jenkins [Fri, 25 Sep 2015 02:29:22 +0000 (02:29 +0000)]
Merge "Use function capsulation in Huawei driver"

9 years agoMerge "Check sio_storage_pools in check_for_setup_error"
Jenkins [Thu, 24 Sep 2015 21:16:24 +0000 (21:16 +0000)]
Merge "Check sio_storage_pools in check_for_setup_error"

9 years agoFix VMAX live migration problem
Xing Yang [Wed, 23 Sep 2015 15:22:43 +0000 (11:22 -0400)]
Fix VMAX live migration problem

Live migration fails for VMAX because the host is not taken into
account when determining whether a volume is masked or not. For
live migration it is necessary to know which host a volume is masked
to. This patch fixes the problem by checking which host the volume
is masked to.

Change-Id: I693e29f7b26145bd1fd357b7d98377e26bfdfed8
Closes-Bug: #1498964

9 years agoMissing configuration opts from cinder.sample.conf
Kendall Nelson [Mon, 21 Sep 2015 18:11:19 +0000 (13:11 -0500)]
Missing configuration opts from cinder.sample.conf

The logic for writing opts registered with register_opt() to the
auto-generated opts.py file was flawed in that the directories where
there were opts being registered with this method would be imported,
but the actual opt would be missed when looking through the file for
the name of the opt being registered. Now the singular opts are being
caught and written to opts.py for the oslo-config-generator to process.

The 'backend' section was added to generate_cinder_opts.py
due to some of the missing opts being a part of that section.

Also the way some of the opts that were being registered with groups
were incorrect and so this addresses those in both how they were
processed in generate_cinder_opts.py and the files in which they are being
registered.

There is also one change to the name of an opt in cinder/volume/api.py.
Instances such as this one will be caught by the in-progress hacking
check patch: https://review.openstack.org/#/c/223375/

Change-Id: I8d333d7529d40f3a3b3651ca3a52c0048d96b99a
Closes-Bug: #1498122

9 years agoUse function capsulation in Huawei driver
Wilson Liu [Sun, 13 Sep 2015 13:26:08 +0000 (21:26 +0800)]
Use function capsulation in Huawei driver

Use a function _get_id_from_result() instead of lots of
duplicated code.

Closes-Bug: #1495231
Change-Id: I8ae7d27cb977110109fa26bd6b3ddcbc7298fbc1

9 years agoMerge "Create volume in cg enhancement in VNX driver"
Jenkins [Thu, 24 Sep 2015 00:54:10 +0000 (00:54 +0000)]
Merge "Create volume in cg enhancement in VNX driver"

9 years agoMerge "Open Mitaka development"
Jenkins [Wed, 23 Sep 2015 19:06:21 +0000 (19:06 +0000)]
Merge "Open Mitaka development"

9 years agoMerge "Fix URL format in Huawei driver"
Jenkins [Wed, 23 Sep 2015 17:49:03 +0000 (17:49 +0000)]
Merge "Fix URL format in Huawei driver"

9 years agoOpen Mitaka development
Thierry Carrez [Wed, 23 Sep 2015 15:11:30 +0000 (17:11 +0200)]
Open Mitaka development

Bump preversion to mark the start of the Mitaka development branch.
The liberty release branch will be cut from the previous commit.

Change-Id: Icb57e22104f70a9b5d8c1c0b56b3156e51c60b4a

9 years agoCreate volume in cg enhancement in VNX driver
Tina [Thu, 17 Sep 2015 04:04:42 +0000 (00:04 -0400)]
Create volume in cg enhancement in VNX driver

VNX driver queries whether a LUN is in CG after adding it into
CG. However, as long as the LUN is added successfully, the LUN
will be in CG. The additional query is useless. This patch removes
the additional query.

Change-Id: I1ca43616d41169ceb1f8fde460f7ec4a616c5d56
Closes-Bug: #1497900

9 years agoMerge "Fixing create CG from Cgsnapshot bug in VNX driver"
Jenkins [Wed, 23 Sep 2015 06:31:27 +0000 (06:31 +0000)]
Merge "Fixing create CG from Cgsnapshot bug in VNX driver"

9 years agoRemove duplicate keys from dictionary
ankitagrawal [Tue, 22 Sep 2015 13:01:19 +0000 (06:01 -0700)]
Remove duplicate keys from dictionary

There are few places where duplicate keys are added in the dictionary.
Removed all such occurrences throughout the code.

TrivialFix

Change-Id: I5db553d4d9f161b513520c87b6ad17b7ca6a0782

9 years agoMerge "Make rpc_client method private for VolumeCommands"
Jenkins [Wed, 23 Sep 2015 04:31:59 +0000 (04:31 +0000)]
Merge "Make rpc_client method private for VolumeCommands"

9 years agoMerge "Allow c-vol backends to start when some backends fail to load"
Jenkins [Wed, 23 Sep 2015 04:24:55 +0000 (04:24 +0000)]
Merge "Allow c-vol backends to start when some backends fail to load"

9 years agoFix URL format in Huawei driver
Wilson Liu [Wed, 23 Sep 2015 03:43:06 +0000 (11:43 +0800)]
Fix URL format in Huawei driver

Some of the URL format are not standard,
this patch will fix them.

Change-Id: I3caf49e6ca7f5f6f2caa1b56ba2dc2af2cafdcea
Close-Bug: #1498484

9 years agoMerge "Fix use of wrong storage pools for NetApp Drivers"
Jenkins [Tue, 22 Sep 2015 23:59:53 +0000 (23:59 +0000)]
Merge "Fix use of wrong storage pools for NetApp Drivers"

9 years agoMerge "Replace soft_delete in volume_type_access_remove"
Jenkins [Tue, 22 Sep 2015 22:28:50 +0000 (22:28 +0000)]
Merge "Replace soft_delete in volume_type_access_remove"

9 years agoSetup LVM_SYSTEM_DIR earlier in LVM.__init()
Fergal Mc Carthy [Tue, 22 Sep 2015 20:39:48 +0000 (16:39 -0400)]
Setup LVM_SYSTEM_DIR earlier in LVM.__init()

When using a Cinder specific lvm.conf file, we need to setup the
LVM_SYSTEM_DIR setting in the LVM.LVM_CMD_PREFIX before issuing
any LVM commands to ensure that the correct lvm.conf is used.

The issue was uncovered when testing on a Cinder Volume host setup
as follows:
  * Cinder is configured to use an LVM backend, backed by the
    cinder-volumes VG, which already exists.
  * /etc/lvm/lvm.conf rejects all devices other than those on which
    the operating system is installed.
  * /etc/cinder/lvm.conf accepts only the devices backing the
    cinder-volumes LVM VG

The cinder-volume service would fail to initialise the specified LVM
backend because the cinder.brick.local_dev.lvm.LVM.__init__() call
checks for the existence of the specified VG before
    LVM_SYSTEM_DIR=/etc/cinder
has been added to the LVM.LVM_CMD_PREFIX, and thus fails to find the
VG, and raises an exception.

By moving the setup of the LVM_SYSTEM_DIR environment variable in
LVM.LVM_CMD_PREFIX to happen before any LVM commands are issued we
ensure that all subsequent LVM commands are run against the correct
lvm.conf file.

Change-Id: I6551b045ab48ee60c3ee4cd15c13058635c144c2
Closes-Bug: #1498480

9 years agoMerge "Ignore Forbidden error on quotas-get for nested projects"
Jenkins [Tue, 22 Sep 2015 19:55:25 +0000 (19:55 +0000)]
Merge "Ignore Forbidden error on quotas-get for nested projects"

9 years agoAdd "fast8" tox env
Eric Harney [Tue, 22 Sep 2015 19:43:51 +0000 (15:43 -0400)]
Add "fast8" tox env

This replicates the run_tests.sh -8 behavior, running
flake8 only on changes made in the last commit and
working tree.

Change-Id: Iebd5746c78e840225f0860843c77f4c638877c26

9 years agoAllow c-vol backends to start when some backends fail to load
Eric Harney [Mon, 21 Sep 2015 18:29:19 +0000 (14:29 -0400)]
Allow c-vol backends to start when some backends fail to load

Currently, if a c-vol backend fails to load due to an error in
the module startup process (like a volume driver's __init__ or
dependency import failure), the c-vol process halts completely.

Instead, catch that backend failure, log it, and allow other
backends in enabled_backends to still start up and run.

Note that this is not applicable for failures that allow
drivers to load and remain "uninitialized" -- this is for
failures that occur prior to that point.

Closes-Bug: #1497413

Change-Id: If183b9e3d21777cddf713c2dc88dc80ae7cfe01d

9 years agoFix use of wrong storage pools for NetApp Drivers
Goutham Pacha Ravi [Fri, 26 Jun 2015 16:32:06 +0000 (12:32 -0400)]
Fix use of wrong storage pools for NetApp Drivers

When using NetApp drivers, all available flexvols on
a datastore are being reported to the Cinder Scheduler
as available storage pools. This allows Cinder volumes
to be created on flexvols not designated for OpenStack.

This commit fixes the problem by delimiting which pools are
eligible for provisioning via a configuration parameter
'netapp_pool_name_search_pattern'. This allows
the Cinder drivers to operate against a restricted
set of storage containers.

DocImpact
Co-Authored-By: Rushil Chugh <rushil@netapp.com>
Co-Authored-By: Michael Price <michael.price@netapp.com>
Closes-Bug: #1493399
Change-Id: I7b6f2205470ecbbcb165889db19e1168117dd0b2

9 years agoVMware: Remove VMDK driver for ESX server
Vipin Balachandran [Fri, 14 Aug 2015 06:15:51 +0000 (11:45 +0530)]
VMware: Remove VMDK driver for ESX server

The VMDK driver for ESX server was deprecated during
Icehouse release. Configuring Cinder to use this driver
prints a warning that the driver is deprecated and
will be removed in the Juno release.

This patch removes the deprecated VMDK driver for
ESX server.

Closes-Bug: #1494701
Change-Id: I8c0ad19cf09016c112d242f93b24c6742acaa1e8

9 years agoMerge "Change ignore-errors to ignore_errors"
Jenkins [Tue, 22 Sep 2015 07:32:33 +0000 (07:32 +0000)]
Merge "Change ignore-errors to ignore_errors"

9 years agoMerge "Fix way of getting LUN id in Huawei driver"
Jenkins [Tue, 22 Sep 2015 02:22:35 +0000 (02:22 +0000)]
Merge "Fix way of getting LUN id in Huawei driver"

9 years agoMerge "Fix MITM vulnerability for Brocade FC SAN lookup"
Jenkins [Tue, 22 Sep 2015 02:19:54 +0000 (02:19 +0000)]
Merge "Fix MITM vulnerability for Brocade FC SAN lookup"

9 years agoMerge "NetApp volume/snapshot delete performance fix"
Jenkins [Mon, 21 Sep 2015 23:44:07 +0000 (23:44 +0000)]
Merge "NetApp volume/snapshot delete performance fix"

9 years agoMake rpc_client method private for VolumeCommands
Ivan Kolodyazhny [Mon, 21 Sep 2015 18:51:35 +0000 (21:51 +0300)]
Make rpc_client method private for VolumeCommands

"rpc_client" is not sub-command and should not be in the help for
'cinder-manage volume' command.

Change-Id: Ie94554b3fade09e32269c96fcb4a7d2b91062119
Closes-Bug: #1498136

9 years agoIgnore Forbidden error on quotas-get for nested projects
Ivan Kolodyazhny [Mon, 21 Sep 2015 15:15:31 +0000 (18:15 +0300)]
Ignore Forbidden error on quotas-get for nested projects

Keystone API v2 requires admin permissions for project_get method.
We ignore Forbidden exception for non-admin users.

Change-Id: Ia0a17a9377219d3bf92dbbfd6e88077209a22a95
Closes-Bug: #1491495

9 years agoChange ignore-errors to ignore_errors
Monty Taylor [Mon, 21 Sep 2015 14:25:17 +0000 (14:25 +0000)]
Change ignore-errors to ignore_errors

Needed for coverage 4.0

Change-Id: I2775006f79929f2e64a58f84c384e0587ff5ad24

9 years agoNetApp volume/snapshot delete performance fix
Tom Barron [Mon, 14 Sep 2015 21:38:40 +0000 (17:38 -0400)]
NetApp volume/snapshot delete performance fix

cDOT NFS NetApp drivers back cinder volumes with array-side files and
use array-side cloning techniques when creating snapshots and when
creating volumes from glance images.  Customers have experienced
performance issues on the array when deleting many of these in
in quick succession, especially for large volumes.

This commit addresses these performance issues by overriding parent
class volume and snapshot delete methods, which use OS "rm" command to
delete volume backing files, with methods that use DOT API to delete
these files, and which invoke the optimized file deletion engine
available in DOT 8.3.

Closes-bug: 1497258
Change-Id: I44428d0840f6584f93ca214a2a607869b345554c

9 years agoReplace soft_delete in volume_type_access_remove
Michal Dulko [Mon, 21 Sep 2015 13:58:01 +0000 (15:58 +0200)]
Replace soft_delete in volume_type_access_remove

This commit replaces oslo.db's soft_delete used in
volume_type_access_remove in db.api with a simple update setting
deleted column to True.

As deleted column is boolean it is represented in the DB by TINYINT,
which max value is 127. This introduces problems when removing records
with id higher than that, because soft_delete sets deleted column to the
value of id. This commit fixes the issue and adds unit tests for such
case.

Change-Id: I484e66125b5a29f490c070696b336be4a2693b3e
Closes-Bug: 1496747

9 years agoMerge "Updated from global requirements"
Jenkins [Mon, 21 Sep 2015 08:36:02 +0000 (08:36 +0000)]
Merge "Updated from global requirements"

9 years agoFix way of getting LUN id in Huawei driver
liuxinguo [Thu, 6 Aug 2015 04:08:54 +0000 (12:08 +0800)]
Fix way of getting LUN id in Huawei driver

Get the LUN id first from the volume['provider_location'],
and only if volume['provider_location'] is None, query the
backend to get the LUN id.

Also change function name "mapping_hostgroup_and_lungroup"
to "do_mapping".

Closes-Bug: #1482030
Change-Id: Ie94ea2284c572e842a64f962cc10b1a2b8145d3c

9 years agoFixing create CG from Cgsnapshot bug in VNX driver
Tina [Wed, 16 Sep 2015 03:38:03 +0000 (23:38 -0400)]
Fixing create CG from Cgsnapshot bug in VNX driver

When creating a consistency group from a cgsnapshot, VNX driver
didn't force a poll to the VNX system. This caused the creation
to fail because the out-of-date status was returned. This patch
forces a poll to the VNX system to get rid of this issue.

Change-Id: I710bd0ac2a6049a79fce0d552ad8fba2c9fbde67
Closes-Bug: #1496660

9 years agoMerge "Remove the unnecassary volume_api.get(context, volume_id)"
Jenkins [Sat, 19 Sep 2015 20:05:50 +0000 (20:05 +0000)]
Merge "Remove the unnecassary volume_api.get(context, volume_id)"

9 years agoMerge "Enable certificate verification during image copy"
Jenkins [Sat, 19 Sep 2015 19:50:18 +0000 (19:50 +0000)]
Merge "Enable certificate verification during image copy"

9 years agoMerge "Correctly report multiattach in Pure drivers"
Jenkins [Sat, 19 Sep 2015 15:02:32 +0000 (15:02 +0000)]
Merge "Correctly report multiattach in Pure drivers"

9 years agoDynamically create cinder.conf.sample
Kendall Nelson [Thu, 13 Aug 2015 15:17:36 +0000 (10:17 -0500)]
Dynamically create cinder.conf.sample

As it stands, the opts.py file that is passed into
oslo-config-generator isn't being generated dynamically
and the old way of generating the cinder.conf.sample is
dependent on oslo-incubator which Cinder is trying to
move away from. oslo-config-generator works differently
than oslo-incubator so a number of changes had to be made
in order to make this switch.

This patch adds the config directory to Cinder and in it
are two files:

    -generate_cinder_opts.py that will take the
     results of a grep command to create the opts.py
     file to be passed into oslo-config-generator.

    -cinder.conf which is the new configuration for
     oslo-config-generator. The file is inside the config
     directory to be consistent with other projects.

Some changes were made to the generate_sample.sh file in
order to give the base directories and target directories
to the generate_cinder_opts.py program.

tox.ini was edited to remove the checkonly option because
all that needs to happen in check_uptodate.sh is a check to
ensure that the cinder.conf.sample is actually being
generated with no issues.

All options were removed from the check_uptodate.sh
because they were unnecessary given the new, more simple
way of generating the cinder.conf.sample.

setup.cfg was also edited in order to add information
oslo-config-generator needs to run.

Co-Authored By: Jay Bryant <jsbryant@us.ibm.com>
Co-Authored By: Jacob Gregor <jgregor@us.ibm.com>

Change-Id: I643dbe5675ae9280e204f691781e617266f570d5
Closes-Bug: 1473768
Closes-Bug: 1437904
Closes-Bug: 1381563

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Fri, 18 Sep 2015 16:37:17 +0000 (16:37 +0000)]
Updated from global requirements

Change-Id: I0dbe12dc8517e72a4bf00e811ca68fb07dc822c8

9 years agoFix MITM vulnerability for Brocade FC SAN lookup
Ryan McNair [Thu, 27 Aug 2015 20:51:14 +0000 (20:51 +0000)]
Fix MITM vulnerability for Brocade FC SAN lookup

Refactor the Brocade FC SAN lookup service implementation to use
common SSH utilities which already avoid MITM vulnerabilities.
This is a follow-up to https://review.openstack.org/#/c/138526/
which reverted an incomplete fix for the MITM issues for Brocade.

Change-Id: I2d87b55f56f08208f0da11cac40682d51da5b536
Closes-Bug: #1391311

9 years agoMerge "Imported Translations from Zanata"
Jenkins [Fri, 18 Sep 2015 02:13:03 +0000 (02:13 +0000)]
Merge "Imported Translations from Zanata"

9 years agoMerge "NetApp: Fix volume extend with E-Series"
Jenkins [Thu, 17 Sep 2015 21:07:37 +0000 (21:07 +0000)]
Merge "NetApp: Fix volume extend with E-Series"

9 years agoMerge "Fix netapp_enable_multiattach default for E-Series"
Jenkins [Thu, 17 Sep 2015 21:04:26 +0000 (21:04 +0000)]
Merge "Fix netapp_enable_multiattach default for E-Series"

9 years agoMerge "Attaching enhancement for EMC VNX driver"
Jenkins [Thu, 17 Sep 2015 21:02:06 +0000 (21:02 +0000)]
Merge "Attaching enhancement for EMC VNX driver"