Capacity filter should check free space if total space is unknown

Bug #1490364 reported by Clinton Knight
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Shared File Systems Service (Manila)
Fix Released
Low
Clinton Knight

Bug Description

The Manila capacity filter accepts values of 'unknown' for both total and free space in a pool. If free space is unknown, then the scheduler always allows a create (as it should). But the scheduler also always allows a create if total space is unknown, even if free space is known; in this case, the filter should compare the request against the available free space before allowing the create.

Tags: scheduler
Changed in manila:
status: Triaged → In Progress
Revision history for this message
Xing Yang (xing-yang) wrote :

Is there any driver that reports 'unknown' for total but an actual number for free? I didn't think that is a realistic case. If a driver knows free, it should also know total. If a driver reports 'unknown' total but an actual number for free, I think that is an implementation error that we should not encourage.

Revision history for this message
Clinton Knight (clintonk) wrote :

Yes! When DHSS == False, the NetApp cDOT driver can run with either full cluster credentials, or with limited storage-virtual-machine-scoped credentials. The latter case applies when only part of a multi-workload cluster is being used for Manila shares. In that case, the driver is not able to access any APIs associated with physical attributes of the cluster (nodes, disks, aggregates, etc.), and the driver can get free space but not total space for an aggregate (i.e. a Manila pool). The thin-provisioning code that went into the Manila scheduler broke this operating mode of the driver (because it was reporting 0.0 instead of unknown for total space), and I noticed while debugging that the scheduler could safely check the free space in the case that total space is unknown.

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

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

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

Reviewed: https://review.openstack.org/221809
Committed: https://git.openstack.org/cgit/openstack/manila/commit/?id=209fdeebb1c61dddfa9793d6f969378f42f4fcdd
Submitter: Jenkins
Branch: master

commit 209fdeebb1c61dddfa9793d6f969378f42f4fcdd
Author: Clinton Knight <email address hidden>
Date: Sun Aug 30 22:01:26 2015 -0400

    Capacity filter should check free space if total space is unknown

    The Manila capacity filter accepts values of 'unknown' for both
    total and free space in a pool. If free space is unknown, then
    the scheduler always allows a create (as it should). But the
    scheduler also always allows a create if total space is unknown,
    even if free space is known; in this case, the filter should
    compare the request against the available free space before
    allowing the create.

    Change-Id: Iad357f2472da1db493df42484c90cacf688608f8
    Closes-Bug: 1490364

Changed in manila:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in manila:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in manila:
milestone: liberty-rc1 → 1.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.