config_file = '/etc/yardstick/yardstick.conf'
test_cases_dir_default = "tests/opnfv/test_cases/"
LOG = logging.getLogger(__name__)
+JOIN_TIMEOUT = 60
class Task(object): # pragma: no cover
task_id = getattr(args, 'task_id')
self.task_id = task_id if task_id else str(uuid.uuid4())
+ self._set_log()
+
check_environment()
try:
except KeyboardInterrupt:
raise
except Exception:
- LOG.exception('')
+ LOG.exception("Running test case %s failed!", case_name)
testcases[case_name] = {'criteria': 'FAIL', 'tc_data': []}
else:
testcases[case_name] = {'criteria': 'PASS', 'tc_data': data}
print("Done, exiting")
return result
+ def _set_log(self):
+ log_format = '%(asctime)s %(name)s %(filename)s:%(lineno)d %(levelname)s %(message)s'
+ log_formatter = logging.Formatter(log_format)
+
+ log_path = os.path.join(constants.TASK_LOG_DIR, '{}.log'.format(self.task_id))
+ log_handler = logging.FileHandler(log_path)
+ log_handler.setFormatter(log_formatter)
+ log_handler.setLevel(logging.DEBUG)
+
+ logging.root.addHandler(log_handler)
+
def _init_output_config(self, output_config):
output_config.setdefault('DEFAULT', {})
output_config.setdefault('dispatcher_http', {})
# Wait for background runners to finish
for runner in background_runners:
- status = runner.join(timeout=60)
+ status = runner.join(JOIN_TIMEOUT)
if status is None:
# Nuke if it did not stop nicely
base_runner.Runner.terminate(runner)
- status = runner_join(runner)
- else:
- base_runner.Runner.release(runner)
+ runner.join(JOIN_TIMEOUT)
+ base_runner.Runner.release(runner)
self.outputs.update(runner.get_output())
result.extend(runner.get_result())
try:
with open(self.path) as stream:
- cfg = yaml.safe_load(stream)
+ cfg = yaml.load(stream)
except IOError as ioerror:
sys.exit(ioerror)
raise e
print("Input task is:\n%s\n" % rendered_task)
- cfg = yaml.safe_load(rendered_task)
+ cfg = yaml.load(rendered_task)
except IOError as ioerror:
sys.exit(ioerror)
for node in nodes.values():
if not node:
continue
- for interface in node['interfaces'].values():
+ interfaces = node.get('interfaces', {})
+ for interface in interfaces.values():
vld_id = interface.get('vld_id')
# mgmt network doesn't have vld_id
if not vld_id: