]> review.fuel-infra Code Review - openstack-build/cinder-build.git/log
openstack-build/cinder-build.git
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 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 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 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 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 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 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 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 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 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

8 years agoMerge "Copy unit tests for StandardLogging fixture from Nova"
Jenkins [Tue, 1 Mar 2016 21:20:33 +0000 (21:20 +0000)]
Merge "Copy unit tests for StandardLogging fixture from Nova"

8 years agoFixed logging for oslo versioned objects
Szymon Borkowski [Tue, 12 Jan 2016 10:32:22 +0000 (11:32 +0100)]
Fixed logging for oslo versioned objects

Earlier, when we wanted to log a message with an object as a parameter,
obj_attr_is_set method used to check name parameter, which was a wrong
approach. The reason was, that the oslo logger, when received a
versioned object as a resource parameter, is trying to get the 'name'
parameter, which is a property, so the obj_attr_is_set method will
return False and the logger will try to get the 'type' parameter, which
does not exist in some versioned objects (please take a look at
oslo.logging code [1]).

Now, when the parameter's name is present in obj_extra_fields
dict, we avoid calling obj_attr_is_set and simply get() it.

The other cause was a difference between fields names: size (in volume
object) and volume_size (in snapshot object), and inproper condition
statement in lvm driver.

[1] goo.gl/YffLcK

Change-Id: Id92d58b4ccced907cc6e3e59d9e71650a459b4a8
Closes-Bug: 1501521

8 years agoMerge "EMC VMAX - get iscsi ip from port in existing MV"
Jenkins [Tue, 1 Mar 2016 17:51:51 +0000 (17:51 +0000)]
Merge "EMC VMAX - get iscsi ip from port in existing MV"

8 years agoMerge "IBM Storwize with pool-aware-cinder-scheduler"
Jenkins [Tue, 1 Mar 2016 16:38:10 +0000 (16:38 +0000)]
Merge "IBM Storwize with pool-aware-cinder-scheduler"

8 years agoMove replication volume manager warnings to info
Eric Harney [Tue, 1 Mar 2016 15:44:52 +0000 (10:44 -0500)]
Move replication volume manager warnings to info

These two messages are printing at the warning level
when starting c-vol.

Since these don't seem to be something that demands
attention, they should be logged at a lower level.

Change-Id: I3db6ed3956348895b3534cdc9f3f72bb4c878aca

8 years agoTrim 50s from huawei ISCSIDriver unit tests
Tom Barron [Sun, 21 Feb 2016 12:00:54 +0000 (07:00 -0500)]
Trim 50s from huawei ISCSIDriver unit tests

The HuaweiISCSIDriver unit tests take almost a minute to run
on my machine because several negative test cases wait for
timeouts.

This commit leverages the utility method introduced in [1]
as well as the ZeroIntervalLoopingCall for mocks in the Huawei
unit tests to reduce total execution time for this set of
tests from about a minute to under 10s

[1] c2166876d85b17872c6fe32916c6d0d1dc974847

Change-Id: If17466ebabc391ebca57667200de072ede3ecc0c

8 years agoCopy unit tests for StandardLogging fixture from Nova
Matt Riedemann [Tue, 1 Mar 2016 14:44:22 +0000 (09:44 -0500)]
Copy unit tests for StandardLogging fixture from Nova

This comes from commit f96ec4411ce89606cf52211061003c14306dcfa1
in Nova by Sean Dague <sean@dague.net>.

The StandardLogging fixture was already merged into Cinder,
this adds the unit tests that were missed when copying over
the fixture.

Change-Id: I2fbe25ec71138e4b96ff175af72a2a56c1c8f52a
Related-Bug: #1551325

8 years agoAdd 'conf' param for TextGuruMeditation autorun setup
Ivan Kolodyazhny [Tue, 16 Feb 2016 16:49:54 +0000 (18:49 +0200)]
Add 'conf' param for TextGuruMeditation autorun setup

Guru Meditation Report (GMR) supports report generation to file
in a configured directory. By default it will genarate
report to stdout stream. To configure GMR you have to add the
following section to cinder.conf:

[oslo_reports]
log_dir = '/path/to/logs/dir'

DocImpact
Change-Id: Ia32cae8e4fe937f2512693acb7fcc552f01efa01
Closes-Bug: #1546199

8 years agoMerge "Use of metadata id instead of metadata name"
Jenkins [Tue, 1 Mar 2016 14:35:19 +0000 (14:35 +0000)]
Merge "Use of metadata id instead of metadata name"

8 years agoMerge "Add ability to failback for replication V2.1"
Jenkins [Tue, 1 Mar 2016 12:44:44 +0000 (12:44 +0000)]
Merge "Add ability to failback for replication V2.1"

8 years agoMerge "Storwize SVC multiple management IPs"
Jenkins [Tue, 1 Mar 2016 12:42:53 +0000 (12:42 +0000)]
Merge "Storwize SVC multiple management IPs"

