]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
9 years agoMerge "Imported Translations from Zanata"
Jenkins [Thu, 8 Oct 2015 16:08:52 +0000 (16:08 +0000)]
Merge "Imported Translations from Zanata"

9 years agoMerge "Clone cg support in VNX driver"
Jenkins [Thu, 8 Oct 2015 08:40:10 +0000 (08:40 +0000)]
Merge "Clone cg support in VNX driver"

9 years agoMerge "Add device identifier to replication device"
Jenkins [Thu, 8 Oct 2015 08:39:55 +0000 (08:39 +0000)]
Merge "Add device identifier to replication device"

9 years agoMerge "Updated from global requirements"
Jenkins [Thu, 8 Oct 2015 08:17:11 +0000 (08:17 +0000)]
Merge "Updated from global requirements"

9 years agoMerge "Add testresources and testscenarios used by oslo.db fixture"
Jenkins [Thu, 8 Oct 2015 07:54:29 +0000 (07:54 +0000)]
Merge "Add testresources and testscenarios used by oslo.db fixture"

9 years agoImported Translations from Zanata
OpenStack Proposal Bot [Thu, 8 Oct 2015 06:24:23 +0000 (06:24 +0000)]
Imported Translations from Zanata

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

Change-Id: I3eba87d4e361efd5b166d106745b9550635c64e4

9 years agoMerge "Fix SolidFire target composition"
Jenkins [Thu, 8 Oct 2015 05:08:56 +0000 (05:08 +0000)]
Merge "Fix SolidFire target composition"

9 years agoMerge "py3: Run unit tests with ostestr on Python 3.4"
Jenkins [Thu, 8 Oct 2015 03:40:50 +0000 (03:40 +0000)]
Merge "py3: Run unit tests with ostestr on Python 3.4"

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Thu, 8 Oct 2015 00:04:15 +0000 (00:04 +0000)]
Updated from global requirements

Change-Id: Ib3a6740b8729b02d3da725e9847eb292cef5649e

9 years agoAdd device identifier to replication device
John Griffith [Wed, 7 Oct 2015 22:49:36 +0000 (16:49 -0600)]
Add device identifier to replication device

One thing that may be needed by some back ends
that are implementing replication is some sort
of back end device identifier.

For managed back ends this shouldn't be an issue
but for unmanaged, it's handy to have some sort
of identifier string.

This patch just adds that to the response examples
in the volume.manager code as well as adds an update
to the dev docs to point it out.

Change-Id: Ic113d905e65c756439425b03035179e65ce0b39e

9 years agoMerge "Fix update quota of subprojects"
Jenkins [Wed, 7 Oct 2015 19:28:18 +0000 (19:28 +0000)]
Merge "Fix update quota of subprojects"

9 years agoFix SolidFire target composition
John Griffith [Tue, 6 Oct 2015 23:39:24 +0000 (17:39 -0600)]
Fix SolidFire target composition

We added the target composition a while back but never
really finished it.  We created a set of interface methods
and had them call the target class mostly thinking we'd
want this when adding FC.

It turns out that doing a regular composition and using
get_attr will actually work fine when the FC target is
added, so re factor this and make it a true composition
where both objects inherit attributes from each other.

Change-Id: I1da439c2e50ec66d759def19d3eda997797d00a5

9 years agopy3: Run unit tests with ostestr on Python 3.4
Victor Stinner [Wed, 7 Oct 2015 13:33:38 +0000 (15:33 +0200)]
py3: Run unit tests with ostestr on Python 3.4

"tox -e py34" now uses ostestr instead of testtools.run to run tests.
Tests are now executed in parallel.

Move the tests whitelist from tox.ini to a new file tests-py3.txt.

Fix NaElement.__str__() of netapp driver: return Unicode on Python 3,
not bytes.

Partial-Implements: blueprint cinder-python3
Change-Id: I4cda85fbe76ac853beaec3a9587726166daa063d

9 years agoAdd testresources and testscenarios used by oslo.db fixture
Davanum Srinivas [Wed, 7 Oct 2015 01:45:12 +0000 (18:45 -0700)]
Add testresources and testscenarios used by oslo.db fixture

If we use oslo.db fixtures, we'll need these 2 packages or
the next version of oslo.db release will break us.

Closes-Bug: #1503501
Change-Id: I8facdaf69c79b1b1ae4f9f64e9856e12f14440ed

9 years agoClone cg support in VNX driver
Tina [Fri, 14 Aug 2015 03:10:53 +0000 (23:10 -0400)]
Clone cg support in VNX driver

This change added the clone consistency group support
in VNX driver.

DocImpact
Implements: blueprint vnx-clone-cg
Change-Id: I7eb69be2e6ffe47a92bca5818c952addd1b45217

