<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;}
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.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
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;
font-family:"Calibri",sans-serif;
color:#1F497D;}
span.EmailStyle25
{mso-style-type:personal;
font-family:"Calibri",sans-serif;}
span.EmailStyle26
{mso-style-type:personal;
font-family:"Calibri",sans-serif;}
span.EmailStyle27
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:#1F497D;}
span.EmailStyle28
{mso-style-type:personal;
font-family:"Calibri",sans-serif;}
span.EmailStyle29
{mso-style-type:personal-reply;
font-family:"Calibri",sans-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;}
@list l1
{mso-list-id:1772047073;
mso-list-type:hybrid;
mso-list-template-ids:-1684111440 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1: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 l1: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 l1: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 l1: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 l1: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 l1: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 l1: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 l1: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 l1: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">See inline<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>Friday, December 7, 2018 at 4:11 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>RE: 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">Thanks much for the clarification!</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Sorry for more questions:</span><o:p></o:p></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoListParagraph" style="margin-left:-18.0pt;mso-list:l1 level1 lfo2">
<span style="color:#1F497D">Current metadata proxy is managed by l3 agent or dhcp agent or both (e.g. there may be 3 haproxy processes co-exists in an environment with 1 route and 2 network). The STX patch is applied for dhcp agent now, Does it also need the
capability for l3 agent to stop the haproxy (managed by l3 agent) when stopped?</span><o:p></o:p></li></ul>
<p class="MsoNormal">MP> Yes. This was not included in the original patch because the original seed code did not use the default L3 agent.<o:p></o:p></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoListParagraph" style="margin-left:-18.0pt;mso-list:l1 level1 lfo2">
<span style="color:#1F497D">The patch has a side effect of disabling the metadata query capability (from vm instance) when dhcp agent stop, suppose this is expected behavior, right?
</span><o:p></o:p></li></ul>
<p class="MsoNormal">MP> Yes. It needs to be temporarily stopped while it is patched.<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"><span style="color:#1F497D"> </span><o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><a name="_____replyseparator"></a><b>From:</b> Peters, Matt [mailto:Matt.Peters@windriver.com]
<br>
<b>Sent:</b> Thursday, December 6, 2018 11:11 PM<br>
<b>To:</b> Le, Huifeng <huifeng.le@intel.com><br>
<b>Cc:</b> starlingx-discuss@lists.starlingx.io<br>
<b>Subject:</b> Re: Questions about patch 87a8c625 upstreaming<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<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" <<a href="mailto:huifeng.le@intel.com">huifeng.le@intel.com</a>><br>
<b>Date: </b>Wednesday, December 5, 2018 at 4:20 AM<br>
<b>To: </b>"Peters, Matt" <<a href="mailto:Matt.Peters@windriver.com">Matt.Peters@windriver.com</a>><br>
<b>Cc: </b>"<a href="mailto:starlingx-discuss@lists.starlingx.io">starlingx-discuss@lists.starlingx.io</a>" <<a href="mailto:starlingx-discuss@lists.starlingx.io">starlingx-discuss@lists.starlingx.io</a>><br>
<b>Subject: </b>Questions about patch 87a8c625 upstreaming</span><o:p></o:p></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="MsoNormal" style="margin-left:-18.0pt;mso-list:l0 level1 lfo4"><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="MsoNormal" style="margin-left:-18.0pt;mso-list:l0 level1 lfo4"><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="MsoNormal" style="margin-left:-18.0pt;mso-list:l0 level1 lfo4"><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="MsoNormal" style="margin-left:-18.0pt;mso-list:l0 level1 lfo4"><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>