<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:0in;
        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.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri",sans-serif;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
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-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi Tyler,<o:p></o:p></p>
<p class="MsoNormal">Thanks for explaining the details and we have few queries <span style="color:#0070C0">
inline<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#0070C0"><o:p> </o:p></span></p>
<p class="MsoNormal">Thanks & regards,<o:p></o:p></p>
<p class="MsoNormal">Ambarish/Sanjay<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Smith, Tyler <tyler.smith@windriver.com> <br>
<b>Sent:</b> Friday, May 15, 2020 1:35 AM<br>
<b>To:</b> Das, Ambarish <ambarish.das@intel.com>; Penney, Don <Don.Penney@windriver.com>; Mukherjee, Sanjay K <sanjay.k.mukherjee@intel.com><br>
<b>Cc:</b> Wold, Saul <saul.wold@intel.com>; Jones, Bruce E <bruce.e.jones@intel.com>; Bhat, Gopalkrishna <gopalkrishna.bhat@intel.com>; starlingx-discuss@lists.starlingx.io; Sun, Austin <austin.sun@intel.com>; Eslimi, Dariush <Dariush.Eslimi@windriver.com><br>
<b>Subject:</b> RE: Fault Containerization: Enable FM panels in Openstack Dashboard<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi Ambarish & Sanjay<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">There were two approaches that were being looked at.  The first was to use the same GUI plugin for both the platform horizon and containerized horizon, but only copy over the horizon 'enabled' files corresponding to the panels that we
 want to enable (fault panels in the containerized case).  This is the approach that was tried but it ended up not working and required lots of hacks during the docker image build step, such as modifying the code, which we really want to avoid.  The reasons
 it wasn't working weren't really clear to me, I didn't spend time debugging etc.<o:p></o:p></p>
<p class="MsoPlainText">Attached is some background on what was being discussed then.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><span style="color:#0070C0">[AD/SM]: We are clear with this approach and I believe the abandoned patch has the required hack for this implementation (<a href="https://review.opendev.org/#/c/661423/4"><span style="color:#0070C0">https://review.opendev.org/#/c/661423/4</span></a>).
 We are able to reproduce this step with docker image build for stx-horizon and FM Panel is visible in openstack dashboard. Please let us know if anything wrong in this understanding/reproduction steps.<o:p></o:p></span></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">The decision was made to instead split our plugin into two, one for the platform panels, and one for just the fault panels.  This will involve creating a new package next to starlingx-dashboard (in the same repo though) that has a similar
 structure but only has the relevant fault components.  Including:<o:p></o:p></p>
<p class="MsoPlainText">Api/fm.py<o:p></o:p></p>
<p class="MsoPlainText">Api/rest/fm.py<o:p></o:p></p>
<p class="MsoPlainText">Dashboards/admin/active_alarms/<o:p></o:p></p>
<p class="MsoPlainText">Static/dashboard/fault_management/<o:p></o:p></p>
<p class="MsoPlainText">Enabled/   -> need the fm related enabled files in here, along with the banner view header section definition (see ADD_HEADER_SECTIONS).  These files will get copied over in the docker image build step.  The only other instruction in
 this step should be the csrftoken customization command from the attached email, which I think unfortunately is required.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><span style="color:#0070C0">[AD/SM]: As per our understanding all these changes will be part of stx-gui module. Need more information regarding stx-gui component to understand better. Please let us know if any documentation link there
 to refer for this module ( It would be really helpful if we can approach a POC/module expert for this).
<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="color:#0070C0">Also was there any patch created with these changes earlier?
<o:p></o:p></span></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">As for the settings for the containerized horizon, they are stored in the openstack helm application manifest here: openstack-armada-app/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">My understanding is fault management will remain in the platform as well.  A distributed cloud deployment will also have to be tested, as the dc_admin dashboard also queries fm.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">There's decent documentation on the plugin structure upstream:
<a href="https://docs.openstack.org/horizon/latest/contributor/tutorials/plugin.html">
https://docs.openstack.org/horizon/latest/contributor/tutorials/plugin.html</a><o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Let me know if you need more details<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Tyler<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Das, Ambarish [<a href="mailto:ambarish.das@intel.com">mailto:ambarish.das@intel.com</a>]
<br>
<b>Sent:</b> Wednesday, May 13, 2020 2:22 AM<br>
<b>To:</b> Penney, Don <<a href="mailto:Don.Penney@windriver.com">Don.Penney@windriver.com</a>>; Smith, Tyler <<a href="mailto:tyler.smith@windriver.com">tyler.smith@windriver.com</a>><br>
<b>Cc:</b> Wold, Saul <<a href="mailto:saul.wold@intel.com">saul.wold@intel.com</a>>; Jones, Bruce E <<a href="mailto:bruce.e.jones@intel.com">bruce.e.jones@intel.com</a>>; Bhat, Gopalkrishna <<a href="mailto:gopalkrishna.bhat@intel.com">gopalkrishna.bhat@intel.com</a>>;
<a href="mailto:starlingx-discuss@lists.starlingx.io">starlingx-discuss@lists.starlingx.io</a>; Mukherjee, Sanjay K <<a href="mailto:sanjay.k.mukherjee@intel.com">sanjay.k.mukherjee@intel.com</a>>; Sun, Austin <<a href="mailto:austin.sun@intel.com">austin.sun@intel.com</a>><br>
<b>Subject:</b> Fault Containerization: Enable FM panels in Openstack Dashboard<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-IN">Hello Tyler & Don,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-IN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-IN">We have started looking into the remaining work in Fault Containerization and looked into the earlier abandoned patch implementation (</span><a href="https://review.opendev.org/#/c/661423/">https://review.opendev.org/#/c/661423/</a>).<o:p></o:p></p>
<p class="MsoNormal">As we have joined the team newly, we would like to understand GUI and Horizon implementation and next steps to move forward regarding this pending activity.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We had a initial discussion regarding this with Saul and Austin and based on their inputs, we would like to have a discussion. Please let me know if you need any clarification.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks & regards,<o:p></o:p></p>
<p class="MsoNormal">Ambarish/Sanjay<o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-IN"><o:p> </o:p></span></p>
</div>
</body>
</html>