<div dir="ltr">Thanks Adrian for the clear clarification, clear now. <br><br>OK, we can focus on the right solution for the Docker back-end for now.</div><div class="gmail_extra"><br><div class="gmail_quote">2015-02-10 15:35 GMT+08:00 Adrian Otto <span dir="ltr"><<a href="mailto:adrian.otto@rackspace.com" target="_blank">adrian.otto@rackspace.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word">
I think it’s fair to assert that our generic scheduling interface should be based on Gantt. When that approaches a maturity point where it’s appropriate to leverage Gantt for container use cases, we should definitely consider switching to that. We should remain
 engaged in Gantt design decisions along the way to provide input.
<div><br>
</div>
<div>In the short term we want a solution that works nicely for our Docker handler, because that’s an obvious functionality gap. The k8s handler already has a scheduler, so it can remain unchanged. Let’s not fall into a trap of over-engineering the scheduler,
 as that can be very tempting but yield limited value.</div>
<div><br>
</div>
<div>My suggestion is that we focus on the right solution for the Docker backend for now, and keep in mind that we want a general purpose scheduler in the future that could be adapted to work with a variety of container backends.</div>
<div><br>
</div>
<div>I want to recognize that Andrew’s thoughts are well considered to avoid rework and remain agnostic about container backends. Further, I think resource scheduling is the sort of problem domain that would lend itself well to a common solution with numerous
 use cases. If you look at the various ones that exist today, there are lots of similarities. We will find a multitude of scheduling algorithms, but probably not uniquely innovative scheduling interfaces. The interface to a scheduler will be relatively simple,
 and we could afford to collaborate a bit with the Gantt team to get solid ideas on the table for that. Let’s table that pursuit for now, and re-engage at our Midcycle meetup to explore that topic further. In the mean time, I’d like us to iterate on a suitable
 point solution for the Docker backend. A final iteration of that work may be to yank it completely, and replace it with a common scheduler at a later point. I’m willing to accept that tradeoff for a quick delivery of a Docker specific scheduler that we can
 learn from and iterate.</div>
