<html 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=utf-8">
<meta name="Generator" content="Microsoft Word 15 (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:"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:Consolas;
        panose-1:2 11 6 9 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;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Consolas",serif;}
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;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;}
span.EmailStyle24
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Consolas",serif;}
.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;}
/* List Definitions */
@list l0
        {mso-list-id:1408721722;
        mso-list-type:hybrid;
        mso-list-template-ids:-986682366 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:18.0pt;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:54.0pt;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:90.0pt;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:126.0pt;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:162.0pt;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:198.0pt;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:234.0pt;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:270.0pt;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:306.0pt;
        text-indent:-18.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style>
</head>
<body lang="EN-CA" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hello Huifeng,<o:p></o:p></p>
<p class="MsoNormal">I believe the use-case was having the ability to restart the metadata proxy in order to provide the ability to patch the software without a reboot. Therefore, in order to restart and/or reconfigure the metadata proxies that are managed
 by the DHCP agent, then they needed to be restarted when the agent was restarted since there was no direct way to restart the individual proxies managed by that service.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The DHCP agent will automatically configure and launch the metadata proxy if there are no virtual routers currently serving that network.  This is controlled by the parameter enable_isolated_metadata and is configured to be True by default
 for StarlingX.  The force_metadata option can be used to always have the DHCP agent configure the metadata access but is not enabled by default (as you indicated).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-Matt<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">"Le, Huifeng" <huifeng.le@intel.com><br>
<b>Date: </b>Wednesday, December 5, 2018 at 4:20 AM<br>
<b>To: </b>"Peters, Matt" <Matt.Peters@windriver.com><br>
<b>Cc: </b>"starlingx-discuss@lists.starlingx.io" <starlingx-discuss@lists.starlingx.io><br>
<b>Subject: </b>Questions about patch 87a8c625 upstreaming<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><span style="color:#1F497D">Matt,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">I am looking at patch #87a8c625 (US86444: patching scripts for neutron processes) which includes 2 parts, could you please help to clarify below question?</span><o:p></o:p></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoListParagraph" style="margin-left:-18.0pt;mso-list:l0 level1 lfo2">
<span style="color:#1F497D">Script to support neutron service restart: </span><o:p></o:p></li></ul>
<p class="MsoNormal"><span style="color:#1F497D">This is STX special script and no need for upstream</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoListParagraph" style="margin-left:-18.0pt;mso-list:l0 level1 lfo2">
<span style="color:#1F497D">Metadata-proxy service lifecycle management: close metadata proxy (e.g. haproxy) process (if it is managed by dhcp client) when neutron-dhcp-agent stopped
</span><o:p></o:p></li></ul>
<p class="MsoNormal"><span style="color:#1F497D">To my understanding, metadata proxy (e.g. haproxy) provides support for VM instance to query its metadata information from Neutron which is in data-path plane, neutron-dhcp-agent is responsible for configuring
 dhcp process (e.g. dnsmasq) or metadata proxy process which is lie in control-path plane.  </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">So it seems by design: whether the metadata-proxy process is alive is determined by the network/port status change instead of whether dhcp agent alive.
<b>Are there any special use cases which requires to stop metadata proxy process when dhcp agent stopped?
</b></span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">In my test:</span><o:p></o:p></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoListParagraph" style="margin-left:-18.0pt;mso-list:l0 level1 lfo2">
<span style="color:#1F497D">if metadata proxy is managed by l3 agent (default setting)</span><o:p></o:p></li></ul>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span style="color:#1F497D">Stopping(/Restarting) l3 agent will not stop(/restart) haproxy process and clear iptables rule, router can still work (in data path) and metadata information can still be queried
 inside VM instance</span><o:p></o:p></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoListParagraph" style="margin-left:-18.0pt;mso-list:l0 level1 lfo2">
<span style="color:#1F497D">if metadata proxy is managed by dhcp agent (set “force_metadata = true” in /etc/neutron/dhcp_agent.ini)</span><o:p></o:p></li></ul>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span style="color:#1F497D">Stopping(/Restarting) dhcp agent will not stop(/restart) dnsmasq process and haproxy process, dhcp server can still work (in data path) and metadata information can still be
 queried inside VM instance. </span><o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:18.0pt"><span style="color:#1F497D">If applying the patch, Stopping dhcp agent will make the metadata query within VM instance fail while the DHCP server can still work (or does it also need to be stopped?) and
 metadata bridge information (e.g.</span> <span style="color:#1F497D">169.254.169.254/16) is also valid in dhcp interface,
<b>does it expected behavior</b>?</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Thanks much!</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><b><i><span style="color:#1F497D">Best Regards,</span></i></b><o:p></o:p></p>
<p class="MsoNormal"><b><i><span style="color:#1F497D">Le, Huifeng</span></i></b><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</body>
</html>