From 115ea9be50aee7db38d92399bc2d46a60e1d7e2d Mon Sep 17 00:00:00 2001 From: Lukasz Pawlik Date: Wed, 4 Sep 2019 11:17:26 +0100 Subject: integration: Fix OVSDPDK tests 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 Change-Id: I7ca104cfb31c7bc0f6052b58a370a1d65157efe1 --- conf/integration/01b_dpdk_regression_tests.conf | 11 +++++++++-- vnfs/qemu/qemu.py | 2 +- vsperf | 23 ++++++++++++----------- vswitches/ovs.py | 7 +++---- 4 files changed, 25 insertions(+), 18 deletions(-) diff --git a/conf/integration/01b_dpdk_regression_tests.conf b/conf/integration/01b_dpdk_regression_tests.conf index abc56c28..a637e3e2 100644 --- a/conf/integration/01b_dpdk_regression_tests.conf +++ b/conf/integration/01b_dpdk_regression_tests.conf @@ -21,6 +21,10 @@ # 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 diff --git a/vnfs/qemu/qemu.py b/vnfs/qemu/qemu.py index 684222a7..857793f8 100644 --- a/vnfs/qemu/qemu.py +++ b/vnfs/qemu/qemu.py @@ -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 1c72a708..f4104bcf 100755 --- 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 diff --git a/vswitches/ovs.py b/vswitches/ovs.py index e713fc38..853bef85 100644 --- a/vswitches/ovs.py +++ b/vswitches/ovs.py @@ -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'], -- cgit 1.2.3-korg