storage backend shouldn't report infinite or unknown capacity

Bug #1350638 reported by Huang Zhiteng
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Medium
Unassigned

Bug Description

When FilterScheduler was first introduced into Cinder, drivers were required for the first time to report capacity. Some drivers preferred to report 'infinite' or 'unknown' capacity because they were doing thin-provisioning or the total capacity kept increasing. Now that we have better support for thin-provisioning and we do find unrealistic capacity couldn't do us any good in making optimal scheduling decision, because 'infinite' and 'unknown' would always have the highest weight.

Drivers are expected to avoid sending 'infinite' 'unknown' capacity anymore, instead, should report an actual real number for total/free capacity, and for the case of thin provisioning, a 'provisioned_capacity' is a good addition to current stats.

Changed in cinder:
status: New → Triaged
importance: Undecided → High
Changed in cinder:
importance: High → Medium
Ivan Kolodyazhny (e0ne)
Changed in cinder:
assignee: nobody → Ivan Kolodyazhny (e0ne)
Changed in cinder:
assignee: Ivan Kolodyazhny (e0ne) → Huang Zhiteng (zhiteng-huang)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

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

commit dcdce8782230c1e679165d16c2e064405b724227
Author: Zhiteng Huang <email address hidden>
Date: Thu Sep 18 15:02:55 2014 -0700

    Downgrade 'infinite' and 'unknown' capacity in weigher

    When FilterScheduler was first introduced into Cinder, drivers were
    required for the first time to report capacity. Some drivers preferred
    to report 'infinite' or 'unknown' capacity because they were doing
    thin-provisioning or the total capacity kept increasing. Now that we
    have better support for thin-provisioning and we do find unrealistic
    capacity couldn't do us any good in making optimal scheduling decision,
    because 'infinite' and 'unknown' would always have the highest weight
    when the weight multiplier is positive, which in most cases it is.

    Drivers are expected to avoid sending 'infinite' 'unknown' capacity
    anymore, instead, should report an actual real number for total/free
    capacity.

    This fix doesn't fix the driver, instead a small tweak is added to
    CapacityWeigher in order to downgrade those drivers who report
    'infinite' or 'unknown' as free capacity. In particular, those who
    report 'infinite'/'unknown' free capacity will be adjusted to be the
    one has lowest weight, no matter in 'spreading' (weight multiplier>0)
    or 'stacking' (weight multiplier<0) mode.

    DocImpact

    Change-Id: Ied087386a1a2f43e6a77499a817d5c637ef448f6
    Partial-bug: #1350638

Revision history for this message
Sean McGinnis (sean-mcginnis) wrote :

Automatically unassigning due to inactivity.

Changed in cinder:
assignee: Huang Zhiteng (zhiteng-huang) → nobody
status: In Progress → Triaged
Changed in cinder:
status: Triaged → Fix Released
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.