<div dir="ltr">vif_details has always been a bag of goodies for mech drivers to pack in information relevant to wiring up the vif_type. This sounds like a pretty standard addition so I don't see any blockers.</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 20, 2017 at 9:16 AM, Alonso Hernandez, Rodolfo <span dir="ltr"><<a href="mailto:rodolfo.alonso.hernandez@intel.com" target="_blank">rodolfo.alonso.hernandez@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div class="m_4770714152531508547WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Hello fellows:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Currently there is a bug in os-vif [<a href="https://bugs.launchpad.net/os-vif/+bug/1632372" target="_blank">1</a>]. When os-vif tries to plug an OVS interface, the datapath
 type is hardcoded:<u></u><u></u></span></p>
<p class="m_4770714152531508547MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><a href="https://github.com/openstack/os-vif/blob/9fb7fe512902a37432e38d884b8be59ce91582db/vif_plug_ovs/ovs.py#L100-L101" target="_blank">https://github.com/openstack/<wbr>os-vif/blob/<wbr>9fb7fe512902a37432e38d884b8be5<wbr>9ce91582db/vif_plug_ovs/ovs.<wbr>py#L100-L101</a><u></u><u></u></span></p>
<p class="m_4770714152531508547MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><a href="https://github.com/openstack/os-vif/blob/9fb7fe512902a37432e38d884b8be59ce91582db/vif_plug_ovs/ovs.py#L127-L128" target="_blank">https://github.com/openstack/<wbr>os-vif/blob/<wbr>9fb7fe512902a37432e38d884b8be5<wbr>9ce91582db/vif_plug_ovs/ovs.<wbr>py#L127-L128</a><u></u><u></u></span></p>
<p class="m_4770714152531508547MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><a href="https://github.com/openstack/os-vif/blob/9fb7fe512902a37432e38d884b8be59ce91582db/vif_plug_ovs/ovs.py#L135-L136" target="_blank">https://github.com/openstack/<wbr>os-vif/blob/<wbr>9fb7fe512902a37432e38d884b8be5<wbr>9ce91582db/vif_plug_ovs/ovs.<wbr>py#L135-L136</a><u></u><u></u></span></p>
<p class="m_4770714152531508547MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><a href="https://github.com/openstack/os-vif/blob/9fb7fe512902a37432e38d884b8be59ce91582db/vif_plug_ovs/ovs.py#L149-L150" target="_blank">https://github.com/openstack/<wbr>os-vif/blob/<wbr>9fb7fe512902a37432e38d884b8be5<wbr>9ce91582db/vif_plug_ovs/ovs.<wbr>py#L149-L150</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">The problem is os-vif doesn’t have this information now. I’m proposing the following solution:<u></u><u></u></span></p>
<p class="m_4770714152531508547MsoListParagraph"><u></u><span lang="ES-TRAD" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span></span><u></u><span lang="ES-TRAD" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Nova:
<a href="https://review.openstack.org/#/c/474892/" target="_blank">https://review.openstack.org/#<wbr>/c/474892/</a><u></u><u></u></span></p>
<p class="m_4770714152531508547MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Neutron:
<a href="https://review.openstack.org/#/c/474588/" target="_blank">https://review.openstack.org/#<wbr>/c/474588/</a><u></u><u></u></span></p>
<p class="m_4770714152531508547MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Neutron-lib:
<a href="https://review.openstack.org/#/c/474248/" target="_blank">https://review.openstack.org/#<wbr>/c/474248/</a><u></u><u></u></span></p>
<p class="m_4770714152531508547MsoListParagraph"><u></u><span lang="ES-TRAD" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span></span><u></u><span lang="ES-TRAD" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">os-vif:
<a href="https://review.openstack.org/#/c/474914/" target="_blank">https://review.openstack.org/#<wbr>/c/474914/</a><u></u><u></u></span></p>
<p class="MsoNormal"><u><span lang="ES-TRAD" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u><span style="text-decoration:none"> </span><u></u></span></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Neutron will add to VIF details the datapath type to the vif details dict. If this information is not given in the config file, the default parameter written
 will be OVS_DATAPATH_SYSTEM, which is the default value. The change in neutron-lib is needed for Neutron to keep the same dict key name (matching the name set in nova.network.model)<u></u><u></u></span></p>
<p class="m_4770714152531508547MsoListParagraph" style="margin-left:0cm">
<u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>1)<span style="font:7.0pt "Times New Roman"">     
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="m_4770714152531508547MsoListParagraph" style="margin-left:0cm">
<u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>2)<span style="font:7.0pt "Times New Roman"">     
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Nova will receive this information (if given in the dict), getting the value stored in vif['details']. If the key is not set, the default datapath will
 be None. Because currently no information is passed and Nova doesn’t know about the different datapath types (this information is in Neutron), it makes sense not to assign any value. Nova is protected in case the dict doesn't have this information.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Finally, os-vif will receive the VIF information given by Nova. If the datapath_type is not given in the variable (dict) or the value is None, the default value
 (OVS_DATAPATH_SYSTEM) will be set.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">As you can see, it's indeed an API change, but the projects affected are protected in case the information expected in the variable passed is not present.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">What do you think?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Thank you in advance.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">[1]
<a href="https://bugs.launchpad.net/os-vif/+bug/1632372" target="_blank">https://bugs.launchpad.net/os-<wbr>vif/+bug/1632372</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
</div>
</div>

<br>______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
<br></blockquote></div><br></div>