SolidFire driver can't be used with extra-specs as in the past

Bug #1167141 reported by John Griffith on 2013-04-10
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
High
John Griffith
Grizzly
High
John Griffith

Bug Description

Changing to the filter scheduler also changed some of the behavior when creating a volume based on a type with extra-specs.

The Filter scheduler now uses the extra-specs data to determine capabilities and back-end, and it also enforces strict checking. As a result previous method of setting QoS on the SolidFire volume using extra-specs on a volume type will not work.

If you have: extra-specs = {minIOPS:500, maxIOPS:10000, burstIOPS:15000} as we did before, the filter scheduler will look at this and fail to schedule deployment of the volume because no suitable back-end reports those capabilities.

To fix this all we need to do is scope the custom keys (ie: qos:minIOPS:500....), unfortunately this requires an additional check in the driver to parse the key.

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

Changed in cinder:
status: New → In Progress
tags: added: drivers solidfire
tags: added: grizzly-backport-potential

Reviewed: https://review.openstack.org/26571
Committed: http://github.com/openstack/cinder/commit/0e3ea4e85dab00b7cecd5596f6daa65cc4d710b5
Submitter: Jenkins
Branch: master

commit 0e3ea4e85dab00b7cecd5596f6daa65cc4d710b5
Author: John Griffith <email address hidden>
Date: Tue Apr 9 23:07:52 2013 -0600

    Add parsing to extra-specs key check

    When using the filter scheduler which is now the default,
    we can no longer pass in extra-specs like: {minIOPS:500, ....},
    because the capabilities filter will reject this because there is
    no host reporting minIOPS:500 capabilities.

    We now need to scope the keys (ie qos:minIOPS:500....), but
    that unfortunately requires a fix to the SolidFire driver.

    This change add a check for the ':' in the key, and parses
    on it if it's there.

    Also fixes backend_name and uses VERSION var instead of
    generating string in stats reporting.

    Fixes bug: 1167141

    Change-Id: Ie7fd7d231af78cb18a13f44a4379b44d3c3385df

Changed in cinder:
status: In Progress → Fix Committed
Changed in cinder:
importance: Undecided → Medium
importance: Medium → High

Reviewed: https://review.openstack.org/28207
Committed: http://github.com/openstack/cinder/commit/319f71276ad2bcf8a222b81484e67d3a20f295dc
Submitter: Jenkins
Branch: stable/grizzly

commit 319f71276ad2bcf8a222b81484e67d3a20f295dc
Author: John Griffith <email address hidden>
Date: Tue Apr 9 23:07:52 2013 -0600

    Add parsing to extra-specs key check

    When using the filter scheduler which is now the default,
    we can no longer pass in extra-specs like: {minIOPS:500, ....},
    because the capabilities filter will reject this because there is
    no host reporting minIOPS:500 capabilities.

    We now need to scope the keys (ie qos:minIOPS:500....), but
    that unfortunately requires a fix to the SolidFire driver.

    This change add a check for the ':' in the key, and parses
    on it if it's there.

    Also fixes backend_name and uses VERSION var instead of
    generating string in stats reporting.

    Fixes bug: 1167141

    Change-Id: Ie7fd7d231af78cb18a13f44a4379b44d3c3385df
    (cherry picked from commit 0e3ea4e85dab00b7cecd5596f6daa65cc4d710b5)

tags: removed: grizzly-backport-potential
Thierry Carrez (ttx) on 2013-05-29
Changed in cinder:
milestone: none → havana-1
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2013-10-17
Changed in cinder:
milestone: havana-1 → 2013.2
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers