> This adds a test for this invariant for a specific test case, which is > useful. However, I believe that this should be a universal invariant > for ovn-controller, so that at any time if ovn-controller is restarted > gracefully after it has converged, it should preserve these flows. Is > that true? If so, then it would be more useful to add such a check to > *every* test case for OVN. > > What do you think? > > Thanks, > > Ben.
I am finding that, after a graceful exit of ovn-controller using "ovs-appctl -t ovn-controller exit", and then a restart of the ovn-controller, the flows before restart and after restart dont match on table 0 in 1 out of 2 runs (or 1 out of 3 runs). This is because, localnet ports in the test are being deleted and recreated in such failing runs - and therefore, their ofports are mismatching in the flow-table (before and after restart). Localnet ports are being deleted and recreated in the failing runs because, ovn-controller is cleaning up the chassis row during graceful exit, and upon startup there still seems to be a race between patch_run and binding_run when the chassis does not exist, I am still chasing this down. Thats why the test as currently coded is killing the ovn-controller ungracefully (kill -9) and restarting it. As such the restart test and expected invariance of flows seems useful. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev