<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@宋体";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:宋体;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:宋体;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"批注框文本 Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:9.0pt;
        font-family:宋体;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin:0cm;
        margin-bottom:.0001pt;
        text-indent:21.0pt;
        font-size:12.0pt;
        font-family:宋体;}
span.Char
        {mso-style-name:"批注框文本 Char";
        mso-style-priority:99;
        mso-style-link:批注框文本;
        font-family:宋体;}
p.msochpdefault, li.msochpdefault, div.msochpdefault
        {mso-style-name:msochpdefault;
        mso-style-priority:99;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:宋体;}
span.char0
        {mso-style-name:char;
        font-family:宋体;}
span.emailstyle19
        {mso-style-name:emailstyle19;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.emailstyle20
        {mso-style-name:emailstyle20;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.emailstyle21
        {mso-style-name:emailstyle21;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.emailstyle22
        {mso-style-name:emailstyle22;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle26
        {mso-style-type:personal;
        font-family:"Tahoma","sans-serif";
        color:black;}
span.EmailStyle27
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1241790268;
        mso-list-type:hybrid;
        mso-list-template-ids:1606081240 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:21.0pt;
        text-indent:-21.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="ZH-CN" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Hello,
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">As the L3 E-W patch and Cinder volume CRUD patch submitted for review, it’s time for us to discuss the movement of the experiment branch to master
 branch.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">The weekly meeting will be held at the UTC1300 at #openstack-meeting on Jan.6.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Agenda:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:21.0pt;text-indent:-21.0pt;mso-list:l0 level1 lfo1">
<![if !supportLists]><span lang="EN-US" style="font-size:10.5pt;font-family:Wingdings;color:#1F497D"><span style="mso-list:Ignore">l<span style="font:7.0pt "Times New Roman""> 
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Branch movement</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:21.0pt;text-indent:-21.0pt;mso-list:l0 level1 lfo1">
<![if !supportLists]><span lang="EN-US" style="font-family:Wingdings;color:black"><span style="mso-list:Ignore">l<span style="font:7.0pt "Times New Roman""> 
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Progress of To-do list review:
<a href="https://etherpad.openstack.org/p/TricircleToDo" target="_blank">https://etherpad.openstack.org/p/TricircleToDo</a></span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:21.0pt;text-indent:-21.0pt;mso-list:l0 level1 lfo1">
<![if !supportLists]><span lang="EN-US" style="font-size:10.5pt;font-family:Wingdings;color:#1F497D"><span style="mso-list:Ignore">l<span style="font:7.0pt "Times New Roman""> 
</span></span></span><![endif]><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Discussion of phase 2 of stateless design.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Design doc:
<a href="https://docs.google.com/document/d/18kZZ1snMOCD9IQvUKI5NVDzSASpw-QKj7l2zNqMEd3g/edit#">
https://docs.google.com/document/d/18kZZ1snMOCD9IQvUKI5NVDzSASpw-QKj7l2zNqMEd3g/edit#</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Best Regards<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Chaoyi Huang ( Joe Huang )</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></p>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"> joehuang [<a href="mailto:joehuang@huawei.com" target="_blank">mailto:joehuang@huawei.com</a>]
<br>
<b>Sent:</b> Tuesday, December 08, 2015 1:18 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> [openstack-dev] [tricircle]Stateless design proposal for Tricircle project</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi,
</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Managing multiple instances of OpenStack is a headache.  Each OpenStack instance is individual silo, with its separate resources, networks, images,
 etc.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Tricircle, the project aiming to address this headache, a Top (aka cascading) minimalist "OpenStack instance" will manages multiple Bottom (aka
 cascaded) OpenStack instances. The top will expose OpenStack API to embrace all eco-system built upon OpenStack API. This model and its value has been verified in several production clouds.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Now one stateless design for the Tricircle, the top minimalist "OpenStack instance",  is just proposed in the doc [1]:</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">The stateless design introduce several components, and fully decoupled with OpenStack services like Nova, Cinder, and the Tricircle plugin will
 work just like OVN, ODL plugin in Neutron project, the design also try to remove the uuid mapping, status synchronization challenges.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.5pt;color:#1F497D">•</span></b><b><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">      Admin API</span></b><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:15.75pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">manage sites(bottom OpenStack instances) and availability zone mapping</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:15.75pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">retrieve object uuid routing</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:15.75pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">expose api for maintenance</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.5pt;color:#1F497D">•</span></b><b><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">      Nova API-GW
</span></b><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:15.75pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">an standalone web service to receive all nova api request, and routing the request to regarding bottom OpenStack according
 to Availability Zone ( during creation ) or resource id ( during operation and query ).</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:15.75pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">work as stateless service, and could run with processes distributed in multi-hosts.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.5pt;color:#1F497D">•</span></b><b><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">      Cinder API-GW
</span></b><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:15.75pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">an standalone web service to receive all cinder api request, and routing the request to regarding bottom OpenStack
 according to Availability Zone ( during creation ) or resource id ( during operation and query ).</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:15.75pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">work as stateless service, and could run with processes distributed in multi-hosts.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.5pt;color:#1F497D">•</span></b><b><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">      XJob</span></b><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:15.75pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">receive and process cross OpenStack functionalities and other async. jobs from message bus for example, when booting
 a VM for the first time for the project, router, security group rule, FIP and other resources may have not already been created in the bottom site, but it’s required. Not like network, security group, ssh key etc resources they must be created before a VM
 booting, these resources could be created in async.way to accelerate response for the first VM booting request
</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:15.75pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">cross OpenStack networking also will be done in async. jobs</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:15.75pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Any of Admin API, Nova API-GW, Cinder API-GW, Neutron Tricircle plugin could send an async. job to XJob through message
 bus with RPC API provided by XJob</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.5pt;color:#1F497D">•</span></b><b><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">      Neutron Tricircle plugin</span></b><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:21.0pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Just like OVN, ODL Neutron plugin, the tricircle plugin serve for multi-site networking purpose, including interaction
 with DCI SDN controller, will use ML2 mechanism driver interface to call DCI SDN controller, especially for cross OpenStack provider multi-segment L2 networking.</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.5pt;color:#1F497D">•</span></b><b><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">      DB</span></b><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:15.75pt"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Tricircle can have its own database to store sites, fake nodes, availability zone mapping, jobs, resource routing table</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">A plan to do PoC for this idea is working on the experiment branch of Tricircle [2][4], once the result give us positive feedback, the work will
 be moved to the master branch. </span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Welcome to join the adventure, contribute your power in the review, design  writing source code, maintaining infrastructure, testing, bug fix,
 the weekly meeting[3]..., all work just starts[4].</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">[1] design doc:
<a href="https://docs.google.com/document/d/18kZZ1snMOCD9IQvUKI5NVDzSASpw-QKj7l2zNqMEd3g" target="_blank">
https://docs.google.com/document/d/18kZZ1snMOCD9IQvUKI5NVDzSASpw-QKj7l2zNqMEd3g</a></span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">[2] Stateless design branch:
<a href="https://github.com/openstack/tricircle/tree/experiment" target="_blank">
https://github.com/openstack/tricircle/tree/experiment</a></span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">[3] weekly meeting: #openstack-meeting on every Wednesday starting from UTC 13:00</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">[4] To do list is in the etherpad:
<a href="https://etherpad.openstack.org/p/TricircleToDo" target="_blank">https://etherpad.openstack.org/p/TricircleToDo</a></span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Best Regards</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Chaoyi Huang ( Joe Huang )</span><span lang="EN-US" style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>