integration: Fix OVSDPDK tests 70/68670/3
authorLukasz Pawlik <lukaszx.pawlik@intel.com>
Wed, 4 Sep 2019 10:17:26 +0000 (11:17 +0100)
committerEmma Finn <emma.finn@intel.com>
Tue, 29 Oct 2019 11:04:24 +0000 (11:04 +0000)
Commit c5a075eafc322d9ae62322e90ab4e232df176743 break integration
tests because logs location was changed. This patch fix this by
ensuring that RESULTS_PATH is set before integration tests conf
file is processed and set correct path in integration conf.

Signed-off-by: Lukasz Pawlik <lukaszx.pawlik@intel.com>
Change-Id: I7ca104cfb31c7bc0f6052b58a370a1d65157efe1

conf/integration/01b_dpdk_regression_tests.conf
vnfs/qemu/qemu.py
vsperf
vswitches/ovs.py

index abc56c2..a637e3e 100644 (file)
 #  Generic configuration used by OVSDPDK testcases
 #
 ############################################################
+
+# required to import path to the log file
+from conf import settings
+
 _OVSDPDK_1st_PMD_CORE = 4
 _OVSDPDK_2nd_PMD_CORE = 5
 # calculate PMD mask from core IDs configured above
@@ -32,8 +36,11 @@ _OVSDPDK_GUEST_5_CORES = [('7', '8', '9', '10', '11')]
 # number of queues configured in OVS and GUEST
 _OVSDPDK_MQ = '2'
 
-# Path to the log file
-_OVSDPDK_VSWITCH_LOG = os.path.join(LOG_DIR, LOG_FILE_VSWITCHD)
+# path to the log file
+_RESULTS_PATH = settings.getValue('RESULTS_PATH')
+name, ext = os.path.splitext(settings.getValue('LOG_FILE_VSWITCHD'))
+log_file = "{name}_{uid}{ex}".format(name=name,uid=settings.getValue('LOG_TIMESTAMP'),ex=ext)
+_OVSDPDK_VSWITCH_LOG = os.path.join(_RESULTS_PATH, log_file)
 
 _OVSDPDK_HEADER_LEN = 18                # length of frame headers in bytes, it's used for calculation
                                         # of payload size, i.e. payload = frame_size - header_len
index 684222a..857793f 100644 (file)
@@ -123,7 +123,7 @@ class IVnfQemu(IVnf):
                                                 uid=S.getValue('LOG_TIMESTAMP'),
                                                 ex=ext)
         cmd_logger = logging.FileHandler(
-            filename=os.path.join(S.getValue('LOG_DIR'), rename_gcmd))
+            filename=os.path.join(S.getValue('RESULTS_PATH'), rename_gcmd))
         cmd_logger.setLevel(logging.DEBUG)
         cmd_logger.addFilter(self.GuestCommandFilter())
         logger.addHandler(cmd_logger)
diff --git a/vsperf b/vsperf
index 1c72a70..f4104bc 100755 (executable)
--- a/vsperf
+++ b/vsperf
@@ -672,12 +672,22 @@ def main():
 
     settings.load_from_dir(os.path.join(_CURR_DIR, 'conf'))
 
-    # Define the timestamp to be used by logs and results
+    # define the timestamp to be used by logs and results
     date = datetime.datetime.fromtimestamp(time.time())
     timestamp = date.strftime('%Y-%m-%d_%H-%M-%S')
     settings.setValue('LOG_TIMESTAMP', timestamp)
 
-    # Load non performance/integration tests
+    # generate results directory name
+    # integration test use vswitchd log in test step assertions, ensure that
+    # correct value will be set before loading integration test configuration
+    results_dir = "results_" + timestamp
+    results_path = os.path.join(settings.getValue('LOG_DIR'), results_dir)
+    settings.setValue('RESULTS_PATH', results_path)
+    # create results directory
+    if not os.path.exists(results_path):
+        os.makedirs(results_path)
+
+    # load non performance/integration tests
     if args['integration']:
         settings.load_from_dir(os.path.join(_CURR_DIR, 'conf/integration'))
 
@@ -704,15 +714,6 @@ def main():
     # if required, handle list-* operations
     handle_list_options(args)
 
-    # generate results directory name
-    results_dir = "results_" + timestamp
-    results_path = os.path.join(settings.getValue('LOG_DIR'), results_dir)
-    settings.setValue('RESULTS_PATH', results_path)
-
-    # create results directory
-    if not os.path.exists(results_path):
-        os.makedirs(results_path)
-
     configure_logging(settings.getValue('VERBOSITY'))
 
     # CI build support
index e713fc3..853bef8 100644 (file)
@@ -47,13 +47,12 @@ class IVSwitchOvs(IVSwitch, tasks.Process):
         """See IVswitch for general description
         """
         super().__init__()
+
         name, ext = os.path.splitext(settings.getValue('LOG_FILE_VSWITCHD'))
         rename_vswitchd = "{name}_{uid}{ex}".format(name=name,
-                                                    uid=settings.getValue(
-                                                        'LOG_TIMESTAMP'),
+                                                    uid=settings.getValue('LOG_TIMESTAMP'),
                                                     ex=ext)
-        self._logfile = os.path.join(settings.getValue('RESULTS_PATH'),
-                                     rename_vswitchd)
+        self._logfile = os.path.join(settings.getValue('RESULTS_PATH'), rename_vswitchd)
         self._ovsdb_pidfile_path = os.path.join(settings.getValue('TOOLS')['ovs_var_tmp'],
                                                 "ovsdb-server.pid")
         self._vswitchd_pidfile_path = os.path.join(settings.getValue('TOOLS')['ovs_var_tmp'],