Folks,<div><br></div><div>Currently there is work going on (in the scope of LBaaS initiative) on changing quantum infrastructure so that it loads several plugins. </div><div>L3 plugin should fit in that new architecture with a fairly small amount of changes.</div>
<div><br></div><div>Thanks,</div><div>Eugene.<br><br><div class="gmail_quote">On Thu, Nov 8, 2012 at 6:01 PM, Gary Kotton <span dir="ltr"><<a href="mailto:gkotton@redhat.com" target="_blank">gkotton@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><div class="im">
    On 11/08/2012 03:33 PM, Bob Melander (bmelande) wrote:
    <blockquote type="cite">
      
      <div>In the wake of the recent discussion about service insertion,
        which seems to have landed in a decision to make each type of
        service (like LBaaS, FW, …) a separate plugin, I want to raise
        the issue whether this approach shouldn't also be adopted for L3
        router functionality. This is not the case now, where instead
        the server side is implemented as a L3_NAT_db_mixin class that
        basically each plugin inherits. The actual routing is
        implemented through the separate L3 agent (L3NATagent class)
        that relies on linux namespaces, the kernel IP forwarding
        functionality and IP tables.</div>
      <div><br>
      </div>
      <div>
        <p style="margin:0px;font:12px Helvetica"><font face="Calibri" size="3">My concern
            about this is the following: Suppose one would like to
            replace (or complement) that router implementation with
            something else, e.g., use a separate hardware-based router
            or add additional features like VRRP to the implementation.</font></p>
      </div>
    </blockquote>
    <br></div>
    Yay! VRRP will save endless amount of problems with the HA that we
    have the with the layer 3 agents. It would be great if we could add
    an open source solution and it would be beneficial for OpenStack as
    a whole.<div class="im"><br>
    <br>
    <blockquote type="cite">
      <div>
        <p style="margin:0px;font:12px Helvetica"><font face="Calibri" size="3"> As long as
            the changes can be contained within the l3 agent (while
            honoring the normal interface), it is fairly simple to just
            replace the default one with the extended l3 agent in the
            deployment.</font></p>
      </div>
    </blockquote>
    <br></div>
    Agreed. This is just a matter of implementing the API's and this
    could be done today.<div class="im"><br>
    <br>
    <blockquote type="cite">
      <div>
        <p style="margin:0.0px 0.0px 0.0px 0.0px;font:12.0px Helvetica"><font face="Calibri" size="3"> However, if the desired functionality requires
            changes to the "server side", i.e.,  the L3_NAT_db_mixin
            class, the situation gets much more tricky since the mixin
            is essentially baked into the core plugin. <br>
          </font></p>
      </div>
    </blockquote>
    <br></div>
    I think that we need to discuss this further and see how we can
    provide a generic base to build upon. <br><div class="im">
    <br>
    <blockquote type="cite">
      <div>
        <div><br>
        </div>
      </div>
      <div>
        <p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 12px/normal Helvetica">
          <font face="Calibri" size="3">A way
            around this problem could be to provide the l3 routing
            functionality as a separate plugin, just as there will be
            separate plugins for LBaaS, FW, etc. With L3 routing also as
            a separate plugin, it seems to me it would be simpler to
            provide different such implementations, largely independent
            of (L2) core plugin but also to introduce additional L3
            specific extensions.</font></p>
      </div>
    </blockquote>
    <br></div>
    It is a nice idea. We just need to ensure that we support the
    current l3 functionality. <br>
    <br>
    <blockquote type="cite"><div class="im">
      <div>
        <p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 12px/normal Helvetica">
          <font face="Calibri" size="3"><br>
          </font></p>
        <p style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 12px/normal Helvetica">
          <span style="font-family:Calibri;font-size:medium">What is your view on this?</span></p>
        <div><br>
        </div>
      </div>
      <div>/ Bob</div>
      <br>
      <fieldset></fieldset>
      <br>
      </div><pre>_______________________________________________
OpenStack-dev mailing list
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>