]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
8 years agoMerge "VNX: Fix failure in SnapCopy feature"
Jenkins [Mon, 21 Dec 2015 20:17:29 +0000 (20:17 +0000)]
Merge "VNX: Fix failure in SnapCopy feature"

8 years agoMerge "Port zonemanager to Python 3"
Jenkins [Mon, 21 Dec 2015 20:17:20 +0000 (20:17 +0000)]
Merge "Port zonemanager to Python 3"

8 years agoMerge "Remove downgrade migrations"
Jenkins [Mon, 21 Dec 2015 20:17:10 +0000 (20:17 +0000)]
Merge "Remove downgrade migrations"

8 years agoMerge "Fix python 3.x import issues with pure.py"
Jenkins [Mon, 21 Dec 2015 18:24:29 +0000 (18:24 +0000)]
Merge "Fix python 3.x import issues with pure.py"

8 years agoMerge "Recalculate allocated value of parent project"
Jenkins [Mon, 21 Dec 2015 13:24:39 +0000 (13:24 +0000)]
Merge "Recalculate allocated value of parent project"

8 years agoMerge "Fix bugs caused by porting to python3"
Jenkins [Mon, 21 Dec 2015 13:07:58 +0000 (13:07 +0000)]
Merge "Fix bugs caused by porting to python3"

8 years agoMerge "VMware: Add support for VVOL datastores"
Jenkins [Mon, 21 Dec 2015 12:57:37 +0000 (12:57 +0000)]
Merge "VMware: Add support for VVOL datastores"

8 years agoMerge "Disable capabilities based on 3PAR licenses"
Jenkins [Sun, 20 Dec 2015 20:28:54 +0000 (20:28 +0000)]
Merge "Disable capabilities based on 3PAR licenses"

8 years agoFix bugs caused by porting to python3
abhiram moturi [Sat, 19 Dec 2015 17:31:10 +0000 (17:31 +0000)]
Fix bugs caused by porting to python3

In previous python version base64.encodestring() adds '\n'.
at the end. This is removed when we use oslo encode_as_text()
This causes a regression as we manually removed the last
character earlier. This fix removes manually deleting the
last character.

Change-Id: I746c9435e7b4ec2e8af831d46f708c152dffba4d
Closes-Bug: #1527841

8 years agoMerge "Imported Translations from Zanata"
Jenkins [Sat, 19 Dec 2015 15:30:13 +0000 (15:30 +0000)]
Merge "Imported Translations from Zanata"

8 years agoMerge "3PAR: Implement un/manage snapshot support"
Jenkins [Sat, 19 Dec 2015 10:01:22 +0000 (10:01 +0000)]
Merge "3PAR: Implement un/manage snapshot support"

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Sat, 19 Dec 2015 06:26:58 +0000 (06:26 +0000)]
Imported Translations from Zanata

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

Change-Id: Ie1edf799e1fff0ae4e9eced4ac2fd6dbc583f06b

8 years agoMerge "Updated from global requirements"
Jenkins [Sat, 19 Dec 2015 00:44:24 +0000 (00:44 +0000)]
Merge "Updated from global requirements"

8 years agoDisable capabilities based on 3PAR licenses
Kurt Martin [Wed, 16 Dec 2015 23:37:45 +0000 (15:37 -0800)]
Disable capabilities based on 3PAR licenses

The 3PAR firmware is now reporting which licenses are enabled on the
storage array. The 3PAR drivers will now use this information to
enable/disable standard stat reporting for thin provisioning,
QoS support and replication

DocImpact

Implements: blueprint 3par-license-check
Change-Id: Ib5fb06b1c029d026f6f38fa3fdf7d62c2005c06e

8 years agoMerge "Preserve request id in Cinder logs"
Jenkins [Fri, 18 Dec 2015 22:03:58 +0000 (22:03 +0000)]
Merge "Preserve request id in Cinder logs"

8 years agoFix python 3.x import issues with pure.py
Patrick East [Fri, 18 Dec 2015 21:48:49 +0000 (13:48 -0800)]
Fix python 3.x import issues with pure.py

The older import was not compatible with python 3.x, only 2.x. A simple
fix is to adjust how we are importing the module.

Change-Id: Ic1d69c676af1adde9bd305431338c16a058fccf6
Closes-Bug: 1527755

8 years agoMerge "Override osapi_volume_listen_port for test_workers"
Jenkins [Fri, 18 Dec 2015 21:03:52 +0000 (21:03 +0000)]
Merge "Override osapi_volume_listen_port for test_workers"

8 years agoMerge "3PAR: Implement v2 replication (unmanaged)"
Jenkins [Fri, 18 Dec 2015 17:57:06 +0000 (17:57 +0000)]
Merge "3PAR: Implement v2 replication (unmanaged)"

8 years agoOverride osapi_volume_listen_port for test_workers
Mitsuhiro Tanino [Fri, 18 Dec 2015 16:02:27 +0000 (11:02 -0500)]
Override osapi_volume_listen_port for test_workers

