Comment 7 for bug 1928031

Revision history for this message
Bodo Petermann (bpetermann) wrote :

We saw the AttributeErrors "has no attribute 'sb_idl'" too and as pointed out already, wait_for_change doesn't finish.
It calls ovs's idl.run which is supposed to return True if there was a change, but there are cases where it doesn't.
See [1]: in the run() function messages are read in a loop. If there are 2 messages to be read and the first one is a change, but the 2nd one isn't, the final return value will be False, because self.change_seqno is reset to initial_change_seqno (seqno from before the 1st message).

If run() only reads one message per call, it's fine. But if the loop reads multiple, it may not.

[1] https://github.com/openvswitch/ovs/blob/cca40141a8250562156ae8628f5c73de3621303e/python/ovs/db/idl.py#L277