Eric Harney [Mon, 5 Oct 2015 16:55:52 +0000 (12:55 -0400)]
Fix broken format string in vol mgr log
"Detected volume stuck in" message is
not formatted correctly.
Change-Id: Ia2b3797508d8bcbc00f2c85d1d9f8172d923a062
OpenStack Proposal Bot [Sun, 4 Oct 2015 22:40:02 +0000 (22:40 +0000)]
Updated from global requirements
Change-Id: Id75e695e0e25ad4505391dc1a5b131f8f2a9e9b8
Jenkins [Sun, 4 Oct 2015 16:42:42 +0000 (16:42 +0000)]
Merge "Delete a temporary volume in DB with admin context"
Jenkins [Sun, 4 Oct 2015 10:59:00 +0000 (10:59 +0000)]
Merge "Implement extend_volume method to Block Device driver"
Masaki Kanno [Sun, 4 Oct 2015 06:57:22 +0000 (15:57 +0900)]
Delete a temporary volume in DB with admin context
Non-disruptive backup creates a temporary volume. Information
of the volume will be deleted from DB if the volume cannot be
created by drivers. volume_destroy method is used in order to
delete the information. We must elevate the context to admin
context because the method requests admin context.
Change-Id: Ie5cd935cdd9e13c261708e504fa6fb2622a8aebb
Closes-Bug:
1502460
Jenkins [Sun, 4 Oct 2015 02:34:17 +0000 (02:34 +0000)]
Merge "Small optimization in Block Device driver"
Jenkins [Sun, 4 Oct 2015 01:50:15 +0000 (01:50 +0000)]
Merge "DRBD: new option "drbdmanage_devs_on_controller"."
Jenkins [Sat, 3 Oct 2015 19:00:50 +0000 (19:00 +0000)]
Merge "Use of ast for integers doesn't changes type"
Jenkins [Sat, 3 Oct 2015 17:04:33 +0000 (17:04 +0000)]
Merge "Cleanup orphaned code from cinder root directory"
Jenkins [Sat, 3 Oct 2015 04:35:05 +0000 (04:35 +0000)]
Merge "VMAX Truncate Storage Group Name"
Jenkins [Fri, 2 Oct 2015 20:01:06 +0000 (20:01 +0000)]
Merge "Tests: print fake_notifier queue upon mismatch"
Jenkins [Fri, 2 Oct 2015 19:24:26 +0000 (19:24 +0000)]
Merge "Fix enable/disable_replication raise InvalidVolume"
Jenkins [Fri, 2 Oct 2015 16:37:51 +0000 (16:37 +0000)]
Merge "Fix various Python 3 issues"
Xing Yang [Fri, 2 Oct 2015 14:17:40 +0000 (10:17 -0400)]
VMAX Truncate Storage Group Name
In the VMAX driver, it generates a storage group name using
the short host name, pool name, etc. However the storage
group name has an upper limit of 64 characters. So it fails
if the length of the name exceeds the limit. This patch
fixes it by truncating the name to fix within the limit.
Change-Id: I18258933591a389691a7b33af2d30a40bb34f09c
Closes-Bug: #
1501925
Jenkins [Fri, 2 Oct 2015 14:59:28 +0000 (14:59 +0000)]
Merge "Fix volume throttling to Python 3"
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
Victor Stinner [Thu, 1 Oct 2015 16:04:30 +0000 (18:04 +0200)]
Fix volume throttling to Python 3
BlkioCgroup._set_limits(): sort devices before iterating on them to
have a reliable behaviour.
The devs variable is a dictionary. On Python 3, the hash function is
now randomized, so iterating on a dictionary gives items in a random
order. Use sorted() to iterate on the list of sorted devices instead.
tox.ini: add cinder.tests.unit.test_volume_throttling to Python 3.
Blueprint cinder-python3
Partial-Bug: #
1348818
Change-Id: Icf7141f772397c7ac08f0f1e21ad74cb86a06351
Jenkins [Fri, 2 Oct 2015 04:13:54 +0000 (04:13 +0000)]
Merge "Image cache tests: use fake_notifier"
Walter A. Boring IV [Thu, 1 Oct 2015 22:47:44 +0000 (15:47 -0700)]
Fix enable/disable_replication raise InvalidVolume
In both enable_replication and disable_replication,
it tests to see the replication_state is in the correct
state. When it's not it was raising InvalidVolume()
InvalidVolume requires a reason text message.
This patch adds the missing reason=msg when creating
the InvalidVolume exception
Change-Id: I66a3e4dc4359457e9669c5ddaa4b0529645334f9
Closes-Bug:
1501942
Eric Harney [Thu, 1 Oct 2015 20:25:17 +0000 (16:25 -0400)]
Tests: print fake_notifier queue upon mismatch
If these tests fail, output more information
so it's easier to figure out where things
went wrong.
Related-Bug: #
1501745
Related-Bug: #
1501839
Change-Id: Id78802834821c791a22c22f49260a8480122cc06
Sean McGinnis [Thu, 1 Oct 2015 14:18:43 +0000 (09:18 -0500)]
Cleanup orphaned code from cinder root directory
There were several methods in the root directory source files
that were no longer being used anywhere. While some of these
have potential for being useful, they are not in use and should
not be sitting around the codebase waiting for someone to need them.
This patch removes unused methods from utils as well as their
associated unit tests.
Change-Id: Iee5bac44b41a2696ab972a2fbfe0281ec423b393
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
Jenkins [Thu, 1 Oct 2015 17:54:18 +0000 (17:54 +0000)]
Merge "LVM: Make sparse_copy_volume private, use for capabilities"
Jenkins [Thu, 1 Oct 2015 13:39:37 +0000 (13:39 +0000)]
Merge "Obtain target authentication from database same as LIO target"
Yuriy Nesenenko [Thu, 1 Oct 2015 10:39:39 +0000 (13:39 +0300)]
Implement extend_volume method to Block Device driver
This patch adds the extend_volume method to Block Device driver
to get the minimum features for this driver.
Related blueprint: block-device-driver-minimum-features-set
Change-Id: I6ca7ba4a407ab7d8171fc7d5d6fcb60a29de8f6b
Yuriy Nesenenko [Fri, 4 Sep 2015 15:25:44 +0000 (18:25 +0300)]
Small optimization in Block Device driver
Method _devices_sizes() in Block Device driver invokes N times
_get_device_size(device) to get devices sizes. It can be done by
executing one command: blockdev --getsize64 /dev/loop1 /dev/loop2.
In such a way we take the devices' sizes in bytes and convert them
to Megabytes.
Change-Id: I0aba86239b4c580a0b12202a8f7fc863dab6fecd
Philipp Marek [Thu, 1 Oct 2015 07:58:34 +0000 (09:58 +0200)]
DRBD: new option "drbdmanage_devs_on_controller".
With this option set the c-vol node will have all volumes accessible,
via DRBD-client if no local copy already exists anyway.
This is handy for a) debugging b) maintenance c) iSCSI exports
and other use cases.
Change-Id: Ib347777d2f4bb8b46990d76e138e1dbf13ff95bb
Jenkins [Thu, 1 Oct 2015 03:10:48 +0000 (03:10 +0000)]
Merge "Sheepdog: Improve snapshot and clone operation"
Jenkins [Thu, 1 Oct 2015 02:56:29 +0000 (02:56 +0000)]
Merge "Port test_volume to Python 3"
Jenkins [Thu, 1 Oct 2015 02:56:18 +0000 (02:56 +0000)]
Merge "VMware: Remove VMDK driver for ESX server"
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
Jenkins [Wed, 30 Sep 2015 21:52:21 +0000 (21:52 +0000)]
Merge "Dell SC: cgsnapshot-delete doesn't actually delete"
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
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
Jenkins [Tue, 29 Sep 2015 20:20:42 +0000 (20:20 +0000)]
Merge "Setup LVM_SYSTEM_DIR earlier in LVM.__init()"
Jenkins [Tue, 29 Sep 2015 20:19:35 +0000 (20:19 +0000)]
Merge "Fix Python 3 issues in wsgi"
Jenkins [Tue, 29 Sep 2015 20:19:25 +0000 (20:19 +0000)]
Merge "Add manage_existing and unmanage to BaseVD"
Jenkins [Tue, 29 Sep 2015 20:18:17 +0000 (20:18 +0000)]
Merge "GlusterFS: extend volume to the right path"
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
Jenkins [Tue, 29 Sep 2015 12:55:58 +0000 (12:55 +0000)]
Merge "Fix update Huawei driver issue"
Jenkins [Tue, 29 Sep 2015 12:50:54 +0000 (12:50 +0000)]
Merge "Fix unreachable code pylint issues"
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
Jenkins [Tue, 29 Sep 2015 10:16:30 +0000 (10:16 +0000)]
Merge "Small cleanups in BaseVD/VolumeDriver"
Jenkins [Tue, 29 Sep 2015 10:15:51 +0000 (10:15 +0000)]
Merge "Add "fast8" tox env"
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
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
Jenkins [Tue, 29 Sep 2015 03:18:39 +0000 (03:18 +0000)]
Merge "Fix VMAX live migration problem"
Jenkins [Tue, 29 Sep 2015 03:07:45 +0000 (03:07 +0000)]
Merge "Report *real* free capacity in Huawei driver"
Jenkins [Tue, 29 Sep 2015 02:48:54 +0000 (02:48 +0000)]
Merge "Use pbr wsgi_scripts to install Cinder WSGI entry point"
Jenkins [Mon, 28 Sep 2015 22:22:20 +0000 (22:22 +0000)]
Merge "py3: Port pure driver test to Python 3"
Jenkins [Mon, 28 Sep 2015 17:53:20 +0000 (17:53 +0000)]
Merge "Fix volume related operation in CloudByte driver"
Jenkins [Mon, 28 Sep 2015 17:48:58 +0000 (17:48 +0000)]
Merge "Imported Translations from Zanata"
Jenkins [Mon, 28 Sep 2015 16:14:42 +0000 (16:14 +0000)]
Merge "Fix Bad indentation pylint issues"
Jenkins [Mon, 28 Sep 2015 16:00:24 +0000 (16:00 +0000)]
Merge "Remove the destination volume check in delete_volume"
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
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
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
Jenkins [Mon, 28 Sep 2015 15:08:46 +0000 (15:08 +0000)]
Merge "Show image metadata"
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
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
Jenkins [Mon, 28 Sep 2015 10:08:10 +0000 (10:08 +0000)]
Merge "Create a page of drivers with stevedore.sphinxext"
Jenkins [Mon, 28 Sep 2015 09:53:46 +0000 (09:53 +0000)]
Merge "Huawei driver add check before use a QoS"
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
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
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
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
Jenkins [Sat, 26 Sep 2015 00:11:23 +0000 (00:11 +0000)]
Merge "Add placholder for migration backports in Liberty"
Jenkins [Fri, 25 Sep 2015 23:39:07 +0000 (23:39 +0000)]
Merge "Remove duplicate keys from dictionary"
Jenkins [Fri, 25 Sep 2015 23:15:17 +0000 (23:15 +0000)]
Merge "Revert use of netapp_lib from NetApp Drivers"
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
Jenkins [Fri, 25 Sep 2015 17:25:11 +0000 (17:25 +0000)]
Merge "Python 3 incompatible expression fix"
Jenkins [Fri, 25 Sep 2015 17:02:30 +0000 (17:02 +0000)]
Merge "Port image_utils to Python 3"
Jenkins [Fri, 25 Sep 2015 16:38:33 +0000 (16:38 +0000)]
Merge "Port volume transfer to Python 3"
Jenkins [Fri, 25 Sep 2015 14:55:31 +0000 (14:55 +0000)]
Merge "Missing configuration opts from cinder.sample.conf"
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
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
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
Jenkins [Fri, 25 Sep 2015 02:29:22 +0000 (02:29 +0000)]
Merge "Use function capsulation in Huawei driver"
Jenkins [Thu, 24 Sep 2015 21:16:24 +0000 (21:16 +0000)]
Merge "Check sio_storage_pools in check_for_setup_error"
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
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
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
Jenkins [Thu, 24 Sep 2015 00:54:10 +0000 (00:54 +0000)]
Merge "Create volume in cg enhancement in VNX driver"
Jenkins [Wed, 23 Sep 2015 19:06:21 +0000 (19:06 +0000)]
Merge "Open Mitaka development"
Jenkins [Wed, 23 Sep 2015 17:49:03 +0000 (17:49 +0000)]
Merge "Fix URL format in Huawei driver"
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
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
Jenkins [Wed, 23 Sep 2015 06:31:27 +0000 (06:31 +0000)]
Merge "Fixing create CG from Cgsnapshot bug in VNX driver"
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
Jenkins [Wed, 23 Sep 2015 04:31:59 +0000 (04:31 +0000)]
Merge "Make rpc_client method private for VolumeCommands"
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"
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
Jenkins [Tue, 22 Sep 2015 23:59:53 +0000 (23:59 +0000)]
Merge "Fix use of wrong storage pools for NetApp Drivers"
Jenkins [Tue, 22 Sep 2015 22:28:50 +0000 (22:28 +0000)]
Merge "Replace soft_delete in volume_type_access_remove"
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
Jenkins [Tue, 22 Sep 2015 19:55:25 +0000 (19:55 +0000)]
Merge "Ignore Forbidden error on quotas-get for nested projects"
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
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
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
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