9 years agoMerge "Port scheduler host manager to Python 3"
Jenkins [Wed, 7 Oct 2015 06:50:20 +0000 (06:50 +0000)]
Merge "Port scheduler host manager to Python 3"

9 years agoMerge "Dell Eqlx: Support over subscription in thin provisioning"
Jenkins [Wed, 7 Oct 2015 05:43:03 +0000 (05:43 +0000)]
Merge "Dell Eqlx: Support over subscription in thin provisioning"

9 years agoMerge "HNAS iSCSI manage does not work with spaces"
Jenkins [Wed, 7 Oct 2015 01:08:22 +0000 (01:08 +0000)]
Merge "HNAS iSCSI manage does not work with spaces"

9 years agoMerge "Add ability to set prefix in SolidFire Volume name"
Jenkins [Wed, 7 Oct 2015 00:43:48 +0000 (00:43 +0000)]
Merge "Add ability to set prefix in SolidFire Volume name"

9 years agoMerge "Port test_quobyte to Python 3"
Jenkins [Tue, 6 Oct 2015 21:55:34 +0000 (21:55 +0000)]
Merge "Port test_quobyte to Python 3"

9 years agoMerge "Fix broken format string in vol mgr log"
Jenkins [Tue, 6 Oct 2015 20:55:32 +0000 (20:55 +0000)]
Merge "Fix broken format string in vol mgr log"

9 years agoMerge "Hacking check for opt name registration"
Jenkins [Tue, 6 Oct 2015 20:53:29 +0000 (20:53 +0000)]
Merge "Hacking check for opt name registration"

9 years agoMerge "VMAX Target iSCSI IP Address"
Jenkins [Tue, 6 Oct 2015 17:15:50 +0000 (17:15 +0000)]
Merge "VMAX Target iSCSI IP Address"

9 years agoDell Eqlx: Support over subscription in thin provisioning
rajinir [Mon, 5 Oct 2015 20:56:40 +0000 (15:56 -0500)]
Dell Eqlx: Support over subscription in thin provisioning

Dell eqlx driver reports the following new stats:
  * provisioned_capacity
  * max_over_subscription_ratio
  * thin_provisioning_support (True or False)
  * thick_provisioning_support (True or False)

Change-Id: I09176259840eb5b52a5f4ec1942db2bf152667d0
Implements: blueprint dell-eqlx-over-subscription-thin-provisioning

9 years agoHacking check for opt name registration
Kendall Nelson [Tue, 15 Sep 2015 01:37:00 +0000 (20:37 -0500)]
Hacking check for opt name registration

Depending on how opts are registered (either with register_opt() or
register_opts()), the name needs to be singular or plural to match
the method.  This patch adds a hacking check to make sure the names
of the opts and opt lists (or tuples) are correct given how they are
being registered.  The check also verifies that a single option is
sent when register_opt() is used and a list is used when using
register_opts().

Includes fixes to files that don't meet the naming convention and a
addition to the generate_cinder_opts.py file in order to skip
checks.py in the generation of the opts.py file.

Closes-Bug: 1495752
Change-Id: Ia795915c6e3d46272acc30407961d5d876f783ce

9 years agoMerge "Port test_netapp to Python 3"
Jenkins [Tue, 6 Oct 2015 07:14:33 +0000 (07:14 +0000)]
Merge "Port test_netapp to Python 3"

9 years agoMerge "Port netapp SSC Cmode to Python 3"
Jenkins [Tue, 6 Oct 2015 06:57:24 +0000 (06:57 +0000)]
Merge "Port netapp SSC Cmode to Python 3"

9 years agoMerge "Detach volume on device validation failure"
Jenkins [Tue, 6 Oct 2015 06:57:13 +0000 (06:57 +0000)]
Merge "Detach volume on device validation failure"

9 years agoAdd ability to set prefix in SolidFire Volume name
John Griffith [Mon, 5 Oct 2015 23:22:30 +0000 (17:22 -0600)]
Add ability to set prefix in SolidFire Volume name

The SolidFire creates names for Volumes on the backend using
the format UUID-<cinder-id>

This works well, but it turns out that there is a possibility
of a UUID collision for customers running multiple clouds against
the same cluster. To eliminate that possibility we should allow
a config option to set the prefix to be whatever an admin chooses.

This patch introduces the sf_volume_prefix config option to
address this bug.  The default still uses the 'UUID-' prefix.

DocImpact
Changing this setting on an existing deployment will
result in the existing volumes being inaccessible. To introduce
this change to an existing deployment it's recommende to
add the Cluster as if it were a second backend and disable
new deployments to the current backend.

Change-Id: I21a87e6431099e51355044f2dfea35b61ca8125f
Closes-Bug: #1503069

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Mon, 5 Oct 2015 23:13:29 +0000 (23:13 +0000)]
Updated from global requirements

