Hi folks,
Just started writing system test plan for OVSDB and I found one issue, one possible improvement and one general question.
1) Lets starts with the issue: with a controller with 2 IP interfaces (like the one we use for system test) connected to mininet OVS switch in passive mode (sudo ovs-vsctl set-manager ptcp:6640), when I add a bridge using:
POST
http://10.125.136.52:8080/controller/nb/v2/networkconfig/bridgedomain/bridge/OVS/MINI1/s3
this one gets configured with the 2 IP addresses of the controller:
Bridge "s3"
Controller "tcp:10.125.136.38:6633"
Controller "tcp:10.125.136.52:6633"
is_connected: true
Port "s3"
Interface "s3"
type: internal
and this generates some instability in the controller (it adds and deletes the switch all the time):
2013-11-24 18:49:17.890 PST [ControllerI/O Thread] INFO o.o.c.p.o.core.internal.Controller - Switch:10.125.136.53:33818 is connected to the Controller
2013-11-24 18:49:17.895 PST [SwitchEvent Thread] INFO o.o.c.p.o.core.internal.Controller - Replacing existing Switch:10.125.136.39:52330 SWID:00:00:aa:e7:9a:2f:71:4b with New Switch:10.125.136.53:33818 SWID:00:00:aa:e7:9a:2f:71:4b
2013-11-24 18:49:17.896 PST [SwitchEvent Thread] INFO o.o.c.p.o.core.internal.Controller - Switch:10.125.136.39:52330 SWID:00:00:aa:e7:9a:2f:71:4b is removed
2013-11-24 18:49:17.900 PST [FRM EventHandler Collector] INFO o.o.c.f.i.ForwardingRulesManager - Cleaning Flow database for Node OF|00:00:aa:e7:9a:2f:71:4b
2013-11-24 18:49:18.890 PST [ControllerI/O Thread] INFO o.o.c.p.o.core.internal.Controller - Switch:10.125.136.39:52332 is connected to the Controller
2013-11-24 18:49:18.895 PST [SwitchEvent Thread] INFO o.o.c.p.o.core.internal.Controller - Replacing existing Switch:10.125.136.53:33818 SWID:00:00:aa:e7:9a:2f:71:4b with New Switch:10.125.136.39:52332 SWID:00:00:aa:e7:9a:2f:71:4b
2013-11-24 18:49:18.898 PST [SwitchEvent Thread] INFO o.o.c.p.o.core.internal.Controller - Switch:10.125.136.53:33818 SWID:00:00:aa:e7:9a:2f:71:4b is removed
2013-11-24 18:49:18.900 PST [FRM EventHandler Collector] INFO o.o.c.f.i.ForwardingRulesManager - Cleaning Flow database for Node OF|00:00:aa:e7:9a:2f:71:4b
2013-11-24 18:49:19.890 PST [ControllerI/O Thread] INFO o.o.c.p.o.core.internal.Controller - Switch:10.125.136.53:33820 is connected to the Controller
2013-11-24 18:49:19.893 PST [SwitchEvent Thread] INFO o.o.c.p.o.core.internal.Controller - Replacing existing Switch:10.125.136.39:52332 SWID:00:00:aa:e7:9a:2f:71:4b with New Switch:10.125.136.53:33820 SWID:00:00:aa:e7:9a:2f:71:4b
2013-11-24 18:49:19.894 PST [SwitchEvent Thread] INFO o.o.c.p.o.core.internal.Controller - Switch:10.125.136.39:52332 SWID:00:00:aa:e7:9a:2f:71:4b is removed
2013-11-24 18:49:19.896 PST [FRM EventHandler Collector] INFO o.o.c.f.i.ForwardingRulesManager - Cleaning Flow database for Node OF|00:00:aa:e7:9a:2f:71:4b
…..
And same behavior is observed when I start mininet with “sudo mn --controller=remote,ip=10.125.136.52 --topo linear,2” and then I make the connection to the OVS switch: both OF switches try to connect to both controller interfaces.
The solution would be to configure only the IP of the controller that is used (by linux routing) to reach the mininet VM? In this example 10.125.136.52.
Also this is not a strange scenario, I think the controller in a normal deployment will have at least 2 interfaces (operation and traffic) so it is good to fix this behavior.
2) The improvement is on the BridgeDomain NB API, if Ilook at the different methods available: I can add (POST) and remove (DELETE) bridge and ports configuration, but I do not see any method to list (GET) bridge/configuration. It would
be nice to get a view of the bridge/port configuration from the controller NB.