<div dir="ltr"><div>Hi,</div><div><br></div><div>From what I read so far about the Dragonflow project, it implements a distributed SDN controller, ie, there is a controller running in each of the compute nodes managing the openvswitch instance in that node. This is also what currently happens with the openvswitch agent on each node running a Ryu app. Not sure if you misread my previous email, I'd like to remove this distributed style of SDN controllers running in each node, and have a central controller managing every switch. I prefer to have Ryu as my central controller as designing a Ryu app is quite simple. Nevertheless, thanks for mentioning about the dragon flow project. </div><div><br></div><div>Regards,</div><div>Niket<br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Oct 5, 2018 at 5:03 PM Niket Agrawal <<a href="mailto:nickgrwl3@gmail.com">nickgrwl3@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Thank you. I will have a look.</div><div><br></div><div>Regards,</div><div>Niket<br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Oct 5, 2018 at 4:15 PM Miguel Angel Ajo Pelayo <<a href="mailto:majopela@redhat.com" target="_blank">majopela@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">have a look at dragonflow project, may be it's similar to what you're trying to accomplish <br><br><div class="gmail_quote"><div dir="ltr">On Fri, Oct 5, 2018, 1:56 PM Niket Agrawal <<a href="mailto:nickgrwl3@gmail.com" target="_blank">nickgrwl3@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi,</div><div><br></div><div>Thanks for the help. I am trying to run a custom Ryu app from the nova compute node and have all the openvswitches connected to this new controller. However, to be able to run this new app, I have to first stop the existing neutron openvswitch agents in the same node as they run Ryu app (integrated in Openstack) by default. Ryu in Openstack provides basic functionalities like L2 switching but does not support launching a custom app at the same time. </div><div>I'd like to have a single instance of Ryu controller control all the openvswtich instances rather than having openvswitch agents in each node managing the openvswitches separately. For this, I'll probably have to migrate the existing functionality provided by Ryu app to this new app of mine. Could you share some suggestions or are you aware of any previous work done towards this, that I can read about?</div><div><br></div><div>Regards,</div><div>Niket  <br></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Sep 27, 2018 at 9:21 AM Slawomir Kaplonski <<a href="mailto:skaplons@redhat.com" target="_blank">skaplons@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
Code of app is in <a href="https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ovs_ryuapp.py" rel="noreferrer" target="_blank">https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ovs_ryuapp.py</a> and classes for specific bridge types are in <a href="https://github.com/openstack/neutron/tree/master/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native" rel="noreferrer" target="_blank">https://github.com/openstack/neutron/tree/master/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native</a><br>
<br>
> Wiadomość napisana przez Niket Agrawal <<a href="mailto:nickgrwl3@gmail.com" target="_blank">nickgrwl3@gmail.com</a>> w dniu 27.09.2018, o godz. 00:08:<br>
> <br>
> Hi,<br>
> <br>
> Thanks for your reply. Is there a way to access the code that is running in the app to see what is the logic implemented in the app?<br>
> <br>
> Regards,<br>
> Niket<br>
> <br>
> On Wed, Sep 26, 2018 at 10:31 PM Slawomir Kaplonski <<a href="mailto:skaplons@redhat.com" target="_blank">skaplons@redhat.com</a>> wrote:<br>
> Hi,<br>
> <br>
> > Wiadomość napisana przez Niket Agrawal <<a href="mailto:nickgrwl3@gmail.com" target="_blank">nickgrwl3@gmail.com</a>> w dniu 26.09.2018, o godz. 18:11:<br>
> > <br>
> > Hello,<br>
> > <br>
> > I have a question regarding the Ryu integration in Openstack. By default, the openvswitch bridges (br-int, br-tun and br-ex) are registered to a controller running on 127.0.0.1 and port 6633. The output of ovs-vsctl get-manager is ptcp:<a href="http://127.0.0.1:6640" rel="noreferrer" target="_blank">127.0.0.1:6640</a>. This is noticed on the nova compute node. However there is a different instance of the same Ryu controller running on the neutron gateway as well and the three openvswitch bridges (br-int, br-tun and br-ex) are registered to this instance of Ryu controller. If I stop neutron-openvswitch agent on the nova compute node, the bridges there are no longer connected to the controller, but the bridges in the neutron gateway continue to remain connected to the controller. Only when I stop the neutron openvswitch agent in the neutron gateway as well, the bridges there get disconnected. <br>
> > <br>
> > I'm unable to find where in the Openstack code I can access this implementation, because I intend to make a few tweaks to this architecture which is present currently. Also, I'd like to know which app is the Ryu SDN controller running by default at the moment. I feel the information in the code can help me find it too.<br>
> <br>
> Ryu app is started by neutron-openvswitch-agent in: <a href="https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/main.py#L34" rel="noreferrer" target="_blank">https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/main.py#L34</a><br>
> Is it what You are looking for?<br>
> <br>
> > <br>
> > Regards,<br>
> > Niket<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>
> <br>
> — <br>
> Slawek Kaplonski<br>
> Senior software engineer<br>
> Red Hat<br>
> <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>
> __________________________________________________________________________<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>
<br>
— <br>
Slawek Kaplonski<br>
Senior software engineer<br>
Red Hat<br>
<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>
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>
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>
</blockquote></div>