From 98ff39a0bb75e2ae07b4af77ddb127ffaeb4ce5b Mon Sep 17 00:00:00 2001 From: xudan Date: Mon, 25 Sep 2017 04:44:38 -0400 Subject: Make Yardstick log level can be set by CLI 1. Currently, the log level of yardstick is DEBUG and cannot be modified. 2. Make it can be changed from CLI. 3. When use dovetail run --debug, can see all Yardstick logs (including DEBUG) in dovetail.log. 4. When run without debug option, cannot see Yardstick debug logs in dovetail.logs. 5. yardstick.log always doesn't include debug logs. JIRA: DOVETAIL-506 Change-Id: Iaafb61232a22e16fff2fa4605bf7e262b022085e Signed-off-by: xudan --- dovetail/conf/yardstick_config.yml | 2 +- dovetail/container.py | 13 +- ...Yardstick-HA-test-cases-SLA-and-log-level.patch | 133 +++++++++++++++++++++ .../0001-Adjust-Yardstick-HA-test-cases-SLA.patch | 119 ------------------ dovetail/report.py | 2 +- dovetail/run.py | 9 ++ 6 files changed, 151 insertions(+), 127 deletions(-) create mode 100644 dovetail/patch/0001-Adjust-Yardstick-HA-test-cases-SLA-and-log-level.patch delete mode 100644 dovetail/patch/0001-Adjust-Yardstick-HA-test-cases-SLA.patch diff --git a/dovetail/conf/yardstick_config.yml b/dovetail/conf/yardstick_config.yml index f49d044d..fea8cea7 100644 --- a/dovetail/conf/yardstick_config.yml +++ b/dovetail/conf/yardstick_config.yml @@ -20,7 +20,7 @@ yardstick: cmds: - 'mkdir -p /home/opnfv/yardstick/results/' - "cd /home/opnfv/repos/yardstick && source tests/ci/prepare_env.sh && - yardstick -d task start tests/opnfv/test_cases/{{validate_testcase}}.yaml + yardstick task start tests/opnfv/test_cases/{{validate_testcase}}.yaml --output-file /home/opnfv/yardstick/results/{{testcase}}.out --task-args '{'file': '/home/opnfv/userconfig/pre_config/pod.yaml'}'" post_condition: diff --git a/dovetail/container.py b/dovetail/container.py index 14045165..ff92fa4a 100644 --- a/dovetail/container.py +++ b/dovetail/container.py @@ -149,14 +149,19 @@ class Container(object): # CI_DEBUG is used for showing the debug logs of the upstream projects # BUILD_TAG is the unique id for this test - envs = ' -e CI_DEBUG=true -e NODE_NAME=master' + envs = ' -e NODE_NAME=master' + DEBUG = os.getenv('DEBUG') + if DEBUG is not None and DEBUG.lower() == "true": + envs = envs + ' -e CI_DEBUG=true' + else: + envs = envs + ' -e CI_DEBUG=false' envs = envs + ' -e BUILD_TAG=%s-%s' % (dovetail_config['build_tag'], testcase_name) hosts_config = "" hosts_config_file = os.path.join(dovetail_config['config_dir'], 'hosts.yaml') - try: + if os.path.isfile(hosts_config_file): with open(hosts_config_file) as f: hosts_info = yaml.safe_load(f) if hosts_info['hosts_info']: @@ -165,10 +170,6 @@ class Container(object): hosts_config += " --add-host " hosts_config += str(host) cls.logger.debug('Get hosts info {}.'.format(host)) - except Exception: - cls.logger.warn('Failed to get hosts info in {}, ' - 'maybe some issues with domain name resolution.' - .format(hosts_config_file)) config = "" if type.lower() == "functest": diff --git a/dovetail/patch/0001-Adjust-Yardstick-HA-test-cases-SLA-and-log-level.patch b/dovetail/patch/0001-Adjust-Yardstick-HA-test-cases-SLA-and-log-level.patch new file mode 100644 index 00000000..8c9589ca --- /dev/null +++ b/dovetail/patch/0001-Adjust-Yardstick-HA-test-cases-SLA-and-log-level.patch @@ -0,0 +1,133 @@ +From b7c13b5a7e07abdf4d3631049625461271fa5c5b Mon Sep 17 00:00:00 2001 +From: cvp +Date: Tue, 26 Sep 2017 03:59:54 +0000 +Subject: [PATCH] Adjust Yardstick HA test cases SLA and log level + +--- + tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml | 4 ++-- + tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml | 4 ++-- + tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml | 4 ++-- + tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml | 4 ++-- + tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml | 4 ++-- + tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml | 4 ++-- + yardstick/__init__.py | 2 +- + 7 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml +index 5d3057d..c1d3645 100644 +--- a/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml ++++ b/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml +@@ -34,10 +34,10 @@ scenarios: + - monitor_type: "process" + process_name: "nova-api" + host: node1 +- monitor_time: 20 ++ monitor_time: 30 + monitor_number: 3 + sla: +- max_recover_time: 20 ++ max_recover_time: 30 + + nodes: + node1: node1.LF +diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml +index d851d5a..8c7348b 100644 +--- a/tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml ++++ b/tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml +@@ -33,10 +33,10 @@ scenarios: + - monitor_type: "process" + process_name: "neutron-server" + host: node1 +- monitor_time: 20 ++ monitor_time: 30 + monitor_number: 3 + sla: +- max_recover_time: 20 ++ max_recover_time: 30 + + nodes: + node1: node1.LF +diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml +index ad81a14..635e4d9 100644 +--- a/tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml ++++ b/tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml +@@ -33,10 +33,10 @@ scenarios: + - monitor_type: "process" + process_name: "keystone" + host: node1 +- monitor_time: 20 ++ monitor_time: 30 + monitor_number: 3 + sla: +- max_recover_time: 20 ++ max_recover_time: 30 + + nodes: + node1: node1.LF +diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml +index cc99036..57fa739 100644 +--- a/tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml ++++ b/tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml +@@ -33,10 +33,10 @@ scenarios: + - monitor_type: "process" + process_name: "glance-api" + host: node1 +- monitor_time: 20 ++ monitor_time: 30 + monitor_number: 3 + sla: +- max_recover_time: 20 ++ max_recover_time: 30 + + nodes: + node1: node1.LF +diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml +index 237f845..06ad641 100644 +--- a/tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml ++++ b/tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml +@@ -33,10 +33,10 @@ scenarios: + - monitor_type: "process" + process_name: "cinder-api" + host: node1 +- monitor_time: 20 ++ monitor_time: 30 + monitor_number: 3 + sla: +- max_recover_time: 20 ++ max_recover_time: 30 + + nodes: + node1: node1.LF +diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml +index 9e05cc8..e3f0934 100644 +--- a/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml ++++ b/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml +@@ -32,10 +32,10 @@ scenarios: + key: "service-status" + process_name: "haproxy" + host: node1 +- monitor_time: 20 ++ monitor_time: 30 + monitor_number: 3 + sla: +- max_recover_time: 20 ++ max_recover_time: 30 + + - + monitor_type: "openstack-cmd" +diff --git a/yardstick/__init__.py b/yardstick/__init__.py +index 2f5ae9f..973bfa2 100644 +--- a/yardstick/__init__.py ++++ b/yardstick/__init__.py +@@ -44,7 +44,7 @@ def _init_logging(): + _LOG_STREAM_HDLR.setLevel(logging.INFO) + # don't append to log file, clobber + _LOG_FILE_HDLR.setFormatter(_LOG_FORMATTER) +- _LOG_FILE_HDLR.setLevel(logging.DEBUG) ++ _LOG_FILE_HDLR.setLevel(logging.INFO) + + del logging.root.handlers[:] + logging.root.addHandler(_LOG_STREAM_HDLR) +-- +1.9.1 + diff --git a/dovetail/patch/0001-Adjust-Yardstick-HA-test-cases-SLA.patch b/dovetail/patch/0001-Adjust-Yardstick-HA-test-cases-SLA.patch deleted file mode 100644 index 92c68032..00000000 --- a/dovetail/patch/0001-Adjust-Yardstick-HA-test-cases-SLA.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 3beb6cdffa830f009d246e6352efa7ccf70463a0 Mon Sep 17 00:00:00 2001 -From: Jing Lu -Date: Sat, 26 Aug 2017 10:07:52 +0800 -Subject: [PATCH] Adjust Yardstick HA test cases SLA - ---- - tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml | 4 ++-- - tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml | 4 ++-- - tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml | 4 ++-- - tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml | 4 ++-- - tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml | 4 ++-- - tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml | 4 ++-- - 6 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml -index 5d3057d..c1d3645 100644 ---- a/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml -+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml -@@ -34,10 +34,10 @@ scenarios: - - monitor_type: "process" - process_name: "nova-api" - host: node1 -- monitor_time: 20 -+ monitor_time: 30 - monitor_number: 3 - sla: -- max_recover_time: 20 -+ max_recover_time: 30 - - nodes: - node1: node1.LF -diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml -index d851d5a..8c7348b 100644 ---- a/tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml -+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml -@@ -33,10 +33,10 @@ scenarios: - - monitor_type: "process" - process_name: "neutron-server" - host: node1 -- monitor_time: 20 -+ monitor_time: 30 - monitor_number: 3 - sla: -- max_recover_time: 20 -+ max_recover_time: 30 - - nodes: - node1: node1.LF -diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml -index ad81a14..635e4d9 100644 ---- a/tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml -+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml -@@ -33,10 +33,10 @@ scenarios: - - monitor_type: "process" - process_name: "keystone" - host: node1 -- monitor_time: 20 -+ monitor_time: 30 - monitor_number: 3 - sla: -- max_recover_time: 20 -+ max_recover_time: 30 - - nodes: - node1: node1.LF -diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml -index cc99036..57fa739 100644 ---- a/tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml -+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml -@@ -33,10 +33,10 @@ scenarios: - - monitor_type: "process" - process_name: "glance-api" - host: node1 -- monitor_time: 20 -+ monitor_time: 30 - monitor_number: 3 - sla: -- max_recover_time: 20 -+ max_recover_time: 30 - - nodes: - node1: node1.LF -diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml -index 237f845..06ad641 100644 ---- a/tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml -+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml -@@ -33,10 +33,10 @@ scenarios: - - monitor_type: "process" - process_name: "cinder-api" - host: node1 -- monitor_time: 20 -+ monitor_time: 30 - monitor_number: 3 - sla: -- max_recover_time: 20 -+ max_recover_time: 30 - - nodes: - node1: node1.LF -diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml -index 9e05cc8..e3f0934 100644 ---- a/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml -+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml -@@ -32,10 +32,10 @@ scenarios: - key: "service-status" - process_name: "haproxy" - host: node1 -- monitor_time: 20 -+ monitor_time: 30 - monitor_number: 3 - sla: -- max_recover_time: 20 -+ max_recover_time: 30 - - - - monitor_type: "openstack-cmd" --- -2.13.1 (Apple Git-89) - diff --git a/dovetail/report.py b/dovetail/report.py index fa6a0ba4..fa29d0c7 100644 --- a/dovetail/report.py +++ b/dovetail/report.py @@ -79,7 +79,7 @@ class Report(object): 'result': testcase.sub_testcase_passed(sub_test) }) report_obj['testcases_list'].append(testcase_inreport) - cls.logger.info(json.dumps(report_obj)) + cls.logger.debug(json.dumps(report_obj)) return report_obj @classmethod diff --git a/dovetail/run.py b/dovetail/run.py index 1133b864..c7496475 100755 --- a/dovetail/run.py +++ b/dovetail/run.py @@ -239,6 +239,14 @@ def env_init(logger): dt_utils.source_env(openrc) +def check_hosts_file(logger): + hosts_file = os.path.join(dt_cfg.dovetail_config['config_dir'], + 'hosts.yaml') + if not os.path.isfile(hosts_file): + logger.warn("There is no hosts file {}, may be some issues with " + "domain name resolution.".format(hosts_file)) + + def main(*args, **kwargs): """Dovetail compliance test entry!""" build_tag = "daily-master-%s" % str(uuid.uuid1()) @@ -259,6 +267,7 @@ def main(*args, **kwargs): copy_patch_files(logger) dt_utils.check_docker_version(logger) validate_input(kwargs, dt_cfg.dovetail_config['validate_input'], logger) + check_hosts_file(logger) configs = filter_config(kwargs, logger) if configs is not None: -- cgit 1.2.3-korg