[ovs-discuss] controller's role mismatch?

Ben Pfaff blp at ovn.org
Mon May 2 21:13:41 UTC 2016


On Fri, Apr 22, 2016 at 09:32:26AM +0000, Peter Gubka -X (pgubka - PANTHEON TECHNOLOGIES at Cisco) wrote:
> Hello,
> 
> I had to use 2 switches/bridges to reproduce the problem. Logs in attachments.
> 
> Just for the time orientation:
> Enabling 2 masters for 2 switches (controller firstly sent slave automatically, and when it finds out that it is the first connection from that device, it sends master then)

Thanks for the logs.  Here is my interpretation.

First, 14 makes itself master:

vconn|DBG|tcp:10.25.2.14:6653: received: OFPT_ROLE_REQUEST (OF1.3) (xid=0x3): role=master generation_id=1
vconn|DBG|tcp:10.25.2.14:6653: sent (Success): OFPT_ROLE_REPLY (OF1.3) (xid=0x3): role=master generation_id=1
vconn|DBG|tcp:10.25.2.13:6653: received: OFPT_ROLE_REQUEST (OF1.3) (xid=0x3): role=nochange
vconn|DBG|tcp:10.25.2.13:6653: sent (Success): OFPT_ROLE_REPLY (OF1.3) (xid=0x3): role=slave generation_id=0

Then 13 makes itself master:

vconn|DBG|tcp:10.25.2.13:6653: received: OFPT_ROLE_REQUEST (OF1.3) (xid=0x4): role=master generation_id=1
vconn|DBG|tcp:10.25.2.13:6653: sent (Success): OFPT_ROLE_REPLY (OF1.3) (xid=0x4): role=master generation_id=1
rconn|INFO|s1<->tcp:10.25.2.12:6653: connected
vconn|DBG|tcp:10.25.2.12:6653: received: OFPT_ROLE_REQUEST (OF1.3) (xid=0x0): role=nochange
vconn|DBG|tcp:10.25.2.12:6653: sent (Success): OFPT_ROLE_REPLY (OF1.3) (xid=0x0): role=equal generation_id=1
vconn|DBG|tcp:10.25.2.12:6653: received: OFPT_ROLE_REQUEST (OF1.3) (xid=0x1): role=slave generation_id=2
vconn|DBG|tcp:10.25.2.12:6653: sent (Success): OFPT_ROLE_REPLY (OF1.3) (xid=0x1): role=slave generation_id=2

Then 13 drops the connection and reconnects.  Therefore it's initially
"equal" and there's no master:

rconn|INFO|s1<->tcp:10.25.2.13:6653: connected
vconn|DBG|tcp:10.25.2.13:6653: received: OFPT_ROLE_REQUEST (OF1.3) (xid=0x0): role=nochange
vconn|DBG|tcp:10.25.2.13:6653: sent (Success): OFPT_ROLE_REPLY (OF1.3) (xid=0x0): role=equal generation_id=2

Then 13 requests that it become a "slave" and there's still no master:

vconn|DBG|tcp:10.25.2.13:6653: received: OFPT_ROLE_REQUEST (OF1.3) (xid=0x1): role=slave generation_id=3
vconn|DBG|tcp:10.25.2.13:6653: sent (Success): OFPT_ROLE_REPLY (OF1.3) (xid=0x1): role=slave generation_id=3

And no controller ever after in the logs asks to become master, so
there's never any master.



More information about the discuss mailing list