<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:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:"MS Gothic";
        panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
        {font-family:"MS Gothic";
        panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
        {font-family:"MS Gothic";
        panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0mm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        font-size:10.5pt;
        font-family:"Arial",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:"\66F8\5F0F\306A\3057 \(\6587\5B57\)";
        margin:0mm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"MS Gothic";}
span.17
        {mso-style-type:personal;
        font-family:"Arial",sans-serif;
        color:windowtext;}
span.18
        {mso-style-type:personal-reply;
        font-family:"Arial",sans-serif;
        color:#1F497D;}
span.a
        {mso-style-name:"\66F8\5F0F\306A\3057 \(\6587\5B57\)";
        mso-style-priority:99;
        mso-style-link:\66F8\5F0F\306A\3057;
        font-family:"MS Gothic";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:99.25pt 30.0mm 30.0mm 30.0mm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026">
<v:textbox inset="5.85pt,.7pt,5.85pt,.7pt" />
</o:shapedefaults></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=JA link="#0563C1" vlink="#954F72" style='text-justify-trim:punctuation'><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Hi,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Here is my additional thought.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Nova provides "/v2/{tenant_id}/os-services" API[3] which is to block scheduling for a service. Cinder also has "/v1/{tenant_id}/os-services" API[4]. When a service (nova-compute or cinder-volume) is disabled, the service is not selected to accomodate a new VM or volume by scheduler. This provides same concept as "admin_state_up=False" of Neutron. (Nova and Cinder calls a process "service," where Neutron calls it "agent.")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>The "enable_new_services" of Nova or Cinder is a config option included in nova.conf or cinder.conf. The user can't change it through API. (I don't think the user have to change it through API.) The default value is "true" which means it enables services by default. I believe it's good choice as only production environment requires to change it "false" with additional setup cost of each service.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Therefore, I believe adding a config option such as "start_new_agents" (default: "true") to neutron's configuration provides consistent experience to operators to maintain nodes. The "true" value of "start_new_agents" makes the agent status of "admin_state_up" "true" at the addition of agent (this is current behavior). The "false" value makes it "false" for production environment(new).<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p><p class=MsoPlainText><span lang=EN-US>[3] <a href="http://developer.openstack.org/api-ref-compute-v2-ext.html#ext-os-services">http://developer.openstack.org/api-ref-compute-v2-ext.html#ext-os-services</a><o:p></o:p></span></p><p class=MsoPlainText><span lang=EN-US>[4] you can call this one by CLI: "cinder service-enable/service-disable"<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Thanks,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Kazu<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0mm 0mm 0mm'><p class=MsoNormal align=left style='text-align:left'><b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'> Toshikazu Ichikawa [mailto:ichikawa.toshikazu@lab.ntt.co.jp] <br><b>Sent:</b> Thursday, March 05, 2015 10:05 AM<br><b>To:</b> openstack-operators@lists.openstack.org<br><b>Subject:</b> [Openstack-operators] Adding network node (Neutron agents) and test before deploying customer resource<o:p></o:p></span></p></div></div><p class=MsoNormal align=left style='text-align:left'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>Hi,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>I’m looking for the way to test a newly added network node by deploying test resource before any customer resource on the node is deployed. I’ve learned in this ML that Nova and Cinder has the setting of “enable_new_services” in each conf to disable the initial service status to archive this.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>My question is “Is there any function/configuration to do same thing for Neutron?”<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>I know there is on-going bug fix to implement the function to block scheduling for Neutron agent[1].<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>As mentioned here [2], this fix may enable only administrators deploy routers/dhcp-servers for test rather than having customer’s one.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>However, the initial “admin_state_up” status of agent still remains “true” right after the agent or node is added.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>That means it still happens the customer routers/dhcp-servers are deployed the node before changing the status by manual.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>To resolve this, I believe a feature similar to “enable_new_services” of Nova/Cinder should be implemented to Neutron to change initial “admin_state_up” value.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>Do you know any existing function, blueprint or other approach to achieve same goal?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>Or, Is this the feature what you agree to want and should be proposed as a new blueprint? <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>I’d like to have neutron operators comments and suggestions.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>[1] </span><span lang=EN-US><a href="https://bugs.launchpad.net/neutron/+bug/1408488"><span style='font-size:10.0pt'>https://bugs.launchpad.net/neutron/+bug/1408488</span></a></span><span lang=EN-US style='font-size:10.0pt'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>[2] </span><span lang=EN-US><a href="http://lists.openstack.org/pipermail/openstack-dev/2015-January/054007.html"><span style='font-size:10.0pt'>http://lists.openstack.org/pipermail/openstack-dev/2015-January/054007.html</span></a></span><span lang=EN-US style='font-size:10.0pt'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>Thanks,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'>Kazu<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt'><o:p> </o:p></span></p></div></body></html>