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.
Reviewed: https:/ /review. openstack. org/122544 /git.openstack. org/cgit/ openstack/ cinder/ commit/ ?id=dcdce878223 0c1e679165d16c2 e064405b724227
Committed: https:/
Submitter: Jenkins
Branch: master
commit dcdce8782230c1e 679165d16c2e064 405b724227
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 provisioning or the total capacity kept increasing. Now that we
required for the first time to report capacity. Some drivers preferred
to report 'infinite' or 'unknown' capacity because they were doing
thin-
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 /'unknown' free capacity will be adjusted to be the
CapacityWeigher in order to downgrade those drivers who report
'infinite' or 'unknown' as free capacity. In particular, those who
report 'infinite'
one has lowest weight, no matter in 'spreading' (weight multiplier>0)
or 'stacking' (weight multiplier<0) mode.
DocImpact
Change-Id: Ied087386a1a2f4 3e6a77499a817d5 c637ef448f6
Partial-bug: #1350638