]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
8 years agoBlock subtractive operations in DB migrations
Michał Dulko [Mon, 5 Oct 2015 15:03:39 +0000 (17:03 +0200)]
Block subtractive operations in DB migrations

To achieve rolling upgrades we need to make non-backward-compatible DB schema
migrations in a very specific manner that spans through 3 releases. In
particular we need to be very careful when dropping or altering columns
and tables.

This commit adds a test that blocks all the ALTER and DROP operations
from DB migrations. It allows to specify exceptions from this rule for two
purposes:
* Some DROP/ALTER migrations aren't subtractive (e.g. dropping a
  constraint).
* When following the process we've designed for non-backward-compatible
  migrations, we should be able to drop first unused columns or tables
  in O release.

The test is based on similar one implemented in Nova.

Implements: bp online-schema-upgrades

Change-Id: I07df721e5505abe17e45427c05b985b7e923a010

8 years agoMerge "Readd iscsi_target table"
Jenkins [Mon, 7 Mar 2016 03:12:52 +0000 (03:12 +0000)]
Merge "Readd iscsi_target table"

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Sat, 5 Mar 2016 06:34:24 +0000 (06:34 +0000)]
Imported Translations from Zanata

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

Change-Id: I149b3a4764a2637e26106f3456f182d3eab9460c

8 years agoMerge "Remove QoS settings from SolidFire attributes"
Jenkins [Sat, 5 Mar 2016 05:20:42 +0000 (05:20 +0000)]
Merge "Remove QoS settings from SolidFire attributes"

8 years agoMerge "Don't fail on clearing 3PAR object volume key"
Jenkins [Sat, 5 Mar 2016 03:14:29 +0000 (03:14 +0000)]
Merge "Don't fail on clearing 3PAR object volume key"

8 years agoMerge "Dell SC: Support Replication V2.1"
Jenkins [Sat, 5 Mar 2016 03:06:34 +0000 (03:06 +0000)]
Merge "Dell SC: Support Replication V2.1"

8 years agoMerge "CONF add suppress_requests_ssl_warnings"
Jenkins [Sat, 5 Mar 2016 02:24:09 +0000 (02:24 +0000)]
Merge "CONF add suppress_requests_ssl_warnings"

8 years agoMerge "Huawei: Create snapshot have a log error"
Jenkins [Sat, 5 Mar 2016 02:23:47 +0000 (02:23 +0000)]
Merge "Huawei: Create snapshot have a log error"

8 years agoMerge "support new HTTP microversion header"
Jenkins [Sat, 5 Mar 2016 01:26:08 +0000 (01:26 +0000)]
Merge "support new HTTP microversion header"

8 years agoMerge "Allow for Pure drivers to verify HTTPS requests"
Jenkins [Sat, 5 Mar 2016 01:25:46 +0000 (01:25 +0000)]
Merge "Allow for Pure drivers to verify HTTPS requests"

8 years agoMerge "Add backend id to Pure Volume Driver trace logs"
Jenkins [Fri, 4 Mar 2016 22:10:08 +0000 (22:10 +0000)]
Merge "Add backend id to Pure Volume Driver trace logs"

8 years agoMerge "Fix issue with Pure drivers delete_snapshot exception handling"
Jenkins [Fri, 4 Mar 2016 19:33:15 +0000 (19:33 +0000)]
Merge "Fix issue with Pure drivers delete_snapshot exception handling"

8 years agoMerge "EMC VMAX - Recreating SG when it has been deleted"
Jenkins [Fri, 4 Mar 2016 17:36:51 +0000 (17:36 +0000)]
Merge "EMC VMAX - Recreating SG when it has been deleted"

8 years agoMerge "Convert huawei ISCSIDriver unit tests to RFC5737 addrs"
Jenkins [Fri, 4 Mar 2016 17:21:48 +0000 (17:21 +0000)]
Merge "Convert huawei ISCSIDriver unit tests to RFC5737 addrs"

8 years agosupport new HTTP microversion header
scottda [Tue, 1 Mar 2016 21:42:05 +0000 (14:42 -0700)]
support new HTTP microversion header

According to API working group guidelines:
https://review.openstack.org/#/c/243414

microversion headers should be of the form:
OpenStack-API-Version: [SERVICE_TYPE] 2.114

i.e OpenStack-API-Version: volume 3.22

Two extra headers are always returned in the response:

    OpenStack-API-Version: [SERVICE_TYPE] version_number
    Vary: OpenStack-API-Version

note: Servers must be prepared to deal with multiple
  OpenStack-API-Version headers. This could happen when a client
  designed to address multiple services always sends the headers it
  thinks it needs. Most Python frameworks will handle this by setting
  the value of the header to the values of all matching headers,
  joined by a ',' (comma). For example ``compute 2.11,identity
  2.114``.

Closes-Bug: #1551941
Change-Id: I658e54966c390b41e3b551dd9827606c2e013511

8 years agoMerge "Fix invalid uuid warnings in backup unit tests"
Jenkins [Fri, 4 Mar 2016 15:14:23 +0000 (15:14 +0000)]
Merge "Fix invalid uuid warnings in backup unit tests"

8 years agoReadd iscsi_target table
Gorka Eguileor [Thu, 3 Mar 2016 13:37:29 +0000 (14:37 +0100)]
Readd iscsi_target table

Rolling upgrades was broken when iscsi_target table was dropped on
https://review.openstack.org/268320

We cannot stop using a table and drop it in the same release for rolling
upgrades to work, we have to stop using it in one release and then drop
it in the next or in the post rolling upgrade mechanism (which is still
not in place).

So this patch fixes this by removing the dropping and adding another
migration that ensure that the table is really there.  That way we can
be sure that anyone using M will have the table, which then will get
dropped in N.

Closes-Bug: #1553079
Change-Id: I26586549485a8d745a25161d97d33426fdd52576

8 years agoImported Translations from Zanata
OpenStack Proposal Bot [Fri, 4 Mar 2016 06:35:36 +0000 (06:35 +0000)]
Imported Translations from Zanata

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

Change-Id: I1a99dec00a593d4d22f057114261f3521a4e8ac4

8 years agoFix issue with Pure drivers delete_snapshot exception handling
Patrick East [Fri, 4 Mar 2016 05:47:22 +0000 (21:47 -0800)]
Fix issue with Pure drivers delete_snapshot exception handling

We were checking for only a single possible error that can occur when
the snapshot was missing. We now check for both which helps prevent
any snapshots or volumes deleted out from underneath Cinder to get
things stuck in an error state.

This also adjusts the warning message to be a little more descriptive.

Change-Id: I26f393a3e5232fc508b9f34921e9f53f8b5a77ef
Closes-Bug: #1553029

8 years agoMerge "EMC VMAX - Limit SG and MV to 64 characters"
Jenkins [Fri, 4 Mar 2016 03:38:13 +0000 (03:38 +0000)]
Merge "EMC VMAX - Limit SG and MV to 64 characters"

8 years agoMerge "3PAR use same LUN id for each export path"
Jenkins [Fri, 4 Mar 2016 03:37:58 +0000 (03:37 +0000)]
Merge "3PAR use same LUN id for each export path"

8 years agoMerge "Update unittest for Storwize pool-aware-cinder-scheduler"
Jenkins [Fri, 4 Mar 2016 01:53:01 +0000 (01:53 +0000)]
Merge "Update unittest for Storwize pool-aware-cinder-scheduler"

8 years agoMerge "Tintri image direct clone"
Jenkins [Fri, 4 Mar 2016 01:35:33 +0000 (01:35 +0000)]
Merge "Tintri image direct clone"

8 years agoAdd backend id to Pure Volume Driver trace logs
Patrick East [Fri, 4 Mar 2016 00:15:49 +0000 (16:15 -0800)]
Add backend id to Pure Volume Driver trace logs

With multi-backend deployments it was very hard to follow which backend
was making which calls. When there was an error it was often unhelpful
to look at the tracing to know which backend had the problem.

This will now print out the active backend id with the tracing log
messages.

Change-Id: Iaa1ec1c9027f6ba8aeb2574b92a416ae4bd86455
Closes-Bug: #1552966

8 years agoDon't fail on clearing 3PAR object volume key
Kurt Martin [Wed, 2 Mar 2016 22:57:06 +0000 (14:57 -0800)]
Don't fail on clearing 3PAR object volume key

The 3PARs drivers write a key value pair on the 3PAR backend volumes
to track the instance that the volume is exported to. However, in
certain cases the key is not present and we would throw an
exception and not allow the detach to continue. If the key is not
present then we do not need to clear it. This patch will just
log a warning that it wasn't present and continue with the detaching
the volume.

Change-Id: Ie19c9050d514d68ba162bcbfa95dfc6e96d5d7bb
Closes-Bug: #1546392

8 years agoFix invalid uuid warnings in backup unit tests
Tom Barron [Mon, 29 Feb 2016 14:48:44 +0000 (09:48 -0500)]
Fix invalid uuid warnings in backup unit tests

Currently, 'tox -epy27 -- --regex cinder.tests.unit.backup' and
'tox -epy27 -- --regex cinder.tests.unit.test_backup' emit
188 FutureWarnings from oslo.versionedobjects aout invalid uuids
as documented here[1].

This commit changes these tests to use valid uuids so that when they
are run these warnings are no longer emitted.

[1] http://docs.openstack.org/developer/oslo.versionedobjects/api/fields.html#oslo_versionedobjects.fields.UUIDField

