<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Mar 4, 2014 at 7:34 AM, Kyle Mestery <span dir="ltr"><<a href="mailto:mestery@noironetworks.com" target="_blank">mestery@noironetworks.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div><div class="h5">On Tue, Mar 4, 2014 at 5:46 AM, Sean Dague <span dir="ltr"><<a href="mailto:sean@dague.net" target="_blank">sean@dague.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div>On 03/03/2014 11:32 PM, Dean Troyer wrote:<br>
> On Mon, Mar 3, 2014 at 8:36 PM, Kyle Mestery <<a href="mailto:mestery@noironetworks.com" target="_blank">mestery@noironetworks.com</a><br>
</div><div><div>> <mailto:<a href="mailto:mestery@noironetworks.com" target="_blank">mestery@noironetworks.com</a>>> wrote:<br>
><br>
>     In all cases today with Open Source plugins, Neutron agents have run<br>
>     on the hosts. For OpenDaylight, this is not the case. OpenDaylight<br>
>     integrates with Neutron as a ML2 MechanismDriver. But it has no<br>
>     Neutron code on the compute hosts. OpenDaylight itself communicates<br>
>     directly to those compute hosts to program Open vSwitch.<br>
><br>
><br>
><br>
>     devstack doesn't provide a way for me to express this today. On the<br>
>     compute hosts in the above scenario, there is no "q-*" services<br>
>     enabled, so the "is_neutron_enabled" function returns 1, meaning no<br>
>     neutron.<br>
><br>
><br>
> True and working as designed.<br>
><br>
><br>
>     And then devstack sets Nova up to use nova-networking, which fails.<br>
><br>
><br>
> This only happens if you have enabled nova-network.  Since it is on by<br>
> default you must disable it.<br>
><br>
><br>
>     The patch I have submitted [1] modifies "is_neutron_enabled" to<br>
>     check for the meta neutron service being enabled, which will then<br>
>     configure nova to use Neutron instead of nova-networking on the<br>
>     hosts. If this sounds wonky and incorrect, I'm open to suggestions<br>
>     on how to make this happen.<br>
><br>
><br>
> From the review:<br>
><br>
> is_neutron_enabled() is doing exactly what it is expected to do, return<br>
> success if it finds any "q-*" service listed in ENABLED_SERVICES. If no<br>
> neutron services are configured on a compute host, then this must not<br>
> say they are.<br>
><br>
> Putting 'neutron' in ENABLED_SERVICES does nothing and should do nothing.<br>
><br>
> Since you are not implementing the ODS as a Neutron plugin (as far as<br>
> DevStack is concerned) you should then treat it as a system service and<br>
> configure it that way, adding 'opendaylight' to ENABLED_SERVICES<br>
> whenever you want something to know it is being used.<br>
><br>
><br>
><br>
>     Note: I have another patch [2] which enables an OpenDaylight<br>
>     service, including configuration of OVS on hosts. But I cannot check<br>
>     if the "opendaylight" service is enabled, because this will only run<br>
>     on a single node, and again, not on each compute host.<br>
><br>
><br>
> I don't understand this conclusion. in multi-node each node gets its own<br>
> specific ENABLED_SERVICES list, you can check that on each node to<br>
> determine how to configure that node.  That is what I'm trying to<br>
> explain in that last paragraph above, maybe not too clearly.<br>
<br>
</div></div>So in an Open Daylight environment... what's running on the compute host<br>
to coordinate host level networking?<br>
<span><font color="#888888"><br></font></span></blockquote></div></div><div>Nothing. OpenDaylight communicates to each host using OpenFlow and OVSDB</div><div>to manage networking on the host. In fact, this is one huge advantage for the</div>

<div>ODL MechanismDriver in Neutron, because it's one less agent running on the host.</div><div><br></div><div>Thanks,</div><div>Kyle</div><div><br></div></div></div></div></blockquote><div>As an update here, I've reworked my devstack patch [1]  for adding OpenDaylight</div>
<div>support to make OpenDaylight a top-level service, per suggestion from Dean. You</div><div>can now enable both "odl-server" and "odl-compute" in your local.conf with my patch.</div><div>Enabling "odl-server" will run OpenDaylight under devstack. Enabling "odl-compute"</div>
<div>will configure the host's OVS to work with OpenDaylight.</div><div><br></div><div>Per discussion with Sean, I'd like to look at refactoring some other bits of the Neutron</div><div>devstack code in the coming weeks as well.</div>
<div><br></div><div>Thanks!</div><div>Kyle</div><div><br></div><div>[1] <a href="https://review.openstack.org/#/c/69774/">https://review.openstack.org/#/c/69774/</a></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="">
<span><font color="#888888">
        -Sean<br>
<br>
--<br>
Sean Dague<br>
Samsung Research America<br>
<a href="mailto:sean@dague.net" target="_blank">sean@dague.net</a> / <a href="mailto:sean.dague@samsung.com" target="_blank">sean.dague@samsung.com</a><br>
<a href="http://dague.net" target="_blank">http://dague.net</a><br>
<br>
</font></span><br></div><div class="">_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">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></div></blockquote></div><br></div></div>
</blockquote></div><br></div></div>