<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: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=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.author-a-z87z8ujz70zz75zuz72z9d0uiwz67zz81z
        {mso-style-name:author-a-z87z8ujz70zz75zuz72z9d0uiwz67zz81z;}
span.EmailStyle20
        {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 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></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="EN-CA" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US">Very cool idea, Thanks Mingyuan.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Qi, Mingyuan [mailto:mingyuan.qi@intel.com]
<br>
<b>Sent:</b> December-03-19 3:56 AM<br>
<b>To:</b> starlingx-discuss@lists.starlingx.io<br>
<b>Subject:</b> [Starlingx-discuss] [Container]Introduce a user application generation tool<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">Hi Container team,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">In the past few months, I’ve developed more than 10 armada user applications on stx. However, I’ve been struggling to create these apps by building the dir hierarchy, writing armada manifest and fighting against stx build
 errors/runtime sysinv errors/armada errors. <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">There are good reasons for stx system application(e.g. platform-integ-apps) to leverage rpm build model to ensure the consistency of the build system.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">But for customer's applications that are not in-tree code, flexible to integrate various helm charts, no runtime override needed, this build model is more of a burden.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Therefore, I developed a user application generation tool aiming to simplify the app development steps. This tool completely
<b>decouples app development from stx build</b>, which means the app developers no longer need to fetch stx code/build tool nor to build app by stx build system.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">The main features of this tool are:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">  1. One command to package chart, generate manifest, checksum and package app.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">  2. Supports local dir, git repo and tarball as chart source.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">  3. The app manifest abstracts a few important fields from armada schema for user to lower the learning curve of armada.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">  4. Static value overrides allowed in app manifest<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I’ve submitted a draft version of this tool for review[0], and created an etherpad[1] to describe more details.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I’d like to know your thoughts about this tool and anything about user application development, feel free to review the commit[0] and/or add comments in etherpad[1] or mailing list. All opinions are welcome.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[0] <a href="https://review.opendev.org/#/c/697013/">
https://review.opendev.org/#/c/697013/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[1] <a href="https://etherpad.openstack.org/p/stx_app_gen_tool">
https://etherpad.openstack.org/p/stx_app_gen_tool</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Best Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Mingyuan<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
</body>
</html>