Let's suppose that ovsdb-server is running properly, but ovs-vswitchd
is not responsive/crashed. We try to add a port via ovs-vsctl and it will
hang.
This patch aims at that scenario and tries to make life easier when
debugging hanging tests.

Some shells do not allow dashes in function names (default behavior),
we shall try to define an alias to overcome dashes if the shell allows it.

Signed-off-by: Alin Gabriel Serdean <aserd...@ovn.org>
Suggested-by: Ben Pfaff <b...@ovn.org>
---
 tests/ovs-macros.at | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/tests/ovs-macros.at b/tests/ovs-macros.at
index dbce0a5..afe4032 100644
--- a/tests/ovs-macros.at
+++ b/tests/ovs-macros.at
@@ -100,6 +100,43 @@ if test "$IS_WIN32" = "yes"; then
     }
 fi
 
+# Try to add a default timeout for the following control utilities:
+#     - ovs-vsctl
+#     - ovs-ofctl
+#     - ovs-appctl
+#     - ovn-sbctl
+#     - ovn-nbctl
+#     - vtep-ctl
+# Set default timeout for 30 seconds.
+# This should be sufficient on all platforms.
+OVS_TIMEOUT=30
+alias ovs-vsctl='OVS_VSCTL_TIMEOUT' >/dev/null 2>&1
+if [ $? -eq 0 ]; then
+    OVS_VSCTL_TIMEOUT () {
+        command ovs-vsctl --timeout=$OVS_TIMEOUT "$@"
+    }
+    alias ovs-ofctl='OVS_OFCTL_TIMEOUT'
+    alias ovs-appctl='OVS_APPCTL_TIMEOUT'
+    alias ovn-sbctl='OVS_SBCTL_TIMEOUT'
+    alias ovn-nbctl='OVN_NBCTL_TIMEOUT'
+    alias vtep-ctl='VTEP_CTL_TIMEOUT'
+    OVS_OFCTL_TIMEOUT () {
+        command ovs-ofctl --timeout=$OVS_TIMEOUT "$@"
+    }
+    OVS_APPCTL_TIMEOUT () {
+        command ovs-appctl --timeout=$OVS_TIMEOUT "$@"
+    }
+    OVS_SBCTL_TIMEOUT () {
+        command ovn-sbctl --timeout=$OVS_TIMEOUT "$@"
+    }
+    OVN_NBCTL_TIMEOUT () {
+        command ovn-nbctl --timeout=$OVS_TIMEOUT "$@"
+    }
+    VTEP_CTL_TIMEOUT () {
+        command vtep-ctl --timeout=$OVS_TIMEOUT "$@"
+    }
+fi
+
 # parent_pid PID
 #
 # Prints the PID of the parent of process PID.
-- 
2.10.2.windows.1

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to