After removing WSGI from Cinder, following test cases hit
"socket.error: [Errno 98] Address already in use" error.

- test_workers_set_default
- test_workers_set_good_user_setting
- test_workers_set_zero_user_setting

The root cause is that these test cases try to use 8776 port,
but the port is used by c-api if the service exists.
This patch override default port number to avoid the error.

Change-Id: I8e2b505c2aff511969cd55851272b10c013aef6c
Closes-Bug: #1527566

8 years agoMerge "Error handling for invalid SLO/Workload combo"
Jenkins [Fri, 18 Dec 2015 15:29:25 +0000 (15:29 +0000)]
Merge "Error handling for invalid SLO/Workload combo"

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Fri, 18 Dec 2015 13:48:19 +0000 (13:48 +0000)]
Updated from global requirements

Change-Id: I04b49cafc2094a1c916a242efc75a5db6cb84bd2

8 years agoRemove downgrade migrations
Ivan Kolodyazhny [Thu, 17 Dec 2015 11:15:57 +0000 (13:15 +0200)]
Remove downgrade migrations

According to cross project spec[1] downgrade migrations should be removed.

[1] I622f89fe63327d44f9b229d3bd9e76e15acbaa7a

Implements blueprint: no-downward-sql-migration

Change-Id: I111cdb4bba361de5da0ce7db8144965c947ada41

8 years agoMerge "Imported Translations from Zanata"
Jenkins [Fri, 18 Dec 2015 03:04:14 +0000 (03:04 +0000)]
Merge "Imported Translations from Zanata"

8 years agoMerge "Tooz locks"
Jenkins [Fri, 18 Dec 2015 02:32:31 +0000 (02:32 +0000)]
Merge "Tooz locks"

8 years ago3PAR: Implement un/manage snapshot support
Anthony Lee [Sat, 5 Dec 2015 00:27:14 +0000 (16:27 -0800)]
3PAR: Implement un/manage snapshot support

Implements support for managing and unmanaging snapshots to
the HPE 3PAR FC and iSCSI drivers.

This patch now allows snapshots to be removed from OpenStack
management but still left on the 3PAR backend. Snapshots on
the 3PAR backend can also be managed by OpenStack.

DocImpact
Implements: blueprint 3par-manage-unmanage-snapshot
Change-Id: I7f5847cefc983726eac8b0eaa57b63ddb9078ebd

8 years agoMerge "Pass volume_id in request_spec for manage_existing"
Jenkins [Thu, 17 Dec 2015 22:05:29 +0000 (22:05 +0000)]
Merge "Pass volume_id in request_spec for manage_existing"

8 years agoMerge "Change the format of some inconsistent docstring"
Jenkins [Thu, 17 Dec 2015 22:00:08 +0000 (22:00 +0000)]
Merge "Change the format of some inconsistent docstring"

8 years agoError handling for invalid SLO/Workload combo
Helen Walsh [Thu, 5 Nov 2015 13:33:34 +0000 (13:33 +0000)]
Error handling for invalid SLO/Workload combo

This fix checks the VMAX3 to see if the user inputted SLO/workload
combination is valid. If it is not, a explanatory exception is
thrown.

Closes-Bug: #1512795

Change-Id: Ic55830eef96788eff8f6ab141a60e1dcfb9971b8

8 years ago3PAR: Implement v2 replication (unmanaged)
Alex O'Rourke [Thu, 29 Oct 2015 22:04:32 +0000 (15:04 -0700)]
3PAR: Implement v2 replication (unmanaged)

This patch implements the unmanaged side of v2 replication in the HPE
3PAR driver.

Both sync and periodic replication modes are supported. Each
replication_device entry should have a replication_mode value set
to sync|periodic.

A volume type extra_spec value of replication:mode
should also be set. If replication:mode is periodic,
replication:sync_period should be set as well. Which replication_device
entry(s) are used is determined by the value of replication:mode set for
each volume type.

cinder.conf should have the replication config group:

[3parfcrep]
hpe3par_api_url = http://10.10.10.10:8008/api/v1
hpe3par_username = user
hpe3par_password = pass
hpe3par_debug = False
san_ip = 10.10.10.10
san_login = user
san_password = pass
volume_backend_name = 3parfcrep
hpe3par_cpg = REMOTE_COPY_CPG2,REMOTE_COPY_CPG
volume_driver = cinder.volume.drivers.hpe.hpe_3par_fc.HPE3PARFCDriver
replication_device = target_device_id:eos7,
                     replication_mode:periodic,
                     cpg_map:REMOTE_COPY_CPG2:REMOTE_COPY_DEST2,
                     hpe3par_api_url:http://11.11.11.11:8008/api/v1,
                     hpe3par_username:user,
                     hpe3par_password:pass,
                     san_ip:11.11.11.11,
                     san_login:user,
                     san_password:pass

If we are working with iSCSI, the unmanaged replication device needs to
contain entries for the hpe3par_iscsi_ips as such:

[3pariscsirep]
hpe3par_api_url = https://10.10.10.10:8080/api/v1
hpe3par_username = user
hpe3par_password = pass
hpe3par_debug = False
hpe3par_iscsi_ips = 10.50.50.50,10.50.50.51
san_ip = 10.10.10.10
san_login = user
san_password = pass
volume_backend_name = 3pariscsirep
hpe3par_cpg = REMOTE_COPY_CPG2
iscsi_ip_address = 10.50.50.50
volume_driver = cinder.volume.drivers.hpe.hpe_3par_iscsi.HPE3PARISCSIDriver
replication_device = replication_mode:periodic,
                     target_device_id:eos16,
                     cpg_map:REMOTE_COPY_CPG2:REMOTE_COPY_DEST2,
                     hpe3par_api_url:https://11.11.11.11:8080/api/v1,
                     hpe3par_username:user,
                     hpe3par_password:pass,
                     san_ip:11.11.11.11,
                     san_login:user,
                     san_password:pass,
                     hpe3par_iscsi_ips:11.51.51.100 11.51.51.101,
                     iscsi_ip_address:11.51.51.100

Change-Id: I92bbe919c177e8242de8affad62f36a6edf7b0d7
Implements: blueprint hp-3par-v2-replication
DocImpact

8 years agoVMware: Add support for VVOL datastores
Vipin Balachandran [Thu, 17 Dec 2015 07:57:47 +0000 (23:57 -0800)]
VMware: Add support for VVOL datastores

vCenter 6.0 added support for a new type of datastore called VVOL
datastore. A VVOL datastore represents a storage container which
is a logical grouping of virtual volumes in an array that supports
VVOL. A virtual disk in a VVOL datastore corresponds to a virtual
volume in the array. Since VVOL datastores are treated like VMFS
or NFS datastores by vCenter APIs, the changes in the VMDK driver
to support VVOL datastores are minimal.

This patch adds the following changes in the VMDK driver to support
VVOL datastores:

* Add VVOL datastore type to the list of allowed datastore types

* Skip VVOL datastore while creating a volume from a preallocated
glance image because it involves replacing the data file of a
temporary virtual disk with the downloaded preallocated image
which VVOL cannot support.

Implements: blueprint vmdk-vvol-support
Change-Id: I528e4caed616dfd9bd85c7de113024bea6709fc1

8 years agoMerge "Add volume_extensions:quotas:delete to policy.json"
Jenkins [Thu, 17 Dec 2015 11:02:32 +0000 (11:02 +0000)]
Merge "Add volume_extensions:quotas:delete to policy.json"

8 years agoTooz locks
Szymon Wróblewski [Fri, 15 May 2015 14:13:32 +0000 (16:13 +0200)]
Tooz locks

This change adds support for distributed locks, based on tooz as a part
of work required to achieve A/A HA in c-vol service.

Co-Authored-By: Gorka Eguileor <geguileo@redhat.com>
Co-Authored-By: Michal Dulko <michal.dulko@intel.com>
Implements: blueprint cinder-volume-active-active-support
Depends-On: I86fa4340f850270b197919896b7f8639c214ceed
Change-Id: I52b8d0a05a3dbedc67f3725f9ba6d009b8d1858f

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Thu, 17 Dec 2015 06:24:21 +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: Ib8491fcd274b95e8f8058b4213cf1f6e2b6ecc62

8 years agoMerge "Check backup service before backup delete"
Jenkins [Thu, 17 Dec 2015 04:28:13 +0000 (04:28 +0000)]
Merge "Check backup service before backup delete"

8 years agoMerge "EMC VMAX - get_short_host_name not called in find_device_number"
Jenkins [Wed, 16 Dec 2015 22:44:05 +0000 (22:44 +0000)]
Merge "EMC VMAX - get_short_host_name not called in find_device_number"

8 years agoChange the format of some inconsistent docstring
sparkliu [Wed, 16 Dec 2015 17:49:43 +0000 (09:49 -0800)]
Change the format of some inconsistent docstring

Replace all the ":return:" with ":returns:"
Replace all the ":returns " wtih ":returns:"
Replace all the ":returns :" with ":returns:"

Add the changes for ":raise" also, change ":raise" to ":raise:"

Change-Id: Ib29fbb583dc2dad5d084c44d4172d6ddfa5f7458

8 years agoPreserve request id in Cinder logs
Samuel Matzek [Wed, 18 Nov 2015 19:40:42 +0000 (13:40 -0600)]
Preserve request id in Cinder logs

Several Cinder volume drivers make calls to get the admin context.
When the admin context is retrieved the user context and its request
ID is lost and all subsequent log entries have different request IDs.

The fix is to pass the overwrite parameter in Cinder's RequestContext
__init__ method to the parent oslo class.

Partial-Bug: #1511406

Change-Id: I8972b46f15518f22dc9bb340d7c1ba08be1fa2bc