Change-Id: I356a38791de06164ec634c463713df9000268194

8 years agoMerge "Fix invalid uuid warnings in test_volume.py"
Jenkins [Thu, 3 Mar 2016 23:06:56 +0000 (23:06 +0000)]
Merge "Fix invalid uuid warnings in test_volume.py"

8 years agoMerge "Remove a vol in error state from a CG"
Jenkins [Thu, 3 Mar 2016 22:33:23 +0000 (22:33 +0000)]
Merge "Remove a vol in error state from a CG"

8 years agoMerge "VMAX-Replacing deprecated API EMCGetTargetEndpoints"
Jenkins [Thu, 3 Mar 2016 22:31:41 +0000 (22:31 +0000)]
Merge "VMAX-Replacing deprecated API EMCGetTargetEndpoints"

8 years agoMerge "Remove an useless and wrong call"
Jenkins [Thu, 3 Mar 2016 20:55:41 +0000 (20:55 +0000)]
Merge "Remove an useless and wrong call"

8 years agoMerge "VMware: Fix volume copy across vCenter datacenters"
Jenkins [Thu, 3 Mar 2016 20:55:17 +0000 (20:55 +0000)]
Merge "VMware: Fix volume copy across vCenter datacenters"

8 years agoMerge "Fix call to Barbican Secrets create()"
Jenkins [Thu, 3 Mar 2016 19:39:17 +0000 (19:39 +0000)]
Merge "Fix call to Barbican Secrets create()"

8 years agoMerge "Revert "Remove Cisco FC Zone Manager Driver""
Jenkins [Thu, 3 Mar 2016 19:34:24 +0000 (19:34 +0000)]
Merge "Revert "Remove Cisco FC Zone Manager Driver""

8 years agoMerge "Add 'conf' param for TextGuruMeditation autorun setup"
Jenkins [Thu, 3 Mar 2016 19:01:46 +0000 (19:01 +0000)]
Merge "Add 'conf' param for TextGuruMeditation autorun setup"

8 years agoMerge "Fixes running error for storwize _run_ssh"
Jenkins [Thu, 3 Mar 2016 18:58:31 +0000 (18:58 +0000)]
Merge "Fixes running error for storwize _run_ssh"

8 years agoFix invalid uuid warnings in test_volume.py
Tom Barron [Wed, 2 Mar 2016 17:29:47 +0000 (12:29 -0500)]
Fix invalid uuid warnings in test_volume.py

Currently 'tox -epy27 -- -n cinder.tests.unit.test_volume'
emits 36 FutureWarnings from oslo.versionedobjects about invalid
uuids as documented here [1].

This commit changes this module to use valid uuids so that when its
tests are run these warnings are no longer emitted.

Change-Id: Id4729d0dc6998e9343034d7c17ace1109fe21417

8 years agoMerge "Don't run test_volume.VolumeTestCase twice"
Jenkins [Thu, 3 Mar 2016 17:58:25 +0000 (17:58 +0000)]
Merge "Don't run test_volume.VolumeTestCase twice"

8 years agoMerge "Fix invalid uuid warnings in scheduler unit tests"
Jenkins [Thu, 3 Mar 2016 17:55:49 +0000 (17:55 +0000)]
Merge "Fix invalid uuid warnings in scheduler unit tests"

8 years agoTintri image direct clone
apoorvad [Wed, 23 Dec 2015 23:07:30 +0000 (15:07 -0800)]
Tintri image direct clone

Fix for the bug 1400966 prevents user from specifying image nfs
share location as location value for an image.
This broke Tintri's image direct clone feature.

This addresses the issue by using provider_location of image
metadata to specify image nfs share location.

DocImpact
Closes-Bug: #1528969
Co-Authored-By: opencompute xuchenx@gmail.com
Change-Id: Icdf2f229d79d5631604e87dd9dd30a1608e6b010

8 years agoMerge "Fix oslo.service config generation"
Jenkins [Thu, 3 Mar 2016 15:30:24 +0000 (15:30 +0000)]
Merge "Fix oslo.service config generation"

8 years agoRemove a vol in error state from a CG
Alon Marx [Wed, 20 Jan 2016 20:14:14 +0000 (22:14 +0200)]
Remove a vol in error state from a CG

Before calling update_consistencygroup, a validation is done if volumes
are in valid states for action.

Divide the states allowed for adding and removing volumes from a CG,
and allow volume removal in states error and error_deleting.

Also added missing verification in manager update_consistencygroup in
case state has changed from cinder-api to cinder-volume.

Change-Id: I6f5fa8e9af67e17ab49e7f3423d4469640df790c
Closes-Bug: #1519377

8 years agoFix call to Barbican Secrets create()
Ollie Leahy [Thu, 3 Mar 2016 14:05:14 +0000 (14:05 +0000)]
Fix call to Barbican Secrets create()

