<html><body>
<p><font size="2" face="sans-serif">I don't think another extension is needed. Beyond the CLI, very limited changes (additions) in the model/db such as those I suggested in [1] can be helpful and will minimize the changes needed on the client side.</font><br>
<br>
<font size="2" face="sans-serif">Best,</font><br>
<br>
<font size="2" face="sans-serif">Mohammad</font><br>
<br>
<font size="2" face="sans-serif">[1] </font><a href="https://review.openstack.org/#/c/103755/"><font size="2" face="sans-serif">https://review.openstack.org/#/c/103755/</font></a><font size="2" face="sans-serif"> (Patch Set 3)</font><br>
<br>
<img width="16" height="16" src="cid:1__=0ABBF7B5DFAD61A58f9e8a93df938@us.ibm.com" border="0" alt="Inactive hide details for Kevin Benton ---07/31/2014 03:01:25 AM---I agree. Ryan, can you propose a patch based off of the exis"><font size="2" color="#424282" face="sans-serif">Kevin Benton ---07/31/2014 03:01:25 AM---I agree. Ryan, can you propose a patch based off of the existing group policy work so we can get an</font><br>
<br>
<font size="1" color="#5F5F5F" face="sans-serif">From:      </font><font size="1" face="sans-serif">Kevin Benton <blak111@gmail.com></font><br>
<font size="1" color="#5F5F5F" face="sans-serif">To:        </font><font size="1" face="sans-serif">"OpenStack Development Mailing List (not for usage questions)" <openstack-dev@lists.openstack.org></font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Date:      </font><font size="1" face="sans-serif">07/31/2014 03:01 AM</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Subject:   </font><font size="1" face="sans-serif">Re: [openstack-dev] [neutron][policy] Bridging the 2-group gap in group policy</font><br>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<font size="3" face="serif">I agree. Ryan, can you propose a patch based off of the existing group policy work so we can get an idea of what changes are required to implement this level of abstraction? </font>
<p><font size="3" face="serif">It sounds like this is work that can be built entirely on top of the existing abstractions and APIs offered by the current GBP work. If that's the case, it could be contained in the CLI or possibly introduced in another extension if it requires too much complexity in the client. </font>
<p><font size="3" face="serif">Cheers, <br>
--<br>
Kevin Benton </font>
<p><font size="3" face="serif">On Jul 30, 2014 12:25 PM, "Mandeep Dhami" <</font><a href="mailto:dhami@noironetworks.com"><font size="3" color="#0000FF" face="serif"><u>dhami@noironetworks.com</u></font></a><font size="3" face="serif">> wrote:</font>
<ul style="padding-left: 9pt"><font size="2" face="serif">Hi Ryan:</font><br>
<br>
<font size="2" face="serif">As I stated in the patch review, the suggestion to use a "profiled API" like IETF/CCITT is indeed very interesting. As a "profiled API" has not been tried with any neutron model before, and as there is no existing design pattern/best practices for how best to structure that, my recommendation is to create a new patch (dependent on this patch) to try that experiment.</font><br>
<br>
<font size="2" face="serif">That patch will also clarify what is meant you mean by a "profiled API" and how that might interact with other openstack services like Heat and Horizon.</font><br>
<br>
<font size="2" face="serif">Regards,</font><br>
<font size="2" face="serif">Mandeep</font><br>
<font size="2" face="serif">-----</font><br>
<br>
<font size="3" face="serif"><br>
</font><br>
<font size="3" face="serif">On Wed, Jul 30, 2014 at 11:13 AM, Hemanth Ravi <</font><a href="mailto:hemanthraviml@gmail.com" target="_blank"><font size="3" color="#0000FF" face="serif"><u>hemanthraviml@gmail.com</u></font></a><font size="3" face="serif">> wrote:</font>
<ul style="padding-left: 9pt"><font size="3" face="serif">Hi,</font><br>
<br>
<font size="3" face="serif">Adding this CLI command seems to be a good way to provide support for the second model. This can be submitted as a new review patch to work through the approaches to implement this. I suggest the current CLI patch [1] be reviewed for the existing spec and completed.</font><br>
<br>
<font size="3" face="serif">Ryan, would it possible for you to start a new review submit for the new command(s). Could you also provide any references for "profiled" API in IETF, CCITT.</font><br>
<br>
<font size="3" face="serif">Thanks,</font><br>
<font size="3" face="serif">-hemanth</font><br>
<br>
<font size="3" face="serif">[1] </font><a href="https://review.openstack.org/#/c/104013" target="_blank"><font size="3" color="#0000FF" face="serif"><u>https://review.openstack.org/#/c/104013</u></font></a><br>
<font size="3" face="serif"><br>
</font><br>
<font size="3" face="serif">On Tue, Jul 29, 2014 at 3:16 PM, Ryan Moats <</font><a href="mailto:rmoats@us.ibm.com" target="_blank"><font size="3" color="#0000FF" face="serif"><u>rmoats@us.ibm.com</u></font></a><font size="3" face="serif">> wrote:</font>
<ul style="padding-left: 9pt"><font size="3" face="sans-serif">As promised in Monday's Neutron IRC minutes [1], this mail is a "trip down memory lane" looking at the history of the<br>
Neutron GP project..  The original GP google doc [2] included specifying policy via both a produce/consume 1-group<br>
approach and as a link between two groups.  There was an email thread [3] that discussed the relationship between<br>
these models early on, but that discussion petered out and during a later IRC meeting [4] the concept of contracts<br>
were added, but without changing the basic use case requirements from the original document.  A followup meeting [5]<br>
began the discussion of how to express the original model from the contract data model but that discussion doesn't<br>
appear to have been completed either.  The PoC in Atlanta raised a set of issues [6],[7] around the complexity of the<br>
resulting PoC code.</font><font size="3" face="serif"><br>
</font><font size="3" face="sans-serif"><br>
The good news is that having looked through the proposed GP code commits (links to which can be found at [8) I<br>
believe that folks that want to be able to specify policies via the 2-group approach (and yes, I'm one of them) can have<br>
that without changing the model encoded in those commits. Rather, it can be done via the WiP CLI code commit by<br>
providing a "profiled" API - this is a technique used by the IETF, CCITT, etc. to allow a rich API to be consumed in<br>
common ways.  In this case, what I'm envisioning is something like</font><font size="3" face="serif"><br>
</font><font size="3" face="sans-serif"><br>
neutron policy-apply [policy rule] [src group] [destination group]</font><font size="3" face="serif"><br>
</font><font size="3" face="sans-serif"><br>
in this case, the CLI would perform the contract creation for the policy rule, and assigning the proper produce/consume<br>
edits to the specified source and destination groups.  Note:  this is in addition to the CLI providing direct access to the<br>
underlying data model.  I believe that this is the simplest way to "bridge the gap" and provide support to folks who want<br>
to specify policy as something between two groups.</font><font size="3" face="serif"><br>
</font><font size="3" face="sans-serif"><br>
Ryan Moats (regXboi)</font><font size="3" face="serif"><br>
</font><font size="3" face="sans-serif"><br>
References:<br>
[1] </font><a href="http://eavesdrop.openstack.org/meetings/networking/2014/networking.2014-07-28-21.02.log.txt" target="_blank"><font size="3" color="#0000FF" face="sans-serif"><u>http://eavesdrop.openstack.org/meetings/networking/2014/networking.2014-07-28-21.02.log.txt</u></font></a><font size="3" face="sans-serif"><br>
[2] </font><a href="https://docs.google.com/document/d/1ZbOFxAoibZbJmDWx1oOrOsDcov6Cuom5aaBIrupCD9E/edit#" target="_blank"><font size="3" color="#0000FF" face="sans-serif"><u>https://docs.google.com/document/d/1ZbOFxAoibZbJmDWx1oOrOsDcov6Cuom5aaBIrupCD9E/edit#</u></font></a><font size="3" face="sans-serif"><br>
[3] </font><a href="http://lists.openstack.org/pipermail/openstack-dev/2013-December/022150.html" target="_blank"><font size="3" color="#0000FF" face="sans-serif"><u>http://lists.openstack.org/pipermail/openstack-dev/2013-December/022150.html</u></font></a><font size="3" face="sans-serif"><br>
[4] </font><a href="http://eavesdrop.openstack.org/meetings/networking_policy/2014/networking_policy.2014-02-27-19.00.log.html" target="_blank"><font size="3" color="#0000FF" face="sans-serif"><u>http://eavesdrop.openstack.org/meetings/networking_policy/2014/networking_policy.2014-02-27-19.00.log.html</u></font></a><font size="3" face="sans-serif"><br>
[5] </font><a href="http://eavesdrop.openstack.org/meetings/networking_policy/2014/networking_policy.2014-03-20-19.00.log.html" target="_blank"><font size="3" color="#0000FF" face="sans-serif"><u>http://eavesdrop.openstack.org/meetings/networking_policy/2014/networking_policy.2014-03-20-19.00.log.html</u></font></a><font size="3" face="sans-serif"><br>
[6] </font><a href="http://lists.openstack.org/pipermail/openstack-dev/2014-May/035661.html" target="_blank"><font size="3" color="#0000FF" face="sans-serif"><u>http://lists.openstack.org/pipermail/openstack-dev/2014-May/035661.html</u></font></a><font size="3" face="sans-serif"><br>
[7] </font><a href="http://eavesdrop.openstack.org/meetings/networking_policy/2014/networking_policy.2014-05-22-18.01.log.html" target="_blank"><font size="3" color="#0000FF" face="sans-serif"><u>http://eavesdrop.openstack.org/meetings/networking_policy/2014/networking_policy.2014-05-22-18.01.log.html</u></font></a><font size="3" face="sans-serif"><br>
[8] </font><a href="https://wiki.openstack.org/wiki/Meetings/Neutron_Group_Policy" target="_blank"><font size="3" color="#0000FF" face="sans-serif"><u>https://wiki.openstack.org/wiki/Meetings/Neutron_Group_Policy</u></font></a><br>
<br>
<font size="3" face="serif">_______________________________________________<br>
OpenStack-dev mailing list</font><font size="3" color="#0000FF" face="serif"><u><br>
</u></font><a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank"><font size="3" color="#0000FF" face="serif"><u>OpenStack-dev@lists.openstack.org</u></font></a><font size="3" color="#0000FF" face="serif"><u><br>
</u></font><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank"><font size="3" color="#0000FF" face="serif"><u>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</u></font></a><font size="3" face="serif"><br>
</font></ul>
<br>
<font size="3" face="serif"><br>
_______________________________________________<br>
OpenStack-dev mailing list</font><font size="3" color="#0000FF" face="serif"><u><br>
</u></font><a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank"><font size="3" color="#0000FF" face="serif"><u>OpenStack-dev@lists.openstack.org</u></font></a><font size="3" color="#0000FF" face="serif"><u><br>
</u></font><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank"><font size="3" color="#0000FF" face="serif"><u>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</u></font></a><font size="3" face="serif"><br>
</font></ul>
<br>
<font size="3" face="serif"><br>
_______________________________________________<br>
OpenStack-dev mailing list</font><font size="3" color="#0000FF" face="serif"><u><br>
</u></font><a href="mailto:OpenStack-dev@lists.openstack.org"><font size="3" color="#0000FF" face="serif"><u>OpenStack-dev@lists.openstack.org</u></font></a><font size="3" color="#0000FF" face="serif"><u><br>
</u></font><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank"><font size="3" color="#0000FF" face="serif"><u>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</u></font></a><font size="3" face="serif"><br>
</font><tt><font size="2">_______________________________________________<br>
OpenStack-dev mailing list<br>
OpenStack-dev@lists.openstack.org<br>
</font></tt><tt><font size="2"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></font></tt><tt><font size="2"><br>
</font></tt><br>
</ul>
</body></html>