From d5673dacd60c059f425b5935090945c9624736c1 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Thu, 10 Jun 2021 09:42:40 +0100 Subject: [PATCH] ci/lava: Add validate-only mode to job submitter Useful for development. Signed-off-by: Daniel Stone Part-of: --- .gitlab-ci/lava_job_submitter.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.gitlab-ci/lava_job_submitter.py b/.gitlab-ci/lava_job_submitter.py index 19cdb74c409..6823eb74e3a 100755 --- a/.gitlab-ci/lava_job_submitter.py +++ b/.gitlab-ci/lava_job_submitter.py @@ -154,6 +154,12 @@ def show_job_data(proxy, job_id): print("{}\t: {}".format(field, value)) +def validate_job(proxy, job_file): + try: + return _call_proxy(proxy.scheduler.jobs.validate, job_file, True) + except: + return False + def submit_job(proxy, job_file): return _call_proxy(proxy.scheduler.jobs.submit, job_file) @@ -163,6 +169,14 @@ def main(args): yaml_file = generate_lava_yaml(args) + if args.validate_only: + ret = validate_job(proxy, yaml_file) + if not ret: + sys.exit(log_msg("Error in LAVA job definition")) + print("LAVA job definition validated successfully") + return + + while True: job_id = submit_job(proxy, yaml_file) @@ -195,6 +209,7 @@ if __name__ == '__main__': parser.add_argument("--ci-node-index") parser.add_argument("--ci-node-total") parser.add_argument("--job-type") + parser.add_argument("--validate-only", action='store_true') parser.set_defaults(func=main) args = parser.parse_args()