8 years agoAdd volume_extensions:quotas:delete to policy.json
Michał Dulko [Wed, 16 Dec 2015 15:19:42 +0000 (16:19 +0100)]
Add volume_extensions:quotas:delete to policy.json

Aformentioned entry was missing from default policy.json file, so the
call wasn't blocked for non-admin user. It was failing on Keystone
connection and resulted in 500 HTTP error. This addition fixes the
issue.

Closes-Bug: 1526839
Change-Id: Ib26670ea60b3e9193d91183aee35cd8aaf733068

8 years agoPass volume_id in request_spec for manage_existing
Michał Dulko [Wed, 16 Dec 2015 12:08:01 +0000 (13:08 +0100)]
Pass volume_id in request_spec for manage_existing

In order to _set_volume_state_and_notify in scheduler.manager to work
correctly and error out volume on failure we need to pass volume_id in
the request_spec from c-api to c-sch. This commit implements that and
adds check for it in the unit tests for manage_existing flow.

Apart from that it removes unnecessary test that was setting volume to
MagicMock(return_value=None), which isn't actually testing anything
(volume() will return None, but we're never doing calls on volume
object).

Closes-Bug: 1526771
Change-Id: I93e16e281e952433870077309547e0ce09356a60

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Wed, 16 Dec 2015 06:24:58 +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: I96a96b35d20ab2c47ab4f2163e8c99f3e38f8838

8 years agoMerge "Implement refresh() for cinder objects"
Jenkins [Tue, 15 Dec 2015 22:16:32 +0000 (22:16 +0000)]
Merge "Implement refresh() for cinder objects"

8 years agoMerge "Skip check whether volume is local if it's None"
Jenkins [Tue, 15 Dec 2015 22:15:24 +0000 (22:15 +0000)]
Merge "Skip check whether volume is local if it's None"

8 years agoMerge "Volume migration: add 'name_id' as valid skippable field"
Jenkins [Tue, 15 Dec 2015 21:54:39 +0000 (21:54 +0000)]
Merge "Volume migration: add 'name_id' as valid skippable field"

8 years agoMerge "Imported Translations from Zanata"
Jenkins [Tue, 15 Dec 2015 21:09:39 +0000 (21:09 +0000)]
Merge "Imported Translations from Zanata"

8 years agoMerge "Sheepdog: Fix a problem about multi backend"
Jenkins [Tue, 15 Dec 2015 20:52:33 +0000 (20:52 +0000)]
Merge "Sheepdog: Fix a problem about multi backend"

8 years agoSkip check whether volume is local if it's None
peter_wang [Mon, 14 Dec 2015 03:37:41 +0000 (22:37 -0500)]
Skip check whether volume is local if it's None

When force deleting a consistency group containing volumes,
manager.py tries to extract host field to check whether the volume
is local to this cinder node before deleting the volume.

Above logic is invalid if host field of faulted volume is None.

This fix will bypass above check to allow deletion of the volume.

Change-Id: I477c80c21c0b554b69c6222fb4fb0461813ac2bb
Closes-Bug: 1524195

8 years agoMerge "Implement snapshots-related features for Block Device Driver"
Jenkins [Tue, 15 Dec 2015 07:21:49 +0000 (07:21 +0000)]
Merge "Implement snapshots-related features for Block Device Driver"

8 years agoMerge "Add synchronization in Block Device driver"
Jenkins [Tue, 15 Dec 2015 07:21:26 +0000 (07:21 +0000)]
Merge "Add synchronization in Block Device driver"

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Tue, 15 Dec 2015 06:27:06 +0000 (06:27 +0000)]
Imported Translations from Zanata

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

Change-Id: I06c4f233036c6d019011eeded2ea767beb4cdb92

8 years agoMerge "Refactor cinder.utils.is_valid_boolstr"
Jenkins [Tue, 15 Dec 2015 06:00:40 +0000 (06:00 +0000)]
Merge "Refactor cinder.utils.is_valid_boolstr"

8 years agoImplement refresh() for cinder objects
Thang Pham [Tue, 24 Nov 2015 04:12:03 +0000 (20:12 -0800)]
Implement refresh() for cinder objects

The following patch implements the refresh functionality
in cinder objects.  Instead of calling get_by_id() to get
the latest object attributes, refresh() can be called.
With this change, delete_volume() was updated to use
volume.refresh().

Change-Id: If0573f1c44c2e67c9a8cbd88dda45310a02e3272
Partial-Implements: blueprint cinder-objects

8 years agoMerge "Updated from global requirements"
Jenkins [Tue, 15 Dec 2015 03:23:04 +0000 (03:23 +0000)]
Merge "Updated from global requirements"

8 years agoEMC VMAX - get_short_host_name not called in find_device_number
Helen Walsh [Tue, 1 Dec 2015 22:38:33 +0000 (22:38 +0000)]
EMC VMAX - get_short_host_name not called in find_device_number

The get_short_host_name needs to be called in find_device_number.
There are 2 reasons for this:
1. Sometimes the full host name is contained in the
   connector['host'] object.
