<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 12, 2016 at 9:17 PM, Hongbin Lu <span dir="ltr"><<a href="mailto:hongbin034@gmail.com" target="_blank">hongbin034@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Ivan,<div><br></div><div>Thanks for the proposal. From Magnum's point of view, this proposal doesn't seem to require to store neutron/rabbitmq credentials in tenant VMs which is more desirable. I am looking forward to the PoC.</div></div></blockquote><div><br></div><div>Hogbin, Can you please elaborate on this will not require to store neutron credentials? </div><div>For example in libnetwork case, neutron's commands like "show_port" and "update_port" will still need to be invoked from inside VM.<br></div><div><br></div><div>Overall I liked this approach given its simplicity over vlan-aware-vms.</div><div><br></div><div>-VikasC </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Best regards,</div><div>Hongbin</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Mon, Sep 12, 2016 at 7:29 AM, Coughlan, Ivan <span dir="ltr"><<a href="mailto:ivan.coughlan@intel.com" target="_blank">ivan.coughlan@intel.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">





<div lang="EN-IE" link="#0563C1" vlink="#954F72">
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>Overview<u></u><u></u></b></p>
<p class="MsoNormal">Kuryr proposes to address the issues of double encapsulation and exposure of containers as neutron entities when containers are running within VMs.<u></u><u></u></p>
<p class="MsoNormal">As an alternative to the vlan-aware-vms and use of ovs within the VM, we propose to:<u></u><u></u></p>
<p><u></u><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span><u></u>Use allowed-address-pairs configuration for the VM neutron port<u></u><u></u></p>
<p><u></u><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span><u></u>Use IPVLAN for wiring the Containers within VM<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">In this way:<u></u><u></u></p>
<p><u></u><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span><u></u>Achieve efficient data path to container within VM<u></u><u></u></p>
<p><u></u><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span><u></u>Better leverage OpenStack EPA(Enhanced Platform Awareness) features to accelerate the data path (more details below)<u></u><u></u></p>
<p><u></u><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span><u></u>Mitigate the risk of vlan-aware-vms not making neutron in time<u></u><u></u></p>
<p><u></u><span>-<span style="font:7.0pt "Times New Roman"">         
</span></span><u></u>Provide a solution that works on existing and previous openstack releases<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">This work should be done in a way permitting the user to optionally select this feature.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<h2><b><span lang="EN-US" style="font-size:11.0pt;line-height:105%;font-family:"Calibri",sans-serif;color:windowtext">Required Changes<u></u><u></u></span></b></h2>
<p class="MsoNormal">The four main changes we have identified in the current kuryr codebase are as follows:<u></u><u></u></p>
<p style="margin-right:0cm;margin-bottom:8.0pt;margin-left:18.0pt;line-height:105%">
<u></u><span style="font-family:Symbol"><span>·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><u></u>Introduce an option of enabling “IPVLAN in VM” use case. This can be achieved by using a config file option or possibly passing a command line argument. The IPVLAN master interface must also be identified.<u></u><u></u></p>
<p style="margin-right:0cm;margin-bottom:8.0pt;margin-left:18.0pt;line-height:105%">
<u></u><span style="font-family:Symbol"><span>·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><u></u>If using “IPVLAN in VM” use case, Kuryr should no longer create a new port in Neutron or the associated VEth pairs. Instead, Kuryr will create a new IPVLAN slave interface on top of the VM’s master interface and pass this slave
 interface to the Container netns.<u></u><u></u></p>
<p style="margin-right:0cm;margin-bottom:8.0pt;margin-left:18.0pt;line-height:105%">
<u></u><span style="font-family:Symbol"><span>·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><u></u>If using “IPVLAN in VM” use case, the VM’s port ID needs to be identified so we can associate the additional IPVLAN addresses with the port. This can be achieved by querying Neutron’s show-port function and passing the VMs IP
 address.<u></u><u></u></p>
<p style="margin-right:0cm;margin-bottom:8.0pt;margin-left:18.0pt;line-height:105%">
<u></u><span style="font-family:Symbol"><span>·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><u></u>If using “IPVLAN in VM” use case, Kuryr should associate the additional IPVLAN addresses with the VMs port. This can be achieved using Neutron’s
<span style="font-family:"Courier New"">allowed-address-pairs</span> flag in the <span style="font-family:"Courier New"">
port-update</span> function. We intend to make use of Kuryr’s existing IPAM functionality to request these IPs from Neutron.<u></u><u></u></p>
<p class="MsoNormal"><b><u></u> <u></u></b></p>
<p class="MsoNormal"><b>Asks<u></u><u></u></b></p>
<p class="MsoNormal">We wish to discuss the pros and cons.<u></u><u></u></p>
<p class="MsoNormal">For example, containers exposure as proper neutron entities and the utility of neutron’s allowed-address-pairs is not yet well understood.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">We also wish to understand if this approach is acceptable for kuryr?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>EPA<u></u><u></u></b></p>
<p class="MsoNormal"><span style="color:#252525;background:white">The Enhanced Platform Awareness initiative is a continuous program to enable fine-tuning of the platform for virtualized network functions.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#252525;background:white">This is done by exposing the processor and platform capabilities through the management and orchestration layers.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#252525;background:white">When a virtual network function is instantiated by an Enhanced Platform Awareness enabled orchestrator, the application requirements can be more efficiently matched with the platform capabilities.</span><u></u><u></u></p>
<p class="MsoNormal"><a href="http://itpeernetwork.intel.com/openstack-kilo-release-is-shaping-up-to-be-a-milestone-for-enhanced-platform-awareness/" target="_blank">http://itpeernetwork.intel.com<wbr>/openstack-kilo-release-is-sha<wbr>ping-up-to-be-a-milestone-for-<wbr>enhanced-platform-awareness/</a><u></u><u></u></p>
<p class="MsoNormal"><a href="https://networkbuilders.intel.com/docs/OpenStack_EPA.pdf" target="_blank">https://networkbuilders.intel.<wbr>com/docs/OpenStack_EPA.pdf</a><u></u><u></u></p>
<p class="MsoNormal"><a href="https://www.brighttalk.com/webcast/12229/181563/epa-features-in-openstack-kilo" target="_blank">https://www.brighttalk.com/web<wbr>cast/12229/181563/epa-features<wbr>-in-openstack-kilo</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Regards,<u></u><u></u></p>
<p class="MsoNormal">Ivan….<u></u><u></u></p>
</div>
<p>------------------------------<wbr>------------------------------<wbr>--<br>
Intel Research and Development Ireland Limited<br>
Registered in Ireland<br>
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare<br>
Registered Number: 308263</p>


<p>This e-mail and any attachments may contain confidential material for the
sole use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.</p>

<p></p>
</div>

<br></div></div><span class="">______________________________<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.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><br>
<br></span></blockquote></div><br></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></div>