Change-Id: I870a7a95358ab8c8e94e2ab8d78bc7cddf2ed3f8

9 years agoFix broken format string in vol mgr log
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

9 years agoDetach volume on device validation failure
Gorka Eguileor [Fri, 2 Oct 2015 13:08:31 +0000 (15:08 +0200)]
Detach volume on device validation failure

If device validation fails when attaching a volume for some driver
operation (copy_volume_data, copy_image_to_volume, copy_volume_to_image)
we may end up with an attached volume that we don't cleanup.

This patch tries to detach the volume if we fail when validating the
device after we have attached the volume.

This happens for example on multipath when we have properly detected the
paths but they are all in a failed state when we try to read from the
device on validation.

Closes-Bug: #1502138
Change-Id: I73be4206930eba7da064e22d86ff2136191acb0b

9 years agoemc vmax driver: use integer division for Python 3
Victor Stinner [Thu, 1 Oct 2015 16:15:54 +0000 (18:15 +0200)]
emc vmax driver: use integer division for Python 3

Replace a/b with a//b in emc_vmax_utils.py to get integers on
Python 3.

Blueprint cinder-python3
Change-Id: I8d9390b1558e2b4a08674eadcaa3559020f8dcff

9 years agoVMAX Target iSCSI IP Address
Xing Yang [Thu, 1 Oct 2015 02:28:56 +0000 (22:28 -0400)]
VMAX Target iSCSI IP Address

In VMAX iSCSI driver, the iscsi_ip_address was hardcoded
in cinder.conf. This may have issues with multi-portgroup
environment. If a customer has multiple portgroups
containing different ports with different iSCSI IP addresses,
then â€˜iscsiadm‘ command cannot use more than the one hardcoded
IP address in its sendtargets operation.

This patch addresses this by examining the ports in the
portgroup of the masking view used in the attach operation.
Each port has a corresponding iSCSI IP address. A portgroup
with only one port will have one IP address; a portgroup with
multiple ports will have multiple IP addresses. Even if there
is more than one IP address, the first in the list is likely to
result in a successful iscsiadm -sendtargets.

Closes-Bug: #1501678
Change-Id: I52ab6b278a114d55aec5e66b38ff76fd1bfb1b49

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Sun, 4 Oct 2015 22:40:02 +0000 (22:40 +0000)]
Updated from global requirements

Change-Id: Id75e695e0e25ad4505391dc1a5b131f8f2a9e9b8

9 years agoMerge "Delete a temporary volume in DB with admin context"
Jenkins [Sun, 4 Oct 2015 16:42:42 +0000 (16:42 +0000)]
Merge "Delete a temporary volume in DB with admin context"

9 years agoMerge "Implement extend_volume method to Block Device driver"
Jenkins [Sun, 4 Oct 2015 10:59:00 +0000 (10:59 +0000)]
Merge "Implement extend_volume method to Block Device driver"

9 years agoDelete a temporary volume in DB with admin context
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

9 years agoMerge "Small optimization in Block Device driver"
Jenkins [Sun, 4 Oct 2015 02:34:17 +0000 (02:34 +0000)]
Merge "Small optimization in Block Device driver"

9 years agoMerge "DRBD: new option "drbdmanage_devs_on_controller"."
Jenkins [Sun, 4 Oct 2015 01:50:15 +0000 (01:50 +0000)]
Merge "DRBD: new option "drbdmanage_devs_on_controller"."

9 years agoFix update quota of subprojects
Erickson Santos [Tue, 15 Sep 2015 17:21:42 +0000 (14:21 -0300)]
Fix update quota of subprojects

Cinder raises an exception when performing an update quota
operation in a subproject in which its parent's quotas weren't
explicitly updated.

This is because cinder will try to find the parent's quotas
in order to update the allocated value. But, since the parent's
quotas are the default quotas (i.e. there are no entries for them
in the database), the operation will raise an error.

Steps to reproduce:
1. Create a project A in keystone;
2. Create a project B in keystone with A as its parent;
3. Try to update the quota value of any resources of project B
   (e.g. openstack quota set <id of B> --volumes 2)

This patch fix this bug by adding entries to the database when
performing an update quota operation in a subproject and there
are still no quota associated with the parent project.

Change-Id: Ia732ca9d5a5f59d3973c2656a27b666077c3402a
Closes-bug: #1495990

9 years agoMerge "Use of ast for integers doesn't changes type"
Jenkins [Sat, 3 Oct 2015 19:00:50 +0000 (19:00 +0000)]
Merge "Use of ast for integers doesn't changes type"

9 years agoMerge "Cleanup orphaned code from cinder root directory"
Jenkins [Sat, 3 Oct 2015 17:04:33 +0000 (17:04 +0000)]
Merge "Cleanup orphaned code from cinder root directory"