8 years agoMerge "Add os-brick rootwrap filter for privsep"
Jenkins [Tue, 1 Mar 2016 12:41:27 +0000 (12:41 +0000)]
Merge "Add os-brick rootwrap filter for privsep"

8 years agoMerge "Copy StandardLogging fixture from Nova"
Jenkins [Tue, 1 Mar 2016 11:45:58 +0000 (11:45 +0000)]
Merge "Copy StandardLogging fixture from Nova"

8 years agoMerge "NetApp: Add Consistency Group support for E-Series"
Jenkins [Tue, 1 Mar 2016 11:23:37 +0000 (11:23 +0000)]
Merge "NetApp: Add Consistency Group support for E-Series"

8 years agoUse is_int_like method from oslo_utils
srushti [Fri, 26 Feb 2016 07:30:46 +0000 (07:30 +0000)]
Use is_int_like method from oslo_utils

This patch removes is_int_like method from
utils.py and replaces it with is_int_like
method from oslo_utils.strutils to eliminate
duplicate code.

TrivialFix
Change-Id: Ia81da8b0208bb2a30ab301519cfc714f26480edd

8 years agoFix sshpool.remove code
Surya Ghatty [Fri, 26 Feb 2016 19:49:24 +0000 (19:49 +0000)]
Fix sshpool.remove code

Currently, sshpool.remove function under cinder/ssh_utils.py
is broken. The function tries to locate the passed in
sshclient object inside sshpool.free_items.

However, since the sshclient object is set to “None” at the
beginning, it never finds the object and ends up decrementing
 the current size, without actually removing the object.

Made the following changes to fix:
1. Removed reset to ‘None’ so that the attempt to locate object
goes through.
2. Fixed the code to use free_items.remove(ssh) to remove the ssh
object identified instead of free_items.pop(ssh)
3. Also updated the code to decrement current size only if a match
is found in free_items.
4. Added test case to test remove() of an ssh client that is in the
free_items
5. Added test case to test that remove code does not inadvertently
remove an object from the pool if no match is found.

Change-Id: I4871f4faeb1fc790325f274ab21dc42a8d71fb26
Closes-Bug: #1463557

8 years agoMerge "NetApp: Fix SSH Client File Creation in Unit Test"
Jenkins [Tue, 1 Mar 2016 02:51:05 +0000 (02:51 +0000)]
Merge "NetApp: Fix SSH Client File Creation in Unit Test"

8 years agoMerge "Huawei: Consider bandwidth when selecting port"
Jenkins [Tue, 1 Mar 2016 02:49:34 +0000 (02:49 +0000)]
Merge "Huawei: Consider bandwidth when selecting port"

8 years agoRemove an useless and wrong call
XinXiaohui [Tue, 1 Mar 2016 02:20:41 +0000 (10:20 +0800)]
Remove an useless and wrong call

In cinder/objects/service.py, the method
obj_make_compatible() of Class Service is
useless and it called convert_version_to_tuple()
incorrectly from utils from Cinder instead of
from versionutils from oslo_utils, just remove it.

Change-Id: I383ba2c793add02b83591cc44e4e4584d09c7ed5

8 years agoMerge "Adding general notes about rolling upgrades"
Jenkins [Tue, 1 Mar 2016 01:56:47 +0000 (01:56 +0000)]
Merge "Adding general notes about rolling upgrades"

8 years agoMerge "Trim 12s from disco unit tests"
Jenkins [Tue, 1 Mar 2016 01:56:27 +0000 (01:56 +0000)]
Merge "Trim 12s from disco unit tests"

8 years agoCopy StandardLogging fixture from Nova
Matt Riedemann [Mon, 29 Feb 2016 17:31:22 +0000 (12:31 -0500)]
Copy StandardLogging fixture from Nova

This code was originally written for Nova by Joe Gordon
<joe.gordon0@gmail.com> and Sean Dague <sean@dague.net>.

This enables debug logging that is exercised by unit test
runs to be handled and detect formatting errors. The debug
logging does not actually go to the console unless the
OS_DEBUG environment variable is set.

As a result, a few formatting errors are detected and
cleaned up with this change.

This also fixes a problem where debug logging from stevedore
is dumped to the console every time an extension is loaded,
which in a gate-cinder-python27 job is 65K+ times.

Change-Id: I989f9d591d1483a56a1bab3c20de583e85997562
Closes-Bug: #1551325

8 years agoMerge "VMware: manage_existing for VMDK driver"
Jenkins [Mon, 29 Feb 2016 22:44:16 +0000 (22:44 +0000)]
Merge "VMware: manage_existing for VMDK driver"

8 years agoMerge "Re-enable -1 child limits for nested quotas"
Jenkins [Mon, 29 Feb 2016 22:17:44 +0000 (22:17 +0000)]
Merge "Re-enable -1 child limits for nested quotas"

8 years agoAdd ability to failback for replication V2.1
John Griffith [Fri, 26 Feb 2016 01:09:21 +0000 (01:09 +0000)]
Add ability to failback for replication V2.1

Initially we had setup replication V2.1 (Cheesecake) to NOT
do fail-back at least in the initial version.

It turns out that fail-back in the Cinder code is rather easy,
we just enable calling failover-host on a host that's already
failed-over and use the *special* keyword of "default" as the
backend_id argument which signifies we want to switch back to
whatever is configured as the default in the cinder.conf file.

To do this we just add some logic that checks the secondary_backend_id
param in volume.manager:failover_host and set service fields
appropriately.  Note that we're sending the call to the driver
first and giving it a chance to raise an exception if it can't
satisfy the request at the current time.

We also needed to modify the volume.api:failover_host to allow
failed-over as a valid transition state, and again update the
Service query to include disabled services.

It's up to drivers to figure out if they want to require some
extra admin steps and document exactly how this works.  It's also
possible that during an initial failover that you might want to
return a status update for all volumes NOT replicated and mark
their volume-status to "error".

Expected behavior is depicted in the service output here:
    http://paste.openstack.org/show/488294/

Change-Id: I4531ab65424a7a9600b2f93ee5b5e1a0dd47d63d

8 years agoStorwize SVC multiple management IPs
Jacob Gregor [Wed, 24 Feb 2016 17:06:32 +0000 (11:06 -0600)]
Storwize SVC multiple management IPs

Right now Storwize SVC does not support multiple management IPs.
This patch adds this feature so that if the primary IP fails, it
will switch to the secondary IP that the user sets.

DocImpact
Adds config option 'storwize_san_secondary_ip'

Implements: blueprint storwize-add-support-for-multiple-management-ips
Change-Id: Ib82ba5b43e92027bfe39873a556baec796bb457e

8 years agoUpdating Datera DataFabric Driver to v2 of Datera DataFabric API
Matt Smith [Thu, 25 Feb 2016 19:03:04 +0000 (11:03 -0800)]
Updating Datera DataFabric Driver to v2 of Datera DataFabric API

   Addressing gate pep8/flake8 and releasenote failures

Change-Id: Id88a2735a910dcecc0acf6142130d80f52b850cd
Implements: blueprint datera-cinder-driver-update

8 years agoCapture warnings into logs
Eric Harney [Thu, 25 Feb 2016 17:13:11 +0000 (12:13 -0500)]
Capture warnings into logs

Modules that issue warnings via the python
warnings module result in messages printed
to stderr.

This change results in them being captured
into Cinder logs instead.  This means that
logs from production environments contain
all of the relevant info for debugging
issues.

Change-Id: I16a31e1ef0df824dd513f43fd22d631fa647e004

8 years agoMerge "Clean up replication v2.1 (Cheesecake) RPC API"
Jenkins [Mon, 29 Feb 2016 20:54:50 +0000 (20:54 +0000)]
Merge "Clean up replication v2.1 (Cheesecake) RPC API"

8 years agoReturn BadRequest for invalid unicode names (continued)
Eric Harney [Mon, 29 Feb 2016 20:22:07 +0000 (15:22 -0500)]
Return BadRequest for invalid unicode names (continued)

Follow-up to "Return BadRequest for invalid Unicode names",
we missed a couple of operations here:
  type-key set
  quota-class-update
  qos-create

Related-Bug: #1531400

Change-Id: Id966b74dce87acb15ede9cb4c02ae0f74d59b08c

8 years agoIBM Storwize with pool-aware-cinder-scheduler
Xiaoqin Li [Thu, 25 Feb 2016 08:36:11 +0000 (00:36 -0800)]
IBM Storwize with pool-aware-cinder-scheduler

Storwize cinder driver only supports config one pool
within one backend right now. This change adds support
for multi-pools aware for scheduler.
storwize_svc_volpool_name accepts a list of pools
separated by comma in cinder.conf now.

User-Visible Change
-------------------
DocImpact
The configuration flag storwize_svc_volpool_name
should be updated to a ListOpt.

Implements: bp Storwize-pool-aware-support
Change-Id: If6f1decf4d6244b1e04b05b8662d891fb16c6790

8 years agoFix HTTP sessions left open in Brocade zone driver
Angela Smith [Wed, 24 Feb 2016 19:18:42 +0000 (11:18 -0800)]
Fix HTTP sessions left open in Brocade zone driver

Add missing call to logout html page on FC switch to close the HTTP
session on the FC switch in HTTP connector.  Also, move the session
cleanup calls in the zone driver so that it is invoked for all code
paths.

Change-Id: Id08c1b1f1e75188cacfb9b5586519a7fee827602

8 years agoMerge "always use pip constraints"
Jenkins [Mon, 29 Feb 2016 18:45:29 +0000 (18:45 +0000)]
Merge "always use pip constraints"