<div><br>
</div>
<div>Cheers,</div>
<div><br>
</div>
<div>Adrian</div><div><div class="h5">
<div><br>
<div>
<div>On Feb 9, 2015, at 10:57 PM, Jay Lau <<a href="mailto:jay.lau.513@gmail.com" target="_blank">jay.lau.513@gmail.com</a>> wrote:</div>
<br>
<blockquote type="cite">
<div dir="ltr">Thanks Steve, just want to discuss more for this. Then per Andrew's comments, we need a generic scheduling interface, but if our focus is native docker, then does this still needed? Thanks!
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2015-02-10 14:52 GMT+08:00 Steven Dake (stdake) <span dir="ltr">
<<a href="mailto:stdake@cisco.com" target="_blank">stdake@cisco.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div><br>
</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:11pt;text-align:left;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)">
<span style="font-weight:bold">From: </span>Jay Lau <<a href="mailto:jay.lau.513@gmail.com" target="_blank">jay.lau.513@gmail.com</a>><span><br>
<span style="font-weight:bold">Reply-To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
</span><span style="font-weight:bold">Date: </span>Monday, February 9, 2015 at 11:31 PM<span><br>
<span style="font-weight:bold">To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [openstack-dev] [Magnum] Scheduling for Magnum<br>
</span></div>
<span>
<div><br>
</div>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>
<div>
<div dir="ltr">
<div>
<div>Steve,<br>
<br>
</div>
So you mean we should focus on docker and k8s scheduler? I was a bit confused, why do we need to care k8s? As the k8s cluster was created by heat and once the k8s was created, the k8s has its own scheduler for creating pods/service/rcs.<br>
<br>
</div>
So seems we only need to care scheduler for native docker and ironic bay, comments?<br>
</div>
</div>
</div>
</blockquote>
</span></span>
<div><br>
</div>
<div>Ya scheduler only matters for native docker.  Ironic bay can be k8s or docker+swarm or something similar.</div>
<div><br>
</div>
<div>But yup, I understand your point.</div>
<div>
<div>
<div><br>
</div>
<span>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>
<div>
<div dir="ltr"><br>
Thanks!<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2015-02-10 12:32 GMT+08:00 Steven Dake (stdake) <span dir="ltr">
<<a href="mailto:stdake@cisco.com" target="_blank">stdake@cisco.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word;font-size:14px;font-family:Calibri,sans-serif">
<div><br>
</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:11pt;text-align:left;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)">
<span style="font-weight:bold">From: </span>Joe Gordon <<a href="mailto:joe.gordon0@gmail.com" target="_blank">joe.gordon0@gmail.com</a>><span><br>
<span style="font-weight:bold">Reply-To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
</span><span style="font-weight:bold">Date: </span>Monday, February 9, 2015 at 6:41 PM<span><br>
<span style="font-weight:bold">To: </span>"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [openstack-dev] [Magnum] Scheduling for Magnum<br>
</span></div>
<div><br>
</div>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>
<div>
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<span>
<div class="gmail_quote">On Mon, Feb 9, 2015 at 6:00 AM, Steven Dake (stdake) <span dir="ltr">
<<a href="mailto:stdake@cisco.com" target="_blank">stdake@cisco.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span><br>
<br>
On 2/9/15, 3:02 AM, "Thierry Carrez" <<a href="mailto:thierry@openstack.org" target="_blank">thierry@openstack.org</a>> wrote:<br>
<br>
>Adrian Otto wrote:<br>
>> [...]<br>
>> We have multiple options for solving this challenge. Here are a few:<br>
>><br>
>> 1) Cherry pick scheduler code from Nova, which already has a working a<br>
>>filter scheduler design.<br>
>> 2) Integrate swarmd to leverage its scheduler[2].<br>
>> 3) Wait for the Gantt, when Nova Scheduler to be moved out of Nova.<br>
>>This is expected to happen about a year from now, possibly sooner.<br>
>> 4) Write our own filter scheduler, inspired by Nova.<br>
><br>
>I haven't looked enough into Swarm to answer that question myself, but<br>
>how much would #2 tie Magnum to Docker containers ?<br>
><br>
>There is value for Magnum to support other container engines / formats<br>
>(think Rocket/Appc) in the long run, so we should avoid early design<br>
>choices that would prevent such support in the future.<br>
<br>
</span>Thierry,<br>
Magnum has an object type of a bay which represents the underlying cluster<br>
architecture used.  This could be kubernetes, raw docker, swarmd, or some<br>
future invention.  This way Magnum can grow independently of the<br>
underlying technology and provide a satisfactory user experience dealing<br>
with the chaos that is the container development world :)<br>
</blockquote>
<div><br>
</div>
<div>While I don't disagree with anything said here, this does sound a lot like <a href="https://xkcd.com/927/" target="_blank">
https://xkcd.com/927/</a></div>
</div>
</span></div>
</div>
</div>
</div>
</blockquote>
</span>
<div><br>
</div>
<span>
<div>
<div>
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
</div>
</div>
</div>
</div>
</div>
</span>
<div>Andrew had suggested offering a unified standard user experience and API.  I think that matches the 927 comic pretty well.  I think we should offer each type of system using APIs that are similar in nature but that offer the native features of the system.
  In other words, we will offer integration across the various container landscape with OpenStack.</div>
<div><br>
</div>
<div>We should strive to be conservative and pragmatic in our systems support and only support container schedulers and container managers that have become strongly emergent systems.  At this point that is docker and kubernetes.  Mesos might fit that definition
 as well.  Swarmd and rocket are not yet strongly emergent, but they show promise of becoming so.  As a result, they are clearly systems we should be thinking about for our roadmap.  All of these systems present very similar operational models.</div>
<div><br>
</div>
<div>At some point competition will choke off new system design placing an upper bound on the amount of systems we have to deal with.</div>
<div><br>
</div>
<div>Regards</div>
<div>-steve</div>
<span>
<div><br>
</div>
<div><br>
</div>
<span>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>
<div>
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
We will absolutely support relevant container technology, likely through<br>
new Bay formats (which are really just heat templates).<br>
<br>
Regards<br>
-steve<br>
<div>
<div><br>
><br>
>--<br>
>Thierry Carrez (ttx)<br>
><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>
<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>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</blockquote>
</span></span></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>
<div dir="ltr">
<div>
<div dir="ltr">
<div>Thanks,<br>
<br>
</div>
Jay Lau (Guangya Liu)<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</span></div>
</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>
<div dir="ltr">
<div dir="ltr">
<div>Thanks,<br>
<br>
</div>
Jay Lau (Guangya Liu)<br>
</div>
</div>
</div>
</div>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org" target="_blank">OpenStack-dev-request@lists.openstack.org</a>?subject:unsubscribe<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>
</blockquote>
</div>
<br>
</div>
</div></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"><div dir="ltr"><div><div dir="ltr"><div>Thanks,<br><br></div>Jay Lau (Guangya Liu)<br></div></div></div></div>
</div>