2. When the short host name still exceeds 38 characters,
   it must be truncated, in order to guarantee a "contains string"
   match between the host and the masking view name.

Change-Id: I9631f33eafe2cfb64388d8e19c6ed8d1e948a6fa
Closes-Bug: #1520635

8 years agoMerge "Deprecated tox -downloadcache option removed"
Jenkins [Mon, 14 Dec 2015 18:51:07 +0000 (18:51 +0000)]
Merge "Deprecated tox -downloadcache option removed"

8 years agoImplement snapshots-related features for Block Device Driver
Yuriy Nesenenko [Thu, 3 Dec 2015 17:47:16 +0000 (19:47 +0200)]
Implement snapshots-related features for Block Device Driver

This patch adds the create_snapshot, create_volume_from_snapshot
and delete_snapshot methods to Block Device driver.

Related blueprint: block-device-driver-minimum-features-set

Change-Id: If86dca417234ea2c58fbce4e30a1626b288de3f6

8 years agoRefactor cinder.utils.is_valid_boolstr
Gorka Eguileor [Mon, 14 Dec 2015 15:02:20 +0000 (16:02 +0100)]
Refactor cinder.utils.is_valid_boolstr

Method is_valid_boolstr is currently doing 8 different checks against
the same variable.  This patch refactors this method to be more pythonic
by using the in operator.

Change-Id: If77c3a80a5698685aa67120bcee2e223584f5d16

8 years agoAdd synchronization in Block Device driver
Yuriy Nesenenko [Thu, 3 Dec 2015 14:28:31 +0000 (16:28 +0200)]
Add synchronization in Block Device driver

Multiple calls can get the same device. This patch adds synchronization
to create_volume, delete_volume and create_cloned_volume to avoid race
conditions. The delete_volume method is modified to avoid code duplication
in the implementation of delete_snapshot method for snapshot in the next
patch. Also it adds update provider_location and host to mark device as
used to avoid race with other threads. It uses object notation instead
of dict notation to a volume and snapshot.

Change-Id: I0b8fb28dde367c3f34dd0b6b9d98372cfff65d45
Closes-Bug: #1335904

8 years agoRecalculate allocated value of parent project
cheneydc [Fri, 11 Dec 2015 06:28:44 +0000 (14:28 +0800)]
Recalculate allocated value of parent project

After update the child project quota, the new value should
not be accumulated to the 'allocated' value of parent
project.

So 'allocated' value should subtract the original child
project quota when it's updated.

Closes-Bug: #1525057

Change-Id: Icff845a034eb582d452b90270ca5dbce4bf1b5b6

8 years agoMerge "Fix invalid cache image-volume creation"
Jenkins [Mon, 14 Dec 2015 13:22:56 +0000 (13:22 +0000)]
Merge "Fix invalid cache image-volume creation"

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Mon, 14 Dec 2015 12:30:04 +0000 (12:30 +0000)]
Updated from global requirements

Change-Id: I89449c4a8a4a4e440c0bf8a6db0126f5cd15f0e6

8 years agoMerge "Recognize extra fields in CinderObjectDictCompat"
Jenkins [Mon, 14 Dec 2015 11:42:45 +0000 (11:42 +0000)]
Merge "Recognize extra fields in CinderObjectDictCompat"

8 years agoMerge "Replace use of mox with mock in test_solidfire"
Jenkins [Mon, 14 Dec 2015 06:33:41 +0000 (06:33 +0000)]
Merge "Replace use of mox with mock in test_solidfire"

8 years agoMerge "EMC VMAX - Fix for randomly selecting a portgroup"
Jenkins [Mon, 14 Dec 2015 06:33:31 +0000 (06:33 +0000)]
Merge "EMC VMAX - Fix for randomly selecting a portgroup"

8 years agoVolume migration: add 'name_id' as valid skippable field
Vincent Hou [Mon, 14 Dec 2015 06:08:54 +0000 (22:08 -0800)]
Volume migration: add 'name_id' as valid skippable field

New Versioned Objects expect 'name_id' as a valid input, which
is able to change '_name_id' as well, so this patch adds
'name_id' into the fields, which are going to skip for the
creation of the target volume during migration.

Change-Id: I91e3bc05607243aef020f461a467e9ecb956544f
Closes-Bug: #1525781

8 years agoFix invalid cache image-volume creation
John Griffith [Sat, 12 Dec 2015 18:32:57 +0000 (18:32 +0000)]
Fix invalid cache image-volume creation

During the volume ref creation in clone_image_volume
we were including a _name_id attribute which is invalid
in the base olso object.  The result is silent failure
for a key error. Note that the comments for the column
in the db specifcally state "do not call directly".
The variable is also denoted as private by the _ prefix.

Fix this by just popping the "_name_id' attribute.

In addition there were a number of things that needed
some cleanup:
1. Don't iterate over list of tuples to get K/V for dict
   Just use Dict(xxxx)
2. Don't use delete dict.key
   This isn't safe, because if the key DNE you'll get a key exception
   Instead use pop which is safe if key DNE
