<div dir="ltr">In today's IRC meeting, the conclusion for now is that create a Marathon+Mesos bay without exposing any object to Magnum but enable end user operate Marathon directly. Thanks.<br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-06-03 9:19 GMT+08:00 Kai Qiang Wu <span dir="ltr"><<a href="mailto:wkqwu@cn.ibm.com" target="_blank">wkqwu@cn.ibm.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
<p><font size="2" face="sans-serif">Hi All,</font><br>
<br>
<font size="2" face="sans-serif">For mesos bay, I think what we should implement depends on user-cases.</font><br>
<br>
<font size="2" face="sans-serif">If users use magnum to create mesos-bay, what would they do with mesos in following steps ?</font><br>
<br>
<font size="2" face="sans-serif">1. If they go to mesos (framework or anything) directly, we'd better not involve any new mesos objects, but use container if possible.</font><br>
<font size="2" face="sans-serif">2. If they'd like to  operate with mesos through magnum, and it is easy to do that, we could provide some objects operation.</font><br>
<br>
<font size="2" face="sans-serif">Ideally, it is good to reuse containers api if possible. If not, we'd better find ways to mesos mapping(api passthrough, instead add redundant objects in magnum side)</font><br>
<br>
<br>
<br>
<font size="2" face="sans-serif">Thanks</font><br>
<br>
<font size="2" face="sans-serif">Best Wishes,</font><br>
<font size="2" face="sans-serif">--------------------------------------------------------------------------------</font><br>
<font size="2" face="sans-serif">Kai Qiang Wu (吴开强  Kennan)<br>
IBM China System and Technology Lab, Beijing<br>
<br>
E-mail: <a href="mailto:wkqwu@cn.ibm.com" target="_blank">wkqwu@cn.ibm.com</a><br>
Tel: 86-10-82451647<br>
Address: Building 28(Ring Building), ZhongGuanCun Software Park,  <br>
         No.8 Dong Bei Wang West Road, Haidian District Beijing P.R.China 100193</font><br>
