From 0e23b795b78d2a02c6d33c5ae747f3aa0e7e10d8 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 30 Sep 2024 16:08:58 +0200 Subject: [PATCH] CI: use Custom_Script to execute SR-IOV/setup scripts for FHI72 pipeline --- ci-scripts/cls_oaicitest.py | 13 +++++++++++++ ci-scripts/main.py | 6 ++++++ ci-scripts/xml_class_list.yml | 1 + .../xml_files/container_sa_fhi72_vvdn_up2.xml | 8 ++++---- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/ci-scripts/cls_oaicitest.py b/ci-scripts/cls_oaicitest.py index 78c20fb172..1729a45620 100644 --- a/ci-scripts/cls_oaicitest.py +++ b/ci-scripts/cls_oaicitest.py @@ -239,6 +239,19 @@ def Custom_Command(HTML, node, command, command_fail): HTML.CreateHtmlTestRowQueue(command, status, message) return status == 'OK' or status == 'Warning' +def Custom_Script(HTML, node, script, command_fail): + logging.info(f"Executing custom script on {node}") + ret = cls_cmd.runScript(node, script, 90) + logging.debug(f"Custom_Script: {script} on node: {node} - return code {ret.returncode}, output:\n{ret.stdout}") + status = 'OK' + message = [ret.stdout] + if ret.returncode != 0 and not command_fail: + status = 'Warning' + if ret.returncode != 0 and command_fail: + status = 'KO' + HTML.CreateHtmlTestRowQueue(script, status, message) + return status == 'OK' or status == 'Warning' + def IdleSleep(HTML, idle_sleep_time): time.sleep(idle_sleep_time) HTML.CreateHtmlTestRow(f"{idle_sleep_time} sec", 'OK', CONST.ALL_PROCESSES_OK) diff --git a/ci-scripts/main.py b/ci-scripts/main.py index 415ea76c27..0886f4f9fa 100644 --- a/ci-scripts/main.py +++ b/ci-scripts/main.py @@ -428,6 +428,12 @@ def ExecuteActionWithParam(action): command_fail = test.findtext('command_fail') in ['True', 'true', 'Yes', 'yes'] success = cls_oaicitest.Custom_Command(HTML, node, command, command_fail) + elif action == 'Custom_Script': + node = test.findtext('node') + script = test.findtext('script') + command_fail = test.findtext('command_fail') in ['True', 'true', 'Yes', 'yes'] + success = cls_oaicitest.Custom_Script(HTML, node, script, command_fail) + elif action == 'Pull_Cluster_Image': string_field = test.findtext('images_to_pull') if (string_field is not None): diff --git a/ci-scripts/xml_class_list.yml b/ci-scripts/xml_class_list.yml index deba963bc6..325797c29e 100755 --- a/ci-scripts/xml_class_list.yml +++ b/ci-scripts/xml_class_list.yml @@ -42,4 +42,5 @@ - Pull_Local_Registry - Clean_Test_Server_Images - Custom_Command + - Custom_Script - Create_Workspace diff --git a/ci-scripts/xml_files/container_sa_fhi72_vvdn_up2.xml b/ci-scripts/xml_files/container_sa_fhi72_vvdn_up2.xml index 527bc70082..215fe3ea26 100644 --- a/ci-scripts/xml_files/container_sa_fhi72_vvdn_up2.xml +++ b/ci-scripts/xml_files/container_sa_fhi72_vvdn_up2.xml @@ -45,10 +45,10 @@ - Custom_Command + Custom_Script Setup sriov and network interfaces VVDN cacofonix - /opt/FHI7.2/setup_sriov_vvdn.sh + yes @@ -157,11 +157,11 @@ - Custom_Command + Custom_Script true Set CPU to idle state, set kernel parameters to default values cacofonix - /opt/FHI7.2/setup_cleanup.sh + yes