3. Add an error message when this fails, because currently the logs
   don't give an operation a chance of knowing it failed, let alone
   an opportunity to debug it

Finally the cache volume creation is still calling the db
directly and doing a resource create as opposed to
using the new volume object create handler.  I went ahead
and converted this to use objects, however that resulted in
breaking two of the volume-->image unit tests that use cinder
as a glance backend.

I've opened bug 1525773 for those issues and added a skip
to the tests in question.

Change-Id: Ieda40c1111d4d4d69488944eb332962eb9658266
Closes-Bug: #1525452

8 years agoMerge "Remove eventlet WSGI functionality"
Jenkins [Mon, 14 Dec 2015 02:11:31 +0000 (02:11 +0000)]
Merge "Remove eventlet WSGI functionality"

8 years agoMerge "NetApp: E-Series fix JSONDecodeError on first add"
Jenkins [Mon, 14 Dec 2015 02:11:16 +0000 (02:11 +0000)]
Merge "NetApp: E-Series fix JSONDecodeError on first add"

8 years agoMerge "Imported Translations from Zanata"
Jenkins [Sun, 13 Dec 2015 14:28:30 +0000 (14:28 +0000)]
Merge "Imported Translations from Zanata"

8 years agoMerge "Storwize: add config option to control flash copy rate"
Jenkins [Sun, 13 Dec 2015 07:43:46 +0000 (07:43 +0000)]
Merge "Storwize: add config option to control flash copy rate"

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Sun, 13 Dec 2015 06:22:42 +0000 (06:22 +0000)]
Imported Translations from Zanata

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

Change-Id: Ie5fd8669db11a66c7b1fefedaad85ea3ef94bf7e

8 years agoRemove eventlet WSGI functionality
Marian Horban [Wed, 2 Sep 2015 12:35:50 +0000 (08:35 -0400)]
Remove eventlet WSGI functionality

This commit removes eventlet WSGI server and starts using
generic eventlet WSGI server from oslo.service library.
The change where the wsgi functionality was added to
oslo.service can be referenced here:
If8840168f10cc3561f4f01e6d456d6b4fd1de8b5.

DocImpact

Depends-on: If8840168f10cc3561f4f01e6d456d6b4fd1de8b5
Implements blueprint: reusing-wsgi-from-oslo.service
Closes-Bug: #1499658

Change-Id: Iea8af7b4a569fedc99e126524f18f98097c95a6d

8 years agoDeprecated tox -downloadcache option removed
Ondřej Nový [Fri, 11 Dec 2015 20:06:14 +0000 (21:06 +0100)]
Deprecated tox -downloadcache option removed

Caching is enabled by default from pip version 6.0

More info:
https://testrun.org/tox/latest/config.html#confval-downloadcache=path
https://pip.pypa.io/en/stable/reference/pip_install/#caching

Change-Id: I5376fa4891a1a1f469af36d850b4045d24590aec

8 years agoFix for showing default quotas to non-admin user
Szymon Borkowski [Fri, 11 Dec 2015 11:20:03 +0000 (12:20 +0100)]
Fix for showing default quotas to non-admin user

Earlier, when non-admin user wanted to get quotas for his own
projects, if there were no custom quota values set, the API
used to return zero values.

Change-Id: I753af89aa5aae5ad20abe48441df3dbd02b8e05e
Closes-Bug: 1523928

8 years agoVNX: Fix failure in SnapCopy feature
peter_wang [Mon, 19 Oct 2015 08:06:49 +0000 (04:06 -0400)]
VNX: Fix failure in SnapCopy feature

Previously, user needs to enable this feature via Volume Type.
See: https://review.openstack.org/#/c/184733/

This introduces some failures for volume operations, for example:

1. Creating cloned volume or snapshot from snapcopy volume will fail.
2. Creating volume from snapshot whose source volume's volume type is
snapcopy type will fail.
3. Creating non-snapcopy volume from source volume with snapcopy type
will fail.

In order to fix above issues, Driver needs to store the base LUN info
for all volumes. When creating cloned volume or volume from snapshot
, driver extracts the base LUN info and creates snapshot mount point
according to the base LUN and then exposes as a snapcopy volume.

Example cinder command to enable snapcopy on volume:

    cinder create --source-volid <vol-id> --metadata snapcopy=True
or

    cinder create --snapshot-id <snap-id> --metadata snapcopy=True

liberty-backport-potential
DocImpact
Change-Id: I91c83ddac9bcad9c7c788d7bf82bcc4dced71751
Closes-Bug: 1514319

8 years agoMerge "Retype functionality in Tintri driver"
Jenkins [Fri, 11 Dec 2015 03:20:39 +0000 (03:20 +0000)]
Merge "Retype functionality in Tintri driver"

8 years agoMerge "VNX: Fix issue in deleting cg/cgsnapshot"
Jenkins [Fri, 11 Dec 2015 03:03:16 +0000 (03:03 +0000)]
Merge "VNX: Fix issue in deleting cg/cgsnapshot"

8 years agoMerge "Use wild card for passing env variable"
Jenkins [Fri, 11 Dec 2015 02:06:43 +0000 (02:06 +0000)]
Merge "Use wild card for passing env variable"

8 years agoMerge "Check context before returning cached value"
Jenkins [Thu, 10 Dec 2015 22:25:21 +0000 (22:25 +0000)]
Merge "Check context before returning cached value"

8 years agoMerge "Add validation for volume_type of volume object"
Jenkins [Thu, 10 Dec 2015 20:51:16 +0000 (20:51 +0000)]
Merge "Add validation for volume_type of volume object"

8 years agoMerge "Fix non-migration swap with error"
Jenkins [Thu, 10 Dec 2015 20:28:37 +0000 (20:28 +0000)]
Merge "Fix non-migration swap with error"

8 years agoMerge "XtremIO: fix iscsi chap discovery bug"
Jenkins [Thu, 10 Dec 2015 18:34:16 +0000 (18:34 +0000)]
Merge "XtremIO: fix iscsi chap discovery bug"

8 years agoUse wild card for passing env variable
Manjeet Singh Bhatia [Thu, 10 Dec 2015 15:37:34 +0000 (15:37 +0000)]
Use wild card for passing env variable

Change-Id: Ia8908941d5619d8c79fa7373c63ff37725fcc4f5

8 years agoRecognize extra fields in CinderObjectDictCompat
Michał Dulko [Thu, 19 Nov 2015 16:50:20 +0000 (17:50 +0100)]
Recognize extra fields in CinderObjectDictCompat

We're still in the process of transitioning to the object notation in a
lot of places and that's why we've decided to keep specialized get in
CinderObjectDictCompat. This one wasn't looking at aliases (properties)
from obj_extra_fields. This commit fixes that and adds a unit test for
this method.

We should eventually stop using it, but for Mitaka this will make a lot
of things easier.

Change-Id: I1df610bedffdeae56444ce0a40f8fb48216e91b7
Related-Bug: 1516903

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Thu, 10 Dec 2015 06:21:04 +0000 (06:21 +0000)]
Imported Translations from Zanata

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

Change-Id: Id780e343cc582168bfa2554e25513e94475d776b

8 years agoMerge "Use Cinder API v2 for Rally scenarios"
Jenkins [Thu, 10 Dec 2015 04:33:38 +0000 (04:33 +0000)]
Merge "Use Cinder API v2 for Rally scenarios"

8 years agoVNX: Fix issue in deleting cg/cgsnapshot
peter_wang [Tue, 8 Dec 2015 08:18:31 +0000 (03:18 -0500)]
VNX: Fix issue in deleting cg/cgsnapshot

If user deletes a cg/cgsnapshot quickly after its creation,
driver would report 'not found' warning, and return success
for the deletion, but actually, the object underlying the VNX
is not deleted.

This fix tries to wait the cg and cg snapshot to be available
to make sure it's eligible for deletion.

liberty-backport-potential
Closes-Bug: 1499615
Change-Id: Ifae57b9e95e01b1789a37ac7c03e9aad65cd50f7

8 years agoAdd validation for volume_type of volume object
Mitsuhiro Tanino [Mon, 7 Dec 2015 22:05:24 +0000 (17:05 -0500)]
Add validation for volume_type of volume object

During copy_volume_to_image(), this tries to return
volume['volume_type'] attribute in a volume object, but
if the volume does not have a volume type, this would
trigger a db call which raise an 404 not found error.

Volume object should check volume_type_id at first and
then decide whether returning volume_type or None to
avoid VolumeTypeNotFound exception.

Also this change includes LOG.info messages fix to show
right behavior of copy_volume_to_image().

Change-Id: Id2372621962406282eece2bcbc56c242f9dff8a0
Closes-Bug: #1523362

8 years agoUpdated from global requirements
OpenStack Proposal Bot [Wed, 9 Dec 2015 21:55:16 +0000 (21:55 +0000)]
Updated from global requirements

Change-Id: I115d45ba9f112ea8824eb7686cb1af69fadc72ff

8 years agoRetype functionality in Tintri driver
apoorvad [Wed, 9 Dec 2015 17:42:21 +0000 (09:42 -0800)]
Retype functionality in Tintri driver

At this point default retype behavior is as follows. If a volume changes
type on the same backend then that volume will be migrated. Since Tintri
VMstore does not differentiate between volume types, we can avoid this
migration by implementing retype functionality.

Change-Id: I40b28327e13821d6fb45f89b15267b21ed4c2e8c
closes-bug: 1524435

8 years agoMerge "Python 3: fix a lot of tests"
Jenkins [Wed, 9 Dec 2015 18:06:39 +0000 (18:06 +0000)]
Merge "Python 3: fix a lot of tests"

8 years agoFix non-migration swap with error
Ryan McNair [Wed, 9 Dec 2015 15:29:27 +0000 (15:29 +0000)]
Fix non-migration swap with error

The fix I242c2c7c4a7197bbce04d0b3d75688f989ea1fd5 for non-migration
swap volume caused drivers which don't support volume swapping,
e.g. Ceph, to put the volumes in an incorrect state (additional
details can be found in bug #1489744 report).  This patch adds an
additional check to ensure no errors occurred during the swap before
it completes the volume status updates, as well a test-case for
the non-migration swap scenario.

Change-Id: Ic2fddbcb12b4c9d251f9c3aab08a73e12d4d73e2
Closes-Bug: #1489744

8 years agoReplace use of mox with mock in test_solidfire
John Griffith [Wed, 9 Dec 2015 07:03:37 +0000 (00:03 -0700)]
Replace use of mox with mock in test_solidfire

Noticed we still had some old usage of mox, replace
the remaining cases of mox with mock in test_solidfire.py

Change-Id: I27c1b4ab04f401765a2ca4eb0ffe4d22da73af4e

8 years agoMerge "Update migrate_volume API to use versionedobjects"
Jenkins [Wed, 9 Dec 2015 05:52:03 +0000 (05:52 +0000)]
Merge "Update migrate_volume API to use versionedobjects"

8 years agoMerge "Dynamically Pull Out Option Sections"
Jenkins [Wed, 9 Dec 2015 02:41:32 +0000 (02:41 +0000)]
Merge "Dynamically Pull Out Option Sections"

8 years agoMerge "Volume driver for Coho Data storage solutions"
Jenkins [Wed, 9 Dec 2015 02:40:50 +0000 (02:40 +0000)]
Merge "Volume driver for Coho Data storage solutions"

8 years agoMerge "3PAR: Implement v2 replication (managed)"
Jenkins [Wed, 9 Dec 2015 02:25:13 +0000 (02:25 +0000)]
Merge "3PAR: Implement v2 replication (managed)"

8 years agoMerge "XtremIO: fix missing multiattach flag"
Jenkins [Wed, 9 Dec 2015 01:53:57 +0000 (01:53 +0000)]
Merge "XtremIO: fix missing multiattach flag"

8 years agoCheck context before returning cached value
Dave McCowan [Mon, 7 Dec 2015 19:25:24 +0000 (14:25 -0500)]
Check context before returning cached value

The key manager caches the value of barbican client to be reused,
saving an extra call to keystone.  The cached value is only
applicable to the current context, so the context must be checked
before returning the cached value.

Change-Id: Ib10909a098fb2cd070129c239b6d3b95edc8fea0
Closes-Bug: #1523646

8 years agoMerge "Fix StrOpts with integer defaults"
Jenkins [Tue, 8 Dec 2015 08:06:21 +0000 (08:06 +0000)]
Merge "Fix StrOpts with integer defaults"

8 years ago3PAR: Implement v2 replication (managed)
Alex O'Rourke [Thu, 29 Oct 2015 22:04:32 +0000 (15:04 -0700)]
3PAR: Implement v2 replication (managed)

This patch implements the managed side of v2 replication in the HPE
3PAR driver.

Both sync and periodic replication modes are supported. Each
replication_device entry should have a replication_mode value set
to sync|periodic.

A volume type extra_spec value of replication:mode
should also be set. If replication:mode is periodic,
replication:sync_period should be set as well. Which replication_device
entry(s) are used is determined by the value of replication:mode set for
each volume type.

cinder.conf should have the replication config group (3parfcrep)
and at least one other target group (3parfc) as such:

[3parfcrep]
hpe3par_api_url = http://10.10.10.10:8008/api/v1
hpe3par_username = user
hpe3par_password = pass
hpe3par_debug = False
san_ip = 10.10.10.10
san_login = user
san_password = pass
volume_backend_name = 3parfcrep
hpe3par_cpg = REMOTE_COPY_CPG2
volume_driver = cinder.volume.drivers.hpe.hpe_3par_fc.HPE3PARFCDriver
replication_device = managed_backend_name:alex-devstack@3parfc#REMOTE_COPY_DEST2,
                     replication_mode:periodic,target_device_id:eos7,
                     cpg_map:REMOTE_COPY_CPG2:REMOTE_COPY_DEST2,
                     hpe3par_api_url:http://11.11.11.11:8008/api/v1,hpe3par_username:user,
                     hpe3par_password:pass,san_ip:11.11.11.11,san_login:user,
                     san_password:pass

[3parfc]
hpe3par_api_url = http://11.11.11.11:8008/api/v1
hpe3par_username = user
hpe3par_password = pass
hpe3par_debug = False
san_ip = 11.11.11.11
san_login = user
san_password = pass
volume_backend_name = 3parfc
hpe3par_cpg = REMOTE_COPY_DEST2
volume_driver = cinder.volume.drivers.hpe.hpe_3par_fc.HPE3PARFCDriver

Change-Id: Ie965349af719eaacc287a17c9720ad65464002c0
Implements: blueprint hp-3par-v2-replication
DocImpact