<font size="2" face="sans-serif">--------------------------------------------------------------------------------</font><br>
<font size="2" face="sans-serif">Follow your heart. You are miracle! </font><br>
<br>
<img src="cid:1__=C7BBF4CADF954C0B8f9e8a93df938@cn.ibm.com" alt="Inactive hide details for Hongbin Lu ---06/02/2015 06:15:44 AM---Hi Jay, For your question “what is the mesos object that we w" border="0" height="16" width="16"><font color="#424282" size="2" face="sans-serif">Hongbin Lu ---06/02/2015 06:15:44 AM---Hi Jay, For your question “what is the mesos object that we want to manage”, the short answer is it</font><br>
<br>
<font color="#5F5F5F" size="1" face="sans-serif">From:      </font><font size="1" face="sans-serif">Hongbin Lu <<a href="mailto:hongbin.lu@huawei.com" target="_blank">hongbin.lu@huawei.com</a>></font><br>
<font color="#5F5F5F" size="1" face="sans-serif">To:        </font><font size="1" face="sans-serif">"OpenStack Development Mailing List (not for usage questions)" <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>></font><br>
<font color="#5F5F5F" size="1" face="sans-serif">Date:      </font><font size="1" face="sans-serif">06/02/2015 06:15 AM</font><span class=""><br>
<font color="#5F5F5F" size="1" face="sans-serif">Subject:   </font><font size="1" face="sans-serif">Re: [openstack-dev] [Magnum] Discuss mesos-bay-type Blueprint</font><br>
</span></p><hr style="color:#8091a5" align="left" noshade size="2" width="100%"><div><div class="h5"><br>
<br>
<br>
<font color="#1F497D" size="2" face="Calibri">Hi Jay,</font><br>
<font color="#1F497D" size="2" face="Calibri"> </font><br>
<font color="#1F497D" size="2" face="Calibri">For your question “</font><font size="3" face="Times New Roman">what is the mesos object that we want to manage</font><font color="#1F497D" size="2" face="Calibri">”, the short answer is it depends. There are two options I can think of:</font>
<ul style="padding-left:36pt"><font color="#1F497D" size="2" face="Calibri">1.       Don’t manage any object from Marathon directly. Instead, we can focus on the existing Magnum objects (i.e. container), and implements them by using Marathon APIs if it is possible. Use the abstraction ‘container’ as an example. For a swarm bay, container will be implemented by calling docker APIs. For a mesos bay, container could be implemented by using Marathon APIs (it looks the Marathon’s object ‘app’ can be leveraged to operate a docker container). The effect is that Magnum will have a set of common abstractions that is implemented differently by different bay type.</font><br>
<font color="#1F497D" size="2" face="Calibri">2.       Do manage a few Marathon objects (i.e. app). The effect is that Magnum will have additional API object(s) that is from Marathon (like what we have for existing k8s objects: pod/service/rc).</font></ul>
<font color="#1F497D" size="2" face="Calibri">Thoughts?</font><br>
<font color="#1F497D" size="2" face="Calibri"> </font><br>
<font color="#1F497D" size="2" face="Calibri">Thanks</font><br>
<font color="#1F497D" size="2" face="Calibri">Hongbin</font><br>
<font color="#1F497D" size="2" face="Calibri"> </font><br>
<font size="2" face="Tahoma"><b>From:</b></font><font size="2" face="Tahoma"> Jay Lau [</font><font size="2" face="Tahoma"><a href="mailto:jay.lau.513@gmail.com" target="_blank">mailto:jay.lau.513@gmail.com</a></font><font size="2" face="Tahoma">] </font><font size="2" face="Tahoma"><b><br>
Sent:</b></font><font size="2" face="Tahoma"> May-29-15 1:35 AM</font><font size="2" face="Tahoma"><b><br>
To:</b></font><font size="2" face="Tahoma"> OpenStack Development Mailing List (not for usage questions)</font><font size="2" face="Tahoma"><b><br>
Subject:</b></font><font size="2" face="Tahoma"> Re: [openstack-dev] [Magnum] Discuss mesos-bay-type Blueprint</font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">I want to mention that there is another mesos framework named as chronos: </font><a href="https://github.com/mesos/chronos" target="_blank"><font color="#0000FF" size="3" face="Times New Roman"><u>https://github.com/mesos/chronos</u></font></a><font size="3" face="Times New Roman"> , it is used for job orchestration.</font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">For others, please refer to my comments in line.</font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">2015-05-29 7:45 GMT+08:00 Adrian Otto <</font><a href="mailto:adrian.otto@rackspace.com" target="_blank"><font color="#0000FF" size="3" face="Times New Roman"><u>adrian.otto@rackspace.com</u></font></a><font size="3" face="Times New Roman">>:</font><br>
<font size="3" face="Times New Roman">I’m moving this whiteboard to the ML so we can have some discussion to refine it, and then go back and update the whiteboard. </font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">Source: </font><a href="https://blueprints.launchpad.net/magnum/+spec/mesos-bay-type" target="_blank"><font color="#0000FF" size="3" face="Times New Roman"><u>https://blueprints.launchpad.net/magnum/+spec/mesos-bay-type</u></font></a><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">My comments in-line below.</font><br>
<font size="3" face="Times New Roman"><br>
</font><br>
<font size="3" face="Times New Roman">Begin forwarded message:</font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="sans-serif"><b>From: </b></font><font size="3" face="sans-serif">hongbin <</font><a href="mailto:hongbin.lu@huawei.com" target="_blank"><font color="#0000FF" size="3" face="sans-serif"><u>hongbin.lu@huawei.com</u></font></a><font size="3" face="sans-serif">></font><br>
<font size="3" face="sans-serif"><b>Subject: COMMERCIAL:[Blueprint mesos-bay-type] Add support for mesos bay type</b></font><br>
<font size="3" face="sans-serif"><b>Date: </b></font><font size="3" face="sans-serif">May 28, 2015 at 2:11:29 PM PDT</font><br>
<font size="3" face="sans-serif"><b>To: </b></font><font size="3" face="sans-serif"><</font><a href="mailto:adrian.otto@rackspace.com" target="_blank"><font color="#0000FF" size="3" face="sans-serif"><u>adrian.otto@rackspace.com</u></font></a><font size="3" face="sans-serif">></font><br>
<font size="3" face="sans-serif"><b>Reply-To: </b></font><font size="3" face="sans-serif">hongbin <</font><a href="mailto:hongbin.lu@huawei.com" target="_blank"><font color="#0000FF" size="3" face="sans-serif"><u>hongbin.lu@huawei.com</u></font></a><font size="3" face="sans-serif">></font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">Blueprint changed by hongbin:<br>
<br>
Whiteboard set to:<br>
<br>
I did a preliminary research on possible implementations. I think this BP can be implemented in two steps.<br>
1. Develop a heat template for provisioning mesos cluster.<br>
2. Implement a magnum conductor for managing the mesos cluster.</font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">Agreed, thanks for filing this blueprint!</font><br>
<font size="3" face="Times New Roman">For 2, the conductor is mainly used to manage objects for CoE, k8s has pod, service, rc, what is the mesos object that we want to manage? IMHO, mesos is a resource manager and it needs to be worked with some frameworks to provide services. </font>
<ul style="padding-left:4pt"><font size="3" face="Times New Roman"><br>
</font><br>
<font size="3" face="Times New Roman">First, I want to emphasis that mesos is not a service (It looks like a<br>
library). Therefore, mesos doesn't have web API, and most users don't<br>
use mesos directly. Instead, they use a mesos framework that is on top<br>
of mesos. Therefore, a mesos bay needs to have a mesos framework pre-<br>
configured so that magnum can talk to the framework to manage the bay.<br>
There are several framework choices. Below is a list of frameworks that<br>
look like a fit (in my opinion). A exhaustive list of framework can be<br>
found here [1].<br>
<br>
1. Marathon [2]<br>
This is a framework controlled by a company (mesosphere [3]). It is open source through. It supports running app on clusters of docker containers. It is probably the most widely-used mesos framework for long-running application.</font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">Marathon offers a REST API, whereas Aroura does not (unless one has materialized in the last month). This was the one we discussed in our Vancouver design summit, and we agreed that those wanting to use Apache Mesos are probably expecting this framework. </font><br>
<font size="3" face="Times New Roman"><br>
</font><br>
<font size="3" face="Times New Roman">2. Aurora [4]<br>
This is a framework governed by Apache Software Foundation. It looks very similar to Marathon, but maybe more advanced in nature. It has been used by Twitter at scale. Here [5] is a detailed comparison between Marathon and Aurora.</font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">We should have an alternate bay template for Aroura in our contrib directory. If users like Aroura better than Marathon, we can discuss making it the default template, and put the Marathon template in the contrib directory. </font><br>
<font size="3" face="Times New Roman"><br>
</font><br>
<font size="3" face="Times New Roman">3. Kubernetes/Docker swarm<br>
It looks the swarm-mesos is not ready yet. I cannot find any thing about that (besides several videos on Youtube). The kubernetes-mesos is there [6]. In theory, magnum should be able to deploy a mesos bay and talk to the bay through kubernetes API. An advantage is that we can reuse the kubernetes conductor. A disadvantage is that it is not a 'mesos' way to manage containers. Users from mesos community are probably more comfortable to manage containers through Marathon/Aurora.</font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">If you want Kubernetes, you should use the Kubernetes bay type. If you want Kubernetes controlling Mesos, make a custom Heat template for that, and we can put it into contrib.</font></ul>
<font size="3" face="Times New Roman">Agree, even using Mesos as resource manager, end user can still use magnum API to create pod, service, and rc. </font>
<ul style="padding-left:4pt"><font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">If you want Swarm controlling Mesos, then you want BOTH a Swarm bay *and* a Mesos bay, with the Swarm bay configured to use the Mesos bay using the (currently developing) integration hook for Mesos in Swarm.</font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">Any opposing viewpoints to consider?</font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">Thanks,</font><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman">Adrian</font><br>
<font size="3" face="Times New Roman"><br>
</font><br>
<font size="3" face="Times New Roman">--hongbin<br>
<br>
[1] </font><a href="http://mesos.apache.org/documentation/latest/mesos-frameworks/" target="_blank"><font color="#0000FF" size="3" face="Times New Roman"><u>http://mesos.apache.org/documentation/latest/mesos-frameworks/</u></font></a><font size="3" face="Times New Roman"><br>
[2] </font><a href="https://github.com/mesosphere/marathon" target="_blank"><font color="#0000FF" size="3" face="Times New Roman"><u>https://github.com/mesosphere/marathon</u></font></a><font size="3" face="Times New Roman"><br>
[3] </font><a href="https://mesosphere.com/" target="_blank"><font color="#0000FF" size="3" face="Times New Roman"><u>https://mesosphere.com/</u></font></a><font size="3" face="Times New Roman"><br>
[4] </font><a href="http://aurora.apache.org/" target="_blank"><font color="#0000FF" size="3" face="Times New Roman"><u>http://aurora.apache.org/</u></font></a><font size="3" face="Times New Roman"><br>
[5] </font><a href="http://stackoverflow.com/questions/28651922/marathon-vs-aurora-and-their-purposes" target="_blank"><font color="#0000FF" size="3" face="Times New Roman"><u>http://stackoverflow.com/questions/28651922/marathon-vs-aurora-and-their-purposes</u></font></a><font size="3" face="Times New Roman"><br>
[6] </font><a href="https://github.com/mesosphere/kubernetes-mesos" target="_blank"><font color="#0000FF" size="3" face="Times New Roman"><u>https://github.com/mesosphere/kubernetes-mesos</u></font></a><font color="#888888" size="3" face="Times New Roman"><br>
<br>
-- <br>
Add support for mesos bay type</font><font color="#0000FF" size="3" face="Times New Roman"><u><br>
</u></font><a href="https://blueprints.launchpad.net/magnum/+spec/mesos-bay-type" target="_blank"><font color="#0000FF" size="3" face="Times New Roman"><u>https://blueprints.launchpad.net/magnum/+spec/mesos-bay-type</u></font></a><br>
<font size="3" face="Times New Roman"> </font><br>
<font size="3" face="Times New Roman"><br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: </font><a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank"><font color="#0000FF" size="3" face="Times New Roman"><u>OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</u></font></a><font color="#0000FF" size="3" face="Times New Roman"><u><br>
</u></font><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank"><font color="#0000FF" size="3" face="Times New Roman"><u>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</u></font></a></ul>
<font size="3" face="Times New Roman"><br>
<br>
<br>
-- </font><br>
<font size="3" face="Times New Roman">Thanks,</font><br>
</div></div><font size="3" face="Times New Roman">Jay Lau (Guangya Liu)</font><tt><font size="2">__________________________________________________________________________<span class=""><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>
</span></font></tt><tt><font size="2"><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></font></tt><tt><font size="2"><br>
</font></tt><br>
<p></p></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>