<div dir="ltr">Jay, <div><br></div><div>Hi Jay, yes we were working about putting all common stuff in oslo-scheduler. (not only filters)</div><div><br></div><div>As a result of this work we understood, that this is wrong approach. Because it makes result code very complex and unclear. And actually we didn't find the way to put all common stuff inside oslo. Instead of trying to make life too complex we found better approach.  Implement scheduler aaS that can scale (current solution has some scale issues) & store all data from nova, cinder & probably other places.</div>
<div><br></div><div>To implement such approach we should change a bit current architecture: </div><div>1) Scheduler should store all his data (not nova.db & cinder.db)</div><div>2) Scheduler should always have own snapshot of "wold" state, and sync it with another schedulers using something that is quite fast (e.g. memcached) </div>
<div>3) Merge schedulers rpc methods from nova & cinder in one scheduler (it is possbile if we store all data from cinder & nova in one sceduler). </div><div>4) Drop cinder, and nova tables that store host states (as we don't need them) </div>
<div><br></div><div>We implemented already base start (mechanism that store snapshot of world state & sync it between different schedulers): </div><div><br></div><div><a href="https://review.openstack.org/#/c/45867/">https://review.openstack.org/#/c/45867/</a> (it is still bit in WIP)<br>
</div><div><br></div><div><br></div><div>Best regards, </div><div>Boris Pavlovic</div><div>---</div><div>Mirantis Inc. </div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Nov 10, 2013 at 1:59 PM, Jay Lau <span dir="ltr"><<a href="mailto:jay.lau.513@gmail.com" target="_blank">jay.lau.513@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>I noticed that there is already a bp in oslo tracing what I want to do: <a href="https://blueprints.launchpad.net/oslo/+spec/oslo-scheduler" target="_blank">https://blueprints.launchpad.net/oslo/+spec/oslo-scheduler</a><br>

<br></div>Thanks,<br><br></div>Jay<br><br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">2013/11/9 Jay Lau <span dir="ltr"><<a href="mailto:jay.lau.513@gmail.com" target="_blank">jay.lau.513@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


Greetings,</div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


<br></div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


Now in oslo, we already put some scheduler filters/weights logic there and cinder is using oslo scheduler filters/weights logic, seems we want both nova&cinder use this logic in future.</div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


<br></div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


Found some problems as following:</div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


1) In cinder, some filters/weight logic reside in cinder/openstack/common/scheduler and some filter/weight logic in cinder/scheduler, this is not consistent and also will make some cinder hackers confused: where shall I put the scheduler filter/weight.</div>


<div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">
2) Nova is not using filter/weight from oslo and also not using entry point to handle all filter/weight.</div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


3) There is not enough filters in oslo, we may need to add more there: such as same host filter, different host filter, retry filter etc.</div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


<br></div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


So my proposal is as following:</div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


1) Add more filters to oslo, such as same host filter, different host filter, retry filter etc.</div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


2) Move all filters/weight logic in cinder from cinder/scheduler to cinder/openstack/common/scheduler</div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


3) Enable nova use filter/weight logic from oslo (Move all filter logic to nova/openstack/common/scheduler) and also use entry point to handle all filters/weight logic.</div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


<br></div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


Comments?</div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


<br></div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


Thanks,</div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


<br></div><div style="line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;font-size:14px;white-space:normal;font-family:微软雅黑;font-weight:normal;word-spacing:0px">


Jay</div></div>
</blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</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></div>