<div dir="ltr">Hello Ironic'ers!<div><br></div><div>We've recorded a demo that shows how static portgroup works at the moment:</div><div><br></div><div>Flat network scenario: <a href="https://youtu.be/vBlH0ie6Lm4" target="_blank">https://youtu.be/vBlH0ie6Lm4</a><br></div><div>Multitenant network scenario: <a href="https://youtu.be/Kk5Cc_K1tV8" target="_blank">https://youtu.be/Kk5Cc_K1tV8</a><br><br></div><div>Sincerely,<br></div><div>Vasyl Saienko<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 19, 2016 at 3:30 PM, Vasyl Saienko <span dir="ltr"><<a href="mailto:vsaienko@mirantis.com" target="_blank">vsaienko@mirantis.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"><div><div><div>Hello Community,<br><br></div><div>Current portgroup scenario is not fully clear for me. The related spec [3] doesn't clearly describe it. And based on implementation [1] and [2] I guess it should work in the following fashion for node with 3 NICs, where eth1 and eth2 are members of Porgroup Po0/1</div><div><br><div>Node network connection info:<br></div>eth1 (aa:bb:cc:dd:ee:f1) <---> Gig0/1<br>eth2 (aa:bb:cc:dd:ee:f2) <---> Gig0/2<br>eth3 (aa:bb:cc:dd:ee:f3) <---> Gig0/3<br> <br></div><div></div><div>For FLAT network scenario:<br></div><div>1. Administrator enrol ironic node.<br></div><div>2. Administrator creates a 3 ports for each interface, and a portgroup that contains eth0 and eth1 ports. <br></div><div>3. The ports Gig0/1 and Gig0/2 are added to portgroup Po0/1 manually on the switch.<br></div>4. When user request to boot an instance, Nova randomly picks interface [2], it might be a portgroup or single NIC interface. Proposed change [1] do not allow to specify what exactly network type we would like to use single NIC or portgroup.<br><br></div><div>For multitenancy case:<br></div><div>All looks the same, in addition administrator adds local_link_connection information for each port (local_link_connection 'port_id' field is 'Gig0/1' for eth1, 'Gig0/2' for eth2 and 'Gig0/3' for eth3, ). Ironic send this information to Neutron who plugs ports to needed network.<br></div><div><br></div><div>The same user-scenario is available at the moment without any changes to Nova or Ironic. The difference is that administrator creates one port for single interface eth3 with local_link_connection 'port_id'='Gig0/3',  and a 
port that is a logical representation of portgroup (eth1 and eth2) with local_link_connection 'port_id'='Po0/1'.  <br></div><div><br></div><div>Please let me know if I've missed something or misunderstood current portgroup scenario. <br></div><div><br></div>Reference:<br>[0] <a href="https://review.openstack.org/206163" target="_blank">https://review.openstack.org/<wbr>206163</a><br>[1] <a href="https://review.openstack.org/332177" target="_blank">https://review.openstack.org/<wbr>332177</a><br>[2] <a href="https://github.com/openstack/nova/blob/06c537fbe5bb4ac5a3012642c899df815872267c/nova/network/neutronv2/api.py#L270" target="_blank">https://github.com/openstack/<wbr>nova/blob/<wbr>06c537fbe5bb4ac5a3012642c899df<wbr>815872267c/nova/network/<wbr>neutronv2/api.py#L270</a><br>[3] <a href="https://specs.openstack.org/openstack/ironic-specs/specs/not-implemented/ironic-ml2-integration.html" target="_blank">https://specs.openstack.org/<wbr>openstack/ironic-specs/specs/<wbr>not-implemented/ironic-ml2-<wbr>integration.html</a><br></div></div>
</blockquote></div><br></div>