9 years agoMerge "VMAX Truncate Storage Group Name"
Jenkins [Sat, 3 Oct 2015 04:35:05 +0000 (04:35 +0000)]
Merge "VMAX Truncate Storage Group Name"

9 years agoPort test_quobyte to Python 3
Victor Stinner [Fri, 2 Oct 2015 15:25:50 +0000 (17:25 +0200)]
Port test_quobyte to Python 3

Modify assertRaisesAndMessageMatches() to tolerate subclasses. On
Python 3, a permission error now raises an exception PermissionError
which is a subclass of OSError, whereas the test expected exactly the
OSError type.

Partial-Implements: blueprint cinder-python3
Change-Id: Ia232c27de6a67eafad30b25301531e292fe349dc

9 years agoMerge "Tests: print fake_notifier queue upon mismatch"
Jenkins [Fri, 2 Oct 2015 20:01:06 +0000 (20:01 +0000)]
Merge "Tests: print fake_notifier queue upon mismatch"

9 years agoMerge "Fix enable/disable_replication raise InvalidVolume"
Jenkins [Fri, 2 Oct 2015 19:24:26 +0000 (19:24 +0000)]
Merge "Fix enable/disable_replication raise InvalidVolume"

9 years agoMerge "Fix various Python 3 issues"
Jenkins [Fri, 2 Oct 2015 16:37:51 +0000 (16:37 +0000)]
Merge "Fix various Python 3 issues"

9 years agoPort netapp SSC Cmode to Python 3
Victor Stinner [Fri, 2 Oct 2015 15:40:55 +0000 (17:40 +0200)]
Port netapp SSC Cmode to Python 3

Fix query_cluster_vols_for_ssc(): cast string (records) to int. On
Python 3, comparison between str and int now raise a TypeError.

tox.ini: add cinder.tests.unit.test_netapp_ssc to Python 3.4.

Partial-Implements: blueprint cinder-python3
Change-Id: I05127340029a5bb6c8444f51341be8008aab8dc8

9 years agoPort test_netapp to Python 3
Victor Stinner [Fri, 2 Oct 2015 15:35:37 +0000 (17:35 +0200)]
Port test_netapp to Python 3

* Add close() method to FakeHttplibSocket,
  FakeDirectCmodeHTTPConnection, FakeDirect7modeHTTPConnection
* Replace StringIO() with BytesIO() for socket buffers
* makefile(): ignore optional arguments after mode
* Fix bytes versus Unicode: use bytes for HTTP body. Encode HTTP body
  to UTF-8 and HTTP headers to Latin1.
* tox.ini: add cinder.tests.unit.test_netapp to Python 3.4

Partial-Implements: blueprint cinder-python3
Change-Id: I3dc8c36a84ffbb47be3e85eed34518c6adad48ec

9 years agoVMAX Truncate Storage Group Name
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

9 years agoMerge "Fix volume throttling to Python 3"
Jenkins [Fri, 2 Oct 2015 14:59:28 +0000 (14:59 +0000)]
Merge "Fix volume throttling to Python 3"

9 years agoHNAS iSCSI manage does not work with spaces
Adriano Rosso [Mon, 24 Aug 2015 17:13:30 +0000 (14:13 -0300)]
HNAS iSCSI manage does not work with spaces

Currently, HNAS iSCSI driver does not work when trying to manage a
volume that contains one or more space in the name.
This patch fixes this functionality and performs some other minor
adjustments.

Change-Id: I2ba6407478c293f20925171d80dcc8f97f2110c7
Closes-bug: #1500544

9 years agoPort scheduler host manager to Python 3
Victor Stinner [Fri, 2 Oct 2015 08:24:54 +0000 (10:24 +0200)]
Port scheduler host manager to Python 3

* Rewrite ReadOnlyDict using collections.Mapping: collections.Mapping
  has no method to modify the dictionary and is available on Python 2
  and Python 3. Add also a __repr__() method to ease debug. Remove
  ReadOnlyDict.update() method: a read-only dictionary must not be
  modifiable.
* test_host_manager.py: sort dictionaries using a key function to
  have a reliable order for the list of dictionaries. On Python 3,
  the hash function is now randomized.
* tox.ini. add cinder/tests/unit/scheduler/ tests to Python 3.4

Blueprint cinder-python3
Change-Id: I34d98d6a75fef907251719f0d46b025d8e8b2b65

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 agoFix volume throttling to Python 3
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

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 agoFix enable/disable_replication raise InvalidVolume
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

9 years agoTests: print fake_notifier queue upon mismatch
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

9 years agoCleanup orphaned code from cinder root directory
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

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 agoImplement extend_volume method to Block Device driver
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

9 years agoSmall optimization in Block Device driver
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

9 years agoDRBD: new option "drbdmanage_devs_on_controller".
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

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"