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.