<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;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri",sans-serif;}
.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 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">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">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 [mailto:ambarish.das@intel.com] <br>
<b>Sent:</b> Wednesday, May 13, 2020 2:22 AM<br>
<b>To:</b> Penney, Don <Don.Penney@windriver.com>; Smith, Tyler <tyler.smith@windriver.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; Mukherjee, Sanjay K <sanjay.k.mukherjee@intel.com>; Sun, Austin <austin.sun@intel.com><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>