Calls to backup encrypted volumes fail because the cinder
barbican keymanager passes incorrect positional parameters
to barbican Secrets.create().

Change-Id: I7b0c2bafce12964ffcfe1066953c2c93ca460e92
Closes-bug: 1552684

8 years ago3PAR use same LUN id for each export path
Walter A. Boring IV [Tue, 1 Mar 2016 15:22:21 +0000 (07:22 -0800)]
3PAR use same LUN id for each export path

When multipath is enabled, and the 3PAR driver is configured
to export a VLUN over N iSCSI IP(ports), we now use the same
LUN ID for each iSCSI IP export.  Previously, when we would
export a volume over N iSCSI ports, we would get a new LUN ID
for each iSCSI port.

Change-Id: Ide0ce373a14f348a554688dee9b699feed3c5f26
Closes-Bug: #1551994

8 years agoFix oslo.service config generation
Gorka Eguileor [Thu, 3 Mar 2016 13:00:34 +0000 (14:00 +0100)]
Fix oslo.service config generation

Cinder generation configuration sample does not contain any of
oslo.service configuration options.

This is because we are not using the right namespace when calling
oslo-config-generator since oslo.service is not a valid entrypoint as
mentioned in the documentation:

https://github.com/openstack/oslo.service/blob/master/doc/source/usage.rst#using-osloservice-with-oslo-config-generator

This patch fixes this by using the right namespaces.

Closes-Bug: #1552689
Change-Id: I8365daec0d3b161d3c07f229d221cf004edb6662

8 years agoMerge "Fixed help message for AllocatedCapacityWeigher"
Jenkins [Thu, 3 Mar 2016 12:06:13 +0000 (12:06 +0000)]
Merge "Fixed help message for AllocatedCapacityWeigher"

8 years agoUpdate unittest for Storwize pool-aware-cinder-scheduler
Xiaoqin Li [Wed, 2 Mar 2016 11:25:01 +0000 (03:25 -0800)]
Update unittest for Storwize pool-aware-cinder-scheduler

Update unittest for Storwize pool-aware-cinder-scheduler
according to comments in
https://review.openstack.org/#/c/284614/ patch

Change-Id: I3fde5dd111690de14e1aacdc91e3bb8452c71bf4
Closes-Bug: 1552127

8 years agoMerge "3PAR: Update replication to v2.1"
Jenkins [Thu, 3 Mar 2016 11:24:55 +0000 (11:24 +0000)]
Merge "3PAR: Update replication to v2.1"

8 years agoMerge "LeftHand: Update replication to v2.1"
Jenkins [Thu, 3 Mar 2016 11:24:34 +0000 (11:24 +0000)]
Merge "LeftHand: Update replication to v2.1"

8 years agoMerge "Fix volume filtering for quoted display name"
Jenkins [Thu, 3 Mar 2016 10:55:40 +0000 (10:55 +0000)]
Merge "Fix volume filtering for quoted display name"

8 years agoMerge "Add attach/detach doc to index"
Jenkins [Thu, 3 Mar 2016 08:34:36 +0000 (08:34 +0000)]
Merge "Add attach/detach doc to index"

8 years agoMerge "Add necessary fields to volume creation"
Jenkins [Thu, 3 Mar 2016 05:42:13 +0000 (05:42 +0000)]
Merge "Add necessary fields to volume creation"

8 years agoRevert "Remove Cisco FC Zone Manager Driver"
Patrick East [Wed, 2 Mar 2016 03:40:10 +0000 (19:40 -0800)]
Revert "Remove Cisco FC Zone Manager Driver"

This reverts commit 0f5c5d8cf7ae3623c69ca30e5dd1387f699bdc70.

As a stop gap solution Pure Storage will be running the CI for the
Cisco FCZM so that we don’t drop it for the release.

Change-Id: If257edae46ea4cd8e512e600b9182e9f50cdf546

8 years agoMerge "Use openstack.org URLs in README"
Jenkins [Thu, 3 Mar 2016 04:05:14 +0000 (04:05 +0000)]
Merge "Use openstack.org URLs in README"

8 years agoMerge "NexentaStor5 iSCSI driver unit tests"
Jenkins [Thu, 3 Mar 2016 04:04:53 +0000 (04:04 +0000)]
Merge "NexentaStor5 iSCSI driver unit tests"

8 years agoMerge "Fix invalid uuid warnings in block device unit tests"
Jenkins [Thu, 3 Mar 2016 04:04:38 +0000 (04:04 +0000)]
Merge "Fix invalid uuid warnings in block device unit tests"

8 years agoMerge "Fix spelling mistake in docstring"
Jenkins [Thu, 3 Mar 2016 04:04:23 +0000 (04:04 +0000)]
Merge "Fix spelling mistake in docstring"

