Merge "update yardstick ha test cases dashboard"
[yardstick.git] / yardstick / network_services / utils.py
index b750913..d52e27c 100644 (file)
 
 from __future__ import absolute_import
 import logging
+import os
 
 from oslo_config import cfg
 from oslo_config.cfg import NoSuchOptError
 from oslo_utils import encodeutils
 
+NSB_ROOT = "/opt/nsb_bin"
+
 CONF = cfg.CONF
 OPTS = [
     cfg.StrOpt('bin_path',
-               default='/opt/nsb_bin',
+               default=NSB_ROOT,
                help='bin_path for VNFs location.'),
     cfg.StrOpt('trex_path',
-               default='/opt/nsb_bin/trex/scripts',
-               help='trex automation lib pathh.'),
+               default=os.path.join(NSB_ROOT, 'trex/scripts'),
+               help='trex automation lib path.'),
+    cfg.StrOpt('trex_client_lib',
+               default=os.path.join(NSB_ROOT, 'trex_client/stl'),
+               help='trex python library path.'),
 ]
 CONF.register_opts(OPTS, group="nsb")
 
@@ -39,21 +45,22 @@ def get_nsb_option(option, default=None):
         return CONF.nsb.__getitem__(option)
     except NoSuchOptError:
         logging.debug("Invalid key %s", option)
-    else:
-        return default
+    return default
 
 
-def provision_tool(connection, tool_path):
+def provision_tool(connection, tool_path, tool_file=None):
     """
     verify if the tool path exits on the node,
     if not push the local binary to remote node
 
     :return - Tool path
     """
+    if tool_file:
+        tool_path = os.path.join(tool_path, tool_file)
     bin_path = get_nsb_option("bin_path")
-    exit_status, stdout = connection.execute("which %s" % tool_path)[:2]
+    exit_status = connection.execute("which %s > /dev/null 2>&1" % tool_path)[0]
     if exit_status == 0:
-        return encodeutils.safe_decode(stdout, incoming='utf-8').rstrip()
+        return encodeutils.safe_decode(tool_path, incoming='utf-8').rstrip()
 
     logging.warning("%s not found on %s, will try to copy from localhost",
                     tool_path, connection.host)