info: Updated key project facts
[vswitchperf.git] / src / ovs / ofctl.py
index a75d0be..e9b8612 100644 (file)
@@ -28,21 +28,15 @@ import re
 from tools import tasks
 from conf import settings
 
-_OVS_VSCTL_BIN = os.path.join(settings.getValue('OVS_DIR'), 'utilities',
-                              'ovs-vsctl')
-_OVS_OFCTL_BIN = os.path.join(settings.getValue('OVS_DIR'), 'utilities',
-                              'ovs-ofctl')
-_OVS_APPCTL_BIN = os.path.join(settings.getValue('OVS_DIR'), 'utilities',
-                               'ovs-appctl')
-
 _OVS_BRIDGE_NAME = settings.getValue('VSWITCH_BRIDGE_NAME')
+_OVS_CMD_TIMEOUT = settings.getValue('OVS_CMD_TIMEOUT')
 
 _CACHE_FILE_NAME = '/tmp/vsperf_flows_cache'
 
 class OFBase(object):
     """Add/remove/show datapaths using ``ovs-ofctl``.
     """
-    def __init__(self, timeout=10):
+    def __init__(self, timeout=_OVS_CMD_TIMEOUT):
         """Initialise logger.
 
         :param timeout: Timeout to be used for each command
@@ -66,9 +60,9 @@ class OFBase(object):
         :return: None
         """
         if self.timeout == -1:
-            cmd = ['sudo', _OVS_VSCTL_BIN, '--no-wait'] + args
+            cmd = ['sudo', settings.getValue('TOOLS')['ovs-vsctl'], '--no-wait'] + args
         else:
-            cmd = ['sudo', _OVS_VSCTL_BIN, '--timeout', str(self.timeout)] + args
+            cmd = ['sudo', settings.getValue('TOOLS')['ovs-vsctl'], '--timeout', str(self.timeout)] + args
         return tasks.run_task(
             cmd, self.logger, 'Running ovs-vsctl...', check_error)
 
@@ -81,7 +75,7 @@ class OFBase(object):
 
         :return: None
         """
-        cmd = ['sudo', _OVS_APPCTL_BIN,
+        cmd = ['sudo', settings.getValue('TOOLS')['ovs-appctl'],
                '--timeout',
                str(self.timeout)] + args
         return tasks.run_task(
@@ -145,7 +139,7 @@ class OFBase(object):
 class OFBridge(OFBase):
     """Control a bridge instance using ``ovs-vsctl`` and ``ovs-ofctl``.
     """
-    def __init__(self, br_name=_OVS_BRIDGE_NAME, timeout=10):
+    def __init__(self, br_name=_OVS_BRIDGE_NAME, timeout=_OVS_CMD_TIMEOUT):
         """Initialise bridge.
 
         :param br_name: Bridge name
@@ -184,8 +178,8 @@ class OFBridge(OFBase):
         :return: None
         """
         tmp_timeout = self.timeout if timeout == None else timeout
-        cmd = ['sudo', _OVS_OFCTL_BIN, '-O', 'OpenFlow13', '--timeout',
-               str(tmp_timeout)] + args
+        cmd = ['sudo', settings.getValue('TOOLS')['ovs-ofctl'], '-O',
+               'OpenFlow13', '--timeout', str(tmp_timeout)] + args
         return tasks.run_task(
             cmd, self.logger, 'Running ovs-ofctl...', check_error)