8 years agoMerge "Fix exception during service update"
Jenkins [Thu, 3 Mar 2016 02:38:30 +0000 (02:38 +0000)]
Merge "Fix exception during service update"

8 years agoMerge "Use OSprofiler options consolidated in lib itself"
Jenkins [Thu, 3 Mar 2016 02:38:12 +0000 (02:38 +0000)]
Merge "Use OSprofiler options consolidated in lib itself"

8 years agoMerge "Remove duplicated code in volume manager and base driver"
Jenkins [Thu, 3 Mar 2016 02:24:24 +0000 (02:24 +0000)]
Merge "Remove duplicated code in volume manager and base driver"

8 years agoMerge "Huawei: Manage volume fails due to lower array version"
Jenkins [Thu, 3 Mar 2016 01:35:46 +0000 (01:35 +0000)]
Merge "Huawei: Manage volume fails due to lower array version"

8 years agoAllow for Pure drivers to verify HTTPS requests
Patrick East [Wed, 17 Feb 2016 04:38:22 +0000 (20:38 -0800)]
Allow for Pure drivers to verify HTTPS requests

This pipes in the config options (driver_ssl_cert_verify and
driver_ssl_cert_path) for verifying https requests to the
purestorage python module. This will allow for the underlying https
management API requests to the array to be verified.

To use this feature a newer (>1.4.0) version of the pure storage python
module will be required.

DocImpact: Need to update Pure Storage Volume Driver config reference
to mention that it can use the new config options and the python module
version requirements that go along with it.

Change-Id: Id4d73e76ec64e4ac00291ed9b7377c47e40bc551
Closes-Bug: #1546655

8 years agoMerge "Fix test_create_volume_flow test issue"
Jenkins [Thu, 3 Mar 2016 01:17:39 +0000 (01:17 +0000)]
Merge "Fix test_create_volume_flow test issue"

8 years agoMerge "Fix test isolation issues related to versions"
Jenkins [Thu, 3 Mar 2016 01:17:15 +0000 (01:17 +0000)]
Merge "Fix test isolation issues related to versions"

8 years agoMerge "doc: Fix wrong description about adding RESTful API"
Jenkins [Wed, 2 Mar 2016 23:31:38 +0000 (23:31 +0000)]
Merge "doc: Fix wrong description about adding RESTful API"

8 years agoFix volume filtering for quoted display name
Deepti Ramakrishna [Thu, 22 Oct 2015 23:40:02 +0000 (16:40 -0700)]
Fix volume filtering for quoted display name

Cinder v2 API allows creating a volume with a quoted (single or double
quotes or even unbalanced number of quotes) display name. But when we
try to get info for such volume, we end up getting an error message
saying that no volume with such a name or ID exists. This error is due
to the inadvertent stripping of quotes from the filter in the api layer.

The api call eventually comes to check_volume_filters() in
cinder/volume/api.py. The invocation of ast.literal_eval() inside this
method strips the quotes for certain quoted strings leading to this
incorrect filtering. ast.literal_eval() is used to convert string
representations into python objects which are then used to frame the
SQL queries in the db layer. For example, the string "[1,2]" for a
filter (not the display name filter) gets converted to a list object
and results in an "IN" operation being emitted in the SQL query as
opposed to an exact match.

