ScaleIO: os-vol-host-attr:host is wrong when using multiple pools in the same backend

Bug #1698921 reported by Martin Chlumsky
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Medium
tssgery

Bug Description

Given the following configuration in cinder.conf:

[scaleio_cluster2]
iscsi_ip_address=x.x.x.x
san_ip=y.y.y.y
san_login=xxxxxx
san_password=xxxxxxxxxxx
sio_protection_domain_name=CLUSTER2
sio_storage_pool_name=CAPACITY-01
sio_storage_pools=CLUSTER2:PERFORMANCE-01,CLUSTER2:CAPACITY-01
volume_backend_name=scaleio_cluster2
volume_driver=cinder.volume.drivers.emc.scaleio.ScaleIODriver
san_thin_provision=false

$ cinder get-pools --detail
+-----------------------------+-----------------------------------------------------------------------------------------+
| Property | Value |
+-----------------------------+-----------------------------------------------------------------------------------------+
| QoS_support | True |
| allocated_capacity_gb | 0 |
| consistencygroup_support | True |
| driver_version | 2.0 |
| free_capacity_gb | 8208 |
| max_over_subscription_ratio | 10.0 |
| name | controller1@scaleio_cluster2#CLUSTER2:PERFORMANCE-01 |
| pool_name | CLUSTER2:PERFORMANCE-01 |
| provisioned_capacity_gb | 145144 |
| reserved_percentage | 0 |
| storage_protocol | scaleio |
| thick_provisioning_support | True |
| thin_provisioning_support | True |
| timestamp | 2017-06-19T18:11:17.252226 |
| total_capacity_gb | 153464 |
| vendor_name | EMC |
| volume_backend_name | scaleio_cluster2 |
+-----------------------------+-----------------------------------------------------------------------------------------+
+-----------------------------+--------------------------------------------------------------------------------------+
| Property | Value |
+-----------------------------+--------------------------------------------------------------------------------------+
| QoS_support | True |
| allocated_capacity_gb | 24 |
| consistencygroup_support | True |
| driver_version | 2.0 |
| free_capacity_gb | 6072 |
| max_over_subscription_ratio | 10.0 |
| name | controller1@scaleio_cluster2#CLUSTER2:CAPACITY-01 |
| pool_name | CLUSTER2:CAPACITY-01 |
| provisioned_capacity_gb | 170880 |
| reserved_percentage | 0 |
| storage_protocol | scaleio |
| thick_provisioning_support | True |
| thin_provisioning_support | True |
| timestamp | 2017-06-19T18:11:17.252226 |
| total_capacity_gb | 177008 |
| vendor_name | EMC |
| volume_backend_name | scaleio_cluster2 |
+-----------------------------+--------------------------------------------------------------------------------------+

$ openstack volume type show ssd1-zone2
+--------------------+-------------------------------------------------------------------+
| Field | Value |
+--------------------+-------------------------------------------------------------------+
| access_project_ids | None |
| description | |
| id | 1eda3c8a-ed56-475e-97d3-1bedb8ac3330 |
| is_public | True |
| name | ssd1-zone2 |
| properties | provisioning:type='thick', volume_backend_name='scaleio_cluster2' |
| qos_specs_id | None |
+--------------------+-------------------------------------------------------------------+

$ openstack volume create --type ssd1-zone2 --size 8 mchlumsky-test
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2017-06-19T18:12:27.966450 |
| description | None |
| encrypted | False |
| id | 2391a0c4-083b-43ca-b5f7-3f29665576fc |
| migration_status | None |
| multiattach | False |
| name | mchlumsky-test |
| properties | |
| replication_status | disabled |
| size | 8 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| type | ssd1-zone2 |
| updated_at | None |
| user_id | 6c20cdc6afb344deb2a47ad9b55969a4 |
+---------------------+--------------------------------------+

When we create a volume in the backend scaleio_cluster2, we would expect it to be in CLUSTER2:CAPACITY-01 however openstack reports it in CLUSTER2:PERFORMANCE-01 as seen by the os-vol-host-attr:host => controller1@scaleio_cluster2#CLUSTER2:PERFORMANCE-01 below.

$ openstack volume show 2391a0c4-083b-43ca-b5f7-3f29665576fc
+--------------------------------+-----------------------------------------------------------------------------------+
| Field | Value |
+--------------------------------+-----------------------------------------------------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2017-06-19T18:12:27.000000 |
| description | None |
| encrypted | False |
| id | 2391a0c4-083b-43ca-b5f7-3f29665576fc |
| migration_status | None |
| multiattach | False |
| name | mchlumsky-test |
| os-vol-host-attr:host | controller1@scaleio_cluster2# |
| | CLUSTER2:PERFORMANCE-01 |
| os-vol-mig-status-attr:migstat | None |
| os-vol-mig-status-attr:name_id | None |
| os-vol-tenant-attr:tenant_id | c92e2cc91312478db83a753477be715a |
| properties | |
| replication_status | disabled |
| size | 8 |
| snapshot_id | None |
| source_volid | None |
| status | available |
| type | ssd1-zone2 |
| updated_at | 2017-06-19T18:12:28.000000 |
| user_id | 6c20cdc6afb344deb2a47ad9b55969a4 |
+--------------------------------+-----------------------------------------------------------------------------------+

Revision history for this message
Martin Chlumsky (martin-chlumsky) wrote :

Also, I forgot to mention that in the example, although openstack reports the volume created with os-vol-host-attr:host: controller1@scaleio_cluster2#CLUSTER2:PERFORMANCE-01, the volume is actually physically on CLUSTER2:CAPACITY-01.

tssgery (eric-aceshome)
Changed in cinder:
assignee: nobody → tssgery (eric-aceshome)
tssgery (eric-aceshome)
Changed in cinder:
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on cinder (driverfixes/newton)

Change abandoned by Eric Young (<email address hidden>) on branch: driverfixes/newton
Review: https://review.openstack.org/475380
Reason: re-directing to master

Changed in cinder:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

Fix proposed to branch: master
Review: https://review.openstack.org/476116

Xing Yang (xing-yang)
Changed in cinder:
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/476116
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=ee13434298d5fe96d13527bd0c91dac5850bc28f
Submitter: Jenkins
Branch: master

commit ee13434298d5fe96d13527bd0c91dac5850bc28f
Author: Eric Young <email address hidden>
Date: Wed Jun 21 08:35:36 2017 -0400

    ScaleIO Driver: Fix for using scheduler specified pool

    Addresses an issue where the pool specified by the scheduler was
    ignored and default settings applied instead

    Change-Id: I72dac64b72da258556da416b61cc8151aec8d6a2
    Closes-Bug: #1698921

Changed in cinder:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (stable/ocata)

Fix proposed to branch: stable/ocata
Review: https://review.openstack.org/478532

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (stable/ocata)

Reviewed: https://review.openstack.org/478532
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=d64250f6518b19010b7af680ad9ed9a0bcff091d
Submitter: Jenkins
Branch: stable/ocata

commit d64250f6518b19010b7af680ad9ed9a0bcff091d
Author: Eric Young <email address hidden>
Date: Wed Jun 21 08:35:36 2017 -0400

    ScaleIO Driver: Fix for using scheduler specified pool

    Addresses an issue where the pool specified by the scheduler was
    ignored and default settings applied instead

    Change-Id: I72dac64b72da258556da416b61cc8151aec8d6a2
    Closes-Bug: #1698921
    (cherry picked from commit ee13434298d5fe96d13527bd0c91dac5850bc28f)

tags: added: in-stable-ocata
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 10.0.4

This issue was fixed in the openstack/cinder 10.0.4 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 11.0.0.0b3

This issue was fixed in the openstack/cinder 11.0.0.0b3 development milestone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.