-
Task
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
None
-
False
-
-
False
-
rhel-9
-
None
-
rhel-net-ovn
-
-
-
ssg_networking
The tests in OVN use different components (e.g. ovn-northd, ovn-controller, ovs-vswitchd...) or different number of components (e.g. multiple "hypervisors") .... Hence they use different macros to start and stop the tests.
Cleaning up a test and stopping all started components is not completely obvious, and one can easily forget some cleanup. For instance, https://mail.openvswitch.org/pipermail/ovs-dev/2025-December/428375.html reported recently many tests missing proper cleanup.
If cleanup is missing for some processes, such processes are usually killed when exiting the test (preventing impacting other tests). However, not exiting properly and killing a process might skip proper checks.
This task proposes to "automatically" cleanup/stop all processes at the end of the test, so usually w/o the need of any macro (such as OVS_APP_EXIT_AND_WAIT, OVN_CLEANUP, ...) e.g. by writing the cleanup script within start_daemon.
At test cleanup, some tasks are performed such as checking logs for errors, or checking whether openflows generated by I+P are the same as openflows generated by recomputes. Some tests tolerate some errors in logs; other tests tolerate some flow differences. Hence, those tests will still have to call some macro/script at their end specifying which errors/flows are tolerated.
This will simplify test writing and review.