<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 21 July 2016 at 04:56, Bence Romsics <span dir="ltr"><<a href="mailto:bence.romsics@gmail.com" target="_blank">bence.romsics@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
Looking at all the trunk port patches nicely coming along I was<br>
wondering where do we want to see all the subport details in the API?<br>
<br>
In the spec a trunk object does not have a 'sub_ports' attribute:<br>
<br>
<a href="http://specs.openstack.org/openstack/neutron-specs/specs/newton/vlan-aware-vms.html#rest-api-impact" rel="noreferrer" target="_blank">http://specs.openstack.org/openstack/neutron-specs/specs/newton/vlan-aware-vms.html#rest-api-impact</a></blockquote><div><br></div><div>This was added so that you can create trunk with sub_ports at once and avoid two API calls.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
<br>
Instead subports can be added/removed/queried via extra resource actions like:<br></blockquote><div><br></div><div>This is not either/or, you can do both: create a trunk just with a parent port and add sub_ports at a later date, or do both at once.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
PUT /v2.0/trunks/$trunk_id/add_subports<br>
PUT /v2.0/trunks/$trunk_id/remove_subports<br>
GET /v2.0/trunks/$trunk_id/get_subports<br>
<br>
IIRC the reasoning was to give control to the API user if/when he<br>
wants to see the subport details, because that may be huge (for up to<br>
4k subports).<br></blockquote><div><br></div><div>Payloads at scale can be big, have you ever tried to list a network with a gazillion subnets?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
The current patches mostly go the other way, having a sub_ports<br>
attribute on the trunk. Consistent with that<br>
/v2.0/trunks/$trunk_id/get_subports is not implemented.<br>
<br></blockquote><div><br class="">I don't think so, I think the rationale is to make the API less chatty than it needs to be. The spec was particularly lax about this, and it did not prescribe any behavior so I would not state that we went the other way.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
So which way do we want this?</blockquote><div> </div><div>I think the way it is now is what we want.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
If we stick to the currently implemented approach I guess we can drop<br>
the get_subports action, right?<br></blockquote><div><br></div><div>The get_subports may seem redundant, but I'd avoid an overly aggressive optimization at this point. The CLI can nicely show the ports in tabular form when invoked. </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
Cheers,<br>
Bence Romsics<br>
<br>
__________________________________________________________________________<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.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div><br></div></div>