When display_name does not contain any quotes or contains an unbalanced
number of quotes, then ast.literal_eval() throws (just like the Python
interpreter would throw for an unquoted string literal or one with
unbalanced number of quotes). We handle this by ignoring the exception
and using the raw input value as the filter and moving on. For string
containing balanced number of quotes, such as, '"foo"',
ast.literal_eval() succeeds and returns the input with the surrounding
quotes stripped (just like how the python interpreter strips quotes
from a string literal to initialize a string var's value in memory).
To always use the raw user input string as the filter value, we can
either not pass string inputs to ast.literal_eval() or encode the
string using encode("string-escape") so that we get the original string
back after passing through ast.literal_eval(). We choose the former as
the latter buys us nothing.

Change-Id: I48e0aea801ccb011cb974eea3d685bb9f35c61b2
Closes-Bug: #1503485

8 years agoMerge "Changes in ScaleIO configurations options"
Jenkins [Wed, 2 Mar 2016 21:51:24 +0000 (21:51 +0000)]
Merge "Changes in ScaleIO configurations options"

8 years agoUse openstack.org URLs in README
Eric Harney [Wed, 2 Mar 2016 19:33:25 +0000 (14:33 -0500)]
Use openstack.org URLs in README

Change-Id: If6a6168b3dc03443c98e7d11b2b7b77bdf490231

8 years agoAdd attach/detach doc to index
John Griffith [Wed, 2 Mar 2016 04:49:49 +0000 (04:49 +0000)]
Add attach/detach doc to index

Doesn't do much good to add a doc if you never add it
to the index and remove spurious headers that cause it
to not publish.

This patch fixes those problems.

Change-Id: I5c1906a30539e7223f5cee8ce14a013005fe004d

8 years agoDon't run test_volume.VolumeTestCase twice
Tom Barron [Wed, 2 Mar 2016 02:43:17 +0000 (21:43 -0500)]
Don't run test_volume.VolumeTestCase twice

Currently the test_volume.VolumeMigrationTestCase class inherits
from test_volume.VolumeTestCase and therefore runs all the unit tests
in the former class in addition to the 29 tests defined in its
own class.  This provides no gain in coverage and is costly since
the tests in VolumeTestCase are among the most expensive we have.

This commit refactors cinder/tests/unit/test_volume.py such that
VolumeMigrationTestCase inherits directly from BaseVolumeTestCase,
thereby reducing the number of tests run from test_volume from
557 to 412, and total execution time (on my system) from 335s to
202s.  Only duplicate tests are removed.

Depends-On: Ia70e51719abb9a6ed357802446847ffa81d7427e

Change-Id: Ief4706f50838e1f906119992302a39a6014126b3

8 years agoFixes running error for storwize _run_ssh
Ivy Zhang [Wed, 2 Mar 2016 07:35:56 +0000 (02:35 -0500)]
Fixes running error for storwize _run_ssh

Two problems where introduced to the driver:
  1. _run_ssh method does not return a value.
  2. Passing wrong parameters to _ssh_execute method.

This patch fixes _run_ssh to return the appropriate value
and fixes the parameters to _ssh_execute.

Change-Id: Ia8bbed5abf1a3920af550eb399bf5d96715d1ea5
Closes-Bug: 1552111

8 years agoDell SC: Support Replication V2.1
Tom Swanson [Mon, 29 Feb 2016 20:18:21 +0000 (14:18 -0600)]
Dell SC: Support Replication V2.1

Updated Dell SC support to version 2.1.

Also removed direct DB calls in consistency
groups.

ManageableSnapshotsVD support added.

Updated versions to 2.5.0.

Change-Id: I525bba93a04cc01db92af8711e6b2917e80a93d0

8 years agoMerge "Change Fail to Failed in error messages"
Jenkins [Wed, 2 Mar 2016 14:55:14 +0000 (14:55 +0000)]
Merge "Change Fail to Failed in error messages"

8 years agoMerge "Fixed logging for oslo versioned objects"
Jenkins [Wed, 2 Mar 2016 14:54:28 +0000 (14:54 +0000)]
Merge "Fixed logging for oslo versioned objects"

8 years agoMerge "Fix sshpool.remove code"
Jenkins [Wed, 2 Mar 2016 14:35:16 +0000 (14:35 +0000)]
Merge "Fix sshpool.remove code"

8 years agoUse OSprofiler options consolidated in lib itself
Dina Belova [Tue, 9 Feb 2016 23:58:14 +0000 (15:58 -0800)]
Use OSprofiler options consolidated in lib itself

Starting with 1.0.0 osprofiler release options needed for
its workability are consolidated inside osprofiler itself.
Let's use them.

UpgradeImpact
DocImpact
Change-Id: Ie20e827f26c9be6867c233afdea9e05e2869d6e1

8 years agoFix test_create_volume_flow test issue
Gorka Eguileor [Wed, 2 Mar 2016 13:21:31 +0000 (14:21 +0100)]
Fix test_create_volume_flow test issue

One of the tests in
cinder/tests/unit/volume/flows/test_create_volume_flow.py incorrectly
mocks time.time function which means that when there's a call to
time.time() it will raise an error because real time function doesn't
expect any arguments but the mock method does expect self as an
argument.

For some reason time.time function does not get called on every test
run, but when it does get called it will fail.

This patch fixes this by binding the mock method to the current self
instance.

Change-Id: Ia70e51719abb9a6ed357802446847ffa81d7427e

8 years agoFix test isolation issues related to versions
Gorka Eguileor [Wed, 2 Mar 2016 12:23:31 +0000 (13:23 +0100)]
Fix test isolation issues related to versions

In cinder.rpc.RPCAPI methods _determine_rpc_version_cap and
_determine_obj_version_cap use global variables LAST_RPC_VERSIONS and
LAST_OBJ_VERSIONS to cache version values so we need to clear these
values between tests so one test values don't get passed to the next
test.

This was problematic for example when running some
cinder.tests.unit.api.contrib tests in a specific order:

- test_admin_actions.AdminActionsTest.test_delete_backup_force_when_creating
- test_backups.BackupsAPITestCase.test_create_backup_snapshot_json

Change-Id: I073557a6e0a17a3e00fd32d48d389a3bcf42e341

8 years agoMerge "Return BadRequest for invalid unicode names (continued)"
Jenkins [Wed, 2 Mar 2016 12:26:11 +0000 (12:26 +0000)]
Merge "Return BadRequest for invalid unicode names (continued)"

8 years agoConvert huawei ISCSIDriver unit tests to RFC5737 addrs
Tom Barron [Sun, 21 Feb 2016 12:00:54 +0000 (07:00 -0500)]
Convert huawei ISCSIDriver unit tests to RFC5737 addrs

In the course an earlier review [1] it was suggested that
it would be good to change the live IPv4 addresses in these
tests to RFC5737 addresses [2], a range of addresses dedicated
for documentation, unit tests, and the like.

This commit makes these address substitutions without impacting
the function of the unit tests themselves.

[1] https://review.openstack.org/#/c/282861/
[2] https://tools.ietf.org/html/rfc5737

Change-Id: Ice065076010759f69dcb9a1ec06324f4588f202f

8 years agoMerge "Update Pure replication to cheesecake"
Jenkins [Wed, 2 Mar 2016 11:15:27 +0000 (11:15 +0000)]
Merge "Update Pure replication to cheesecake"

8 years agoMerge "Capture warnings into logs"
Jenkins [Wed, 2 Mar 2016 11:03:36 +0000 (11:03 +0000)]
Merge "Capture warnings into logs"

8 years agoChanges in ScaleIO configurations options
Matan Sabag [Wed, 17 Feb 2016 21:48:43 +0000 (13:48 -0800)]
Changes in ScaleIO configurations options

Removed force_delete as we don't use it anymore.
Other aesthetic changes from our doc team.

DocImpact
Change-Id: Ida9f82b0eaab75882d911f32c79f52660cef3265

8 years agoMerge "Move replication volume manager warnings to info"
Jenkins [Wed, 2 Mar 2016 07:08:50 +0000 (07:08 +0000)]
Merge "Move replication volume manager warnings to info"

8 years agoHuawei: Manage volume fails due to lower array version
Wilson Liu [Wed, 17 Feb 2016 04:48:17 +0000 (12:48 +0800)]
Huawei: Manage volume fails due to lower array version

When we try to import an existing volume to cinder, we try
to find whether the volume already exists in a hypermetro.
But if the array version is lower than V3R3, the request
to find the hypermetro info will fail because array version
lower than V3R3 does not support hypermetro.

Closes-Bug: #1546375
Change-Id: Ia28e62f3924155e813df80f3c4932e3f0f10333e

8 years agoMerge "Trim 50s from huawei ISCSIDriver unit tests"
Jenkins [Wed, 2 Mar 2016 05:52:29 +0000 (05:52 +0000)]
Merge "Trim 50s from huawei ISCSIDriver unit tests"

8 years agoFix exception during service update
LisaLi [Mon, 29 Feb 2016 07:12:18 +0000 (15:12 +0800)]
Fix exception during service update

The function objects.Service.get_by_args raises HostBinaryNotFound
exception, but in service update function, it catches ServiceNotFound
exception by mistake.

This patch is to remove HostBinaryNotFound and use ServiceNotFound to make
things simple and consistent.

Change-Id: Ic2ef79ca03393f3b1eb5bb89d4ffcf92d76460c6
Closes-bug: #1551101

8 years agoMerge "Remove unused columns from Service ORM model"
Jenkins [Wed, 2 Mar 2016 04:35:10 +0000 (04:35 +0000)]
Merge "Remove unused columns from Service ORM model"

8 years agoHuawei: Create snapshot have a log error
liuke2 [Tue, 16 Feb 2016 11:07:12 +0000 (19:07 +0800)]
Huawei: Create snapshot have a log error

When creating snapshot, if the volume does not exist
there will be lead to a log error. This patch will
fix this.

Closes-Bug:#1545912
Change-Id:Ic99531dad4fab5e22e295e19bbfa94c7892e3ddc

8 years agoMerge "Updating Datera DataFabric Driver to v2 of Datera DataFabric API"
Jenkins [Wed, 2 Mar 2016 01:55:04 +0000 (01:55 +0000)]
Merge "Updating Datera DataFabric Driver to v2 of Datera DataFabric API"

8 years agoEMC VMAX - Limit SG and MV to 64 characters
Helen Walsh [Tue, 26 Jan 2016 23:12:37 +0000 (23:12 +0000)]
EMC VMAX - Limit SG and MV to 64 characters

VMAX restricts storage group and masking view names to a maximum
length of 64 characters. This patch only adds extra unit tests to
prove that both MV and SG names are below the 64 chars in all
scenarios.

Change-Id: I72917a56083eb25f876b9cdeaa30511793922497

8 years agoFix spelling mistake in docstring
Sebastian Jeuk [Tue, 1 Mar 2016 23:12:34 +0000 (15:12 -0800)]
Fix spelling mistake in docstring

Change-Id: I6cecfb2e545e3e84d51d8c0236e58be5cb12a1ad

8 years agoMerge "Return BadRequest for invalid Unicode names"
Jenkins [Wed, 2 Mar 2016 00:12:09 +0000 (00:12 +0000)]
Merge "Return BadRequest for invalid Unicode names"

8 years agoMerge "Fix HTTP sessions left open in Brocade zone driver"
Jenkins [Wed, 2 Mar 2016 00:11:27 +0000 (00:11 +0000)]
Merge "Fix HTTP sessions left open in Brocade zone driver"

8 years agoMerge "Use is_int_like method from oslo_utils"
Jenkins [Wed, 2 Mar 2016 00:05:17 +0000 (00:05 +0000)]
Merge "Use is_int_like method from oslo_utils"

8 years agoEMC VMAX - Recreating SG when it has been deleted
Helen Walsh [Sat, 13 Feb 2016 23:26:47 +0000 (23:26 +0000)]
EMC VMAX - Recreating SG when it has been deleted

The default storage group for VMAX3 can be deleted when
the last volume has been removed from it.  Certain
scenarios require a volume to be returned to the default
storage group.

Change-Id: Icd65ee7c1b313c2410d72a252038e7cfb8b3dd2a
Closes-Bug: #1543626

8 years agoVMAX-Replacing deprecated API EMCGetTargetEndpoints
Helen Walsh [Wed, 11 Nov 2015 21:52:18 +0000 (21:52 +0000)]
VMAX-Replacing deprecated API EMCGetTargetEndpoints

8.x version of Solution Enabler no longer supports
EMCGetTargetEndpoints InvokeMethod. Replacing with
an AssociatorNames call from protocol controller
to EMC_FCSCSIProtocolEndpoint. It will retrieve
the same information.

Closes-Bug: #1512791
Change-Id: I49b49c3deb372cbbf77e87313d0cbc155cdb8984

8 years ago3PAR: Update replication to v2.1
Alex O'Rourke [Wed, 3 Feb 2016 16:11:58 +0000 (16:11 +0000)]
3PAR: Update replication to v2.1

This patch updates replication to match the v2.1 spec. This makes it
so an entire backend can be replicated, and upon failover, all
replicated volumes will be failed over together.

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. NOTE: If no extra_specs are provided, periodic mode is
defaulted with a replication period of 900 seconds.

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
volume_driver = cinder.volume.drivers.hpe.hpe_3par_fc.HPE3PARFCDriver
replication_device = backend_id:eos16,
                     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 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 = backend_id:eos16,
                     replication_mode:periodic,
                     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

Closes-Bug: #1542078
Change-Id: Ia161b257278958c6a158d1239a77fc443c2985f0

8 years agoLeftHand: Update replication to v2.1
Alex O'Rourke [Tue, 1 Mar 2016 00:42:16 +0000 (16:42 -0800)]
LeftHand: Update replication to v2.1

This patch updates replication to match the v2.1 spec. This makes it
so an entire backend can be replicated, and upon failover, all
replicated volumes will be failed over together.

cinder.conf should have the replication config group:

[lefthandrep]
hpelefthand_api_url = https://10.10.10.10:8081/lhos
hpelefthand_username = user
hpelefthand_password = pass
hpelefthand_clustername = vsa-12-5-mgmt1-vip
volume_backend_name = lefthandrep
volume_driver = cinder.volume.drivers.hpe.hpe_lefthand_iscsi.\
                HPELeftHandISCSIDriver
replication_device = backend_id:lh-id,
                     hpelefthand_api_url:https://11.11.11.11:8081/lhos,
                     hpelefthand_username:user2,
                     hpelefthand_password:pass2,
                     hpelefthand_clustername:vsa-12-5-mgmt2-vip

Change-Id: I5dcf09fb337490e36d89654e3e3850a5a5cbdc6e
Closes-Bug: #1542079

8 years agoMerge "Huawei: Code cleanup"
Jenkins [Tue, 1 Mar 2016 23:37:46 +0000 (23:37 +0000)]
Merge "Huawei: Code cleanup"

8 years agoUpdate Pure replication to cheesecake
Patrick East [Fri, 5 Feb 2016 23:52:31 +0000 (15:52 -0800)]
Update Pure replication to cheesecake

Migration to cheesecake replication. This basically
modifies any of the existing replication code to work on the whole
backend instead of the specified volume.

It also completes the transition to allow swapping the underlying array
being managed by cinder upon failover. In the v2 implementation it was
conditional on some operations where things *could* be on the other
array. Now it is all driver operations.

This also switches the target_device_id to backend_id in the config for
replication devices.

Change-Id: I7f2580f4d764266b62a755cb4529c290e639984c
Closes-Bug: #1542100