<div dir="ltr">Hi<br><div><br>Thanks for looking at / thinking about this. So the idea was (I started this whole thing rolling long ago after a rather heated discussion with a very bright chap from Redhat):<br><br></div><div>1) Driver authors tend, in my experience, to know more than admins, so drivers should be able (where useful) to be able to set a default value to either filter expression or weighting expression<br><br></div><div>2) Admins definitely need to be able to over-ride this if desired via cinder.conf<br><br></div><div>I thing it is fairly easy (and beneficial) to go through the in-tree drivers and add the conf value to the stats report, once the base driver change has merged.<br><br></div><div>I think that puts me in reasonable accord with your opinions? I think most admins won't bother setting this up, but might benefit from good defaults, but I think any admin who wants to customise it absolutely should be able to.<br><br></div><div>In regards to a setting per volume type, that isn't really implemented in any easy-to-use way, and I think a clean implementation of that would be difficult to design and arguably not worth the effort - from the feedback on the operators list, it looks like most operators aren't using / don't understand the facilities we already have. If you really want to experiment with this sort of setup, you can achieve it with tertiary operators in the current code with a bit of though, e.g.<br><br></div><div>type gold key=isgold, value=True<br></div><div>type silver key=issilver value=True<br><br></div><div>expression = (type.isgold? (<expression 1>):(type.issilver?(<expression 2>):(<default expression>)))<br><br></div><div>It isn't neat and tidy, but it should work - the tool was designed with far more power and flexibility than most people need in part to allow weird experiments to be tried without having to change code.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 17 February 2015 at 08:00, Zhangli (ISSP) <span dir="ltr"><<a href="mailto:zhangli09@huawei.com" target="_blank">zhangli09@huawei.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div link="blue" vlink="purple" lang="ZH-CN">
<div>
<p class="MsoNormal" style="text-align:left" align="left"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif";color:black" lang="EN-US">Hi,
<u></u><u></u></span></p>
<p class="MsoNormal" style="text-align:left" align="left"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif";color:black" lang="EN-US">I noticed the following BP has been merged recently:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif";color:black" lang="EN-US"><a href="https://blueprints.launchpad.net/cinder/+spec/filtering-weighing-with-driver-supplied-functions" target="_blank">https://blueprints.launchpad.net/cinder/+spec/filtering-weighing-with-driver-supplied-functions</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif";color:black" lang="EN-US">i have read the related spec(</span><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US"><a href="http://git.openstack.org/cgit/openstack/cinder-specs/tree/specs/kilo/filtering-weighing-with-driver-supplied-functions.rst" target="_blank">http://git.openstack.org/cgit/openstack/cinder-specs/tree/specs/kilo/filtering-weighing-with-driver-supplied-functions.rst</a><span style="color:black">)</span>
 and have got some questions.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US">For my understanding, this BP brought two benefits:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US">1) different admins can make various configurations on filtering/weighing (by editing equation in cinder.conf) to meet their various requirement; the
 equation way itself is much more flexible than single capability scheduling.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US">2) different backend drivers can take vendor specific evaluation;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US">The BP seems focus more on the second target: letting drivers do evaluation by themselves. In the spec “editing equation in cinder.conf” is just an
 example of driver implementation, “it is up to the driver to<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US">determine how to generate the equations…Some choices a driver has are to use values defined in cinder.conf, hard-code the values in the driver or not
 implement the properties at all”. <u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US">But I think it is also a fact that a lot of devices have common capabilities/attributes(even thin-provisionning can take as a common attribute today),
 so can we make the “editing equation in cinder.conf” a base/common implementation to this new scheduler?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US">Which means:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US">1) this new scheduler has a built-in implementation of filter/goodness funtion;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US">2) drivers can supply their own functions as they do now; If a driver do not supply one, built-in function will work;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US">Another question:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US">Can we make different volume-types associated with different evaluation rule (means different filter/goodness function pair)? I think this is also very
 useful.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial Unicode MS","sans-serif"" lang="EN-US">Thanks.<u></u><u></u></span></p>
</div>
</div>

<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">Duncan Thomas</div>
</div>