jjb/lava: Parametrize URL for system-test's root FS
[lttng-ci.git] / scripts / system-tests / lava2-submit.py
index dec07a92affb55b45e28a7289eb2255ccd41995d..232be5d43bb72016c08e5012bfe2d4702b9627c1 100644 (file)
@@ -127,19 +127,29 @@ def get_vlttng_cmd(
     """
     Return vlttng cmd to be used in the job template for setup.
     """
+
+    major_version, minor_version = parse_stable_version(lttng_version)
+
     urcu_profile = ""
     if lttng_version == 'master' or (major_version >= 2 and minor_version >= 11):
         urcu_profile = "urcu-master"
     else:
         urcu_profile = "urcu-stable-0.12"
 
+    # Starting with 2.14, babeltrace2 is the reader for testing.
+    if lttng_version == 'master' or (major_version >= 2 and minor_version >= 14):
+        babeltrace_profile = " --profile babeltrace2-stable-2.0 --profile babeltrace2-python"
+        babeltrace_overrides = " --override projects.babeltrace2.build-env.PYTHON=python3 --override projects.babeltrace2.build-env.PYTHON_CONFIG=python3-config -o projects.babeltrace2.configure+=--disable-man-pages"
+    else:
+        babeltrace_profile = " --profile babeltrace-stable-1.5 --profile babeltrace-python"
+        babeltrace_overrides = " --override projects.babeltrace.build-env.PYTHON=python3 --override projects.babeltrace.build-env.PYTHON_CONFIG=python3-config"
+
+
     vlttng_cmd = (
         'vlttng --jobs=$(nproc) --profile ' + urcu_profile
-        + ' --override projects.babeltrace.build-env.PYTHON=python3'
-        ' --override projects.babeltrace.build-env.PYTHON_CONFIG=python3-config'
-        ' --profile babeltrace-stable-1.5'
-        ' --profile babeltrace-python'
-        ' --profile lttng-tools-master'
+        + babeltrace_profile
+        + babeltrace_overrides
+        + ' --profile lttng-tools-master'
         ' --override projects.lttng-tools.source='
         + lttng_tools_url
         + ' --override projects.lttng-tools.checkout='
@@ -157,7 +167,6 @@ def get_vlttng_cmd(
             + ' --profile lttng-ust-no-man-pages'
         )
 
-    major_version, minor_version = parse_stable_version(lttng_version)
 
     if lttng_version == 'master' or (major_version >= 2 and minor_version >= 11):
         vlttng_cmd += (
@@ -172,7 +181,7 @@ def get_vlttng_cmd(
 
 
 def main():
-    nfsrootfs = "https://obj.internal.efficios.com/lava/rootfs/rootfs_amd64_xenial_2018-12-05.tar.gz"
+    send_retry_limit = 10
     test_type = None
     parser = argparse.ArgumentParser(description='Launch baremetal test using Lava')
     parser.add_argument('-t', '--type', required=True)
@@ -186,6 +195,10 @@ def main():
     parser.add_argument('-uu', '--ust-url', required=False)
     parser.add_argument('-uc', '--ust-commit', required=False)
     parser.add_argument('-d', '--debug', required=False, action='store_true')
+    parser.add_argument(
+        '-r', '--rootfs-url', required=False,
+        default="https://obj.internal.efficios.com/lava/rootfs/rootfs_amd64_xenial_2018-12-05.tar.gz"
+    )
     args = parser.parse_args()
 
     if args.type not in TestType.values:
@@ -246,7 +259,7 @@ def main():
     context['lttng_version_string'] = lttng_version_string
 
     context['kernel_url'] = args.kernel
-    context['nfsrootfs_url'] = nfsrootfs
+    context['nfsrootfs_url'] = args.rootfs_url
     context['lttng_modules_url'] = args.lmodule
     context['jenkins_build_id'] = args.build_id
 
@@ -265,7 +278,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:
@@ -278,6 +291,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.024795 seconds and 4 git commands to generate.