PureISCSIDriver should report 0 space when vol limit reached

Bug #1437082 reported by Danny Wilson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Patrick East

Bug Description

The PureISCSIDriver needs to change the space it reports when the array hits a volume limit. When the volume limit is reached the driver is no longer able to create volumes on a backend so the space reported should change to zero so the scheduler does not choose this backend.

Changed in cinder:
assignee: nobody → Danny Wilson (daniel-wilson)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/176542

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on cinder (stable/kilo)

Change abandoned by Patrick East (<email address hidden>) on branch: stable/kilo
Review: https://review.openstack.org/176542
Reason: Wrong commit/branch :(

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/176543

Changed in cinder:
assignee: Danny Wilson (daniel-wilson) → Patrick East (patrick-east)
status: New → In Progress
Revision history for this message
Patrick East (patrick-east) wrote :

The approach we are taking for this right now is to allow filter functions in the driver and then recommend a function in the documentation that will prevent the scheduler from exceeding the device limits.

In the future we would like to utilize a new API method (not yet available) from the Flash Array that could give us the limits at run time and the admin would then not need to hard code the value in their config as a filter function string.

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

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

commit 27a1f66773755456a1bb135a940ba2a835c121a3
Author: Daniel Wilson <email address hidden>
Date: Wed Apr 22 14:07:02 2015 -0700

    Enable use of filter_function in PureISCIDriver

    Adding filter_function to capabilities of PureISCIDriver. Return
    total_volumes as well for use with filter_function.

    This will open a way for admins to prevent Cinder from scheduling
    volumes on a Pure backend once it has reached the array’s limits. The
    primary use case for this is volume limits. An example of a
    filter_function that will prevent this issue would be:

    filter_function="capabilities.total_volumes < 500”

    This will prevent any issues with Purity versions that are limited to
    500 volumes.

    Without that filter_function the scheduler will continue to try and
    schedule volume creation if space is available instead of selecting
    another backend. The end result would be volume creation fails and the
    volume is in an error state even though there are backends available
    that could have handled it.

    DocImpact: This means the PureISCSIDriver will now respect the
    filter_function config option. Special Pure specific fields to filter
    off of need to be added to the driver config manual.

    Change-Id: I1368b74f79eb8c8560cf86df27f9af9541963a87
    Closes-Bug: 1437082

Changed in cinder:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on cinder (stable/kilo)

Change abandoned by Patrick East (<email address hidden>) on branch: stable/kilo
Review: https://review.openstack.org/176542
Reason: There will be a different bug fix that solves this.

Thierry Carrez (ttx)
Changed in cinder:
milestone: none → liberty-1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in cinder:
milestone: liberty-1 → 7.0.0
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.