lava: handle reaching max number of retry for submit operation
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Wed, 29 Sep 2021 13:24:08 +0000 (09:24 -0400)
committerJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Wed, 29 Sep 2021 13:24:08 +0000 (09:24 -0400)
Reaching the maximum number of retry would lead to:

 Traceback (most recent call last):
   File "/home/jenkins/workspace/vm_tests_kcanary_lcanary/src/lttng-ci/scripts/system-tests/lava2-submit.py", line 322, in <module>
     sys.exit(main())
   File "/home/jenkins/workspace/vm_tests_kcanary_lcanary/src/lttng-ci/scripts/system-tests/lava2-submit.py", line 284, in main
     print('Lava jobid:{}'.format(jobid))
 UnboundLocalError: local variable 'jobid' referenced before assignment

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
scripts/system-tests/lava2-submit.py

index 281e9177a542841e6d1da608ae54ff59aef513ca..b9af8300c2d9934a7ee3341ca6456d1ed384bc3d 100644 (file)
@@ -174,6 +174,7 @@ def get_vlttng_cmd(
 
 
 def main():
+    send_retry_limit = 10
     nfsrootfs = "https://obj.internal.efficios.com/lava/rootfs/rootfs_amd64_xenial_2018-12-05.tar.gz"
     test_type = None
     parser = argparse.ArgumentParser(description='Launch baremetal test using Lava')
@@ -267,7 +268,7 @@ def main():
         'http://%s:%s@%s/RPC2' % (USERNAME, lava_api_key, HOSTNAME)
     )
 
-    for attempt in range(10):
+    for attempt in range(1, send_retry_limit + 1):
         try:
             jobid = server.scheduler.submit_job(render)
         except xmlrpc.client.ProtocolError as error:
@@ -280,6 +281,14 @@ def main():
             continue
         else:
             break
+    # Early exit when the maximum number of retry is reached.
+    if attempt == send_retry_limit:
+            print(
+                'Protocol error on submit, maximum number of retry reached ({})'.format(
+                    attempt
+                )
+            )
+            return -1
 
     print('Lava jobid:{}'.format(jobid))
     print(
This page took 0.024543 seconds and 4 git commands to generate.