LAVA Helper: Print more info to make logs more user-friendly
1. Inform users that failed tests will be resubmitted for double check.
2. Inform usres that CI job will fail because of cancelled LAVA tests.
3. Convert message in lava_submit_jobs.py to logging, in order to keep
the output message clean in lava_wait_jobs.py, in case there is any
re-submitted jobs.
Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: I6fae6533f29b60e7abd7a6a56f0de925e35c18d0
diff --git a/lava_helper/lava_submit_jobs.py b/lava_helper/lava_submit_jobs.py
index 7f36f26..3a12d68 100755
--- a/lava_helper/lava_submit_jobs.py
+++ b/lava_helper/lava_submit_jobs.py
@@ -17,16 +17,23 @@
import glob
import argparse
+import logging
from lava_helper import test_lava_dispatch_credentials
+_log = logging.getLogger("lavaci")
+
+
def list_files_from_dir(user_args, job_dir=""):
if job_dir == "":
job_dir = user_args.job_dir
file_list = []
+ resubmit_log = ""
+ if job_dir == "failed_jobs":
+ resubmit_log = "Resubmit for double check."
for filename in glob.iglob(job_dir + '**/*.yaml', recursive=True):
file_list.append(filename)
- print("Found job {}".format(filename))
+ _log.info("Found job {file}. {extra_log}".format(file=filename, extra_log=resubmit_log))
return file_list
@@ -46,9 +53,9 @@
# The reason of failure will be reported to user by LAVA_RPC_connector
if job_id is None and job_url is None:
- print("Job failed")
+ _log.info("Job failed")
else:
- print("Job submitted at: " + job_url)
+ _log.info("Job submitted at: " + job_url)
job_id_list.append(job_id)
return job_id_list
diff --git a/lava_helper/lava_wait_jobs.py b/lava_helper/lava_wait_jobs.py
index 335008c..7a5ee43 100755
--- a/lava_helper/lava_wait_jobs.py
+++ b/lava_helper/lava_wait_jobs.py
@@ -54,8 +54,10 @@
finished_jobs = lava.block_wait_for_jobs(job_list, user_args.dispatch_timeout, 5)
unfinished_jobs = [item for item in job_list if item not in finished_jobs]
for job in unfinished_jobs:
- _log.info("Cancelling unfinished job %d", job)
+ _log.info("Cancelling unfinished job %d because of timeout.", job)
lava.cancel_job(job)
+ if len(unfinished_jobs) > 0:
+ _log.info("Job fails because some test jobs have been cancelled.")
if user_args.artifacts_path:
for job, info in finished_jobs.items():
info['job_dir'] = os.path.join(user_args.artifacts_path, "{}_{}".format(str(job), info['description']))