Custom_Command(): no need for class members
This commit is contained in:
@@ -220,6 +220,25 @@ def Iperf_analyzeV2UDP(server_filename, iperf_bitrate_threshold, iperf_packetlos
|
|||||||
pal_msg += f' (too high! >{self.iperf_packetloss_threshold}%)'
|
pal_msg += f' (too high! >{self.iperf_packetloss_threshold}%)'
|
||||||
return (result, f'{req_msg}\n{bir_msg}\n{brl_msg}\n{jit_msg}\n{pal_msg}')
|
return (result, f'{req_msg}\n{bir_msg}\n{brl_msg}\n{jit_msg}\n{pal_msg}')
|
||||||
|
|
||||||
|
def Custom_Command(HTML, node, command, command_fail):
|
||||||
|
logging.info(f"Executing custom command on {node}")
|
||||||
|
cmd = cls_cmd.getConnection(node)
|
||||||
|
ret = cmd.run(command)
|
||||||
|
cmd.close()
|
||||||
|
logging.debug(f"Custom_Command: {command} on node: {node} - {'OK, command succeeded' if ret.returncode == 0 else f'Error, return code: {ret.returncode}'}")
|
||||||
|
status = 'OK'
|
||||||
|
message = []
|
||||||
|
if ret.returncode != 0 and not command_fail:
|
||||||
|
message = [ret.stdout]
|
||||||
|
logging.warning(f'Custom_Command output: {message}')
|
||||||
|
status = 'Warning'
|
||||||
|
if ret.returncode != 0 and command_fail:
|
||||||
|
message = [ret.stdout]
|
||||||
|
logging.error(f'Custom_Command failed: output: {message}')
|
||||||
|
status = 'KO'
|
||||||
|
HTML.CreateHtmlTestRowQueue(command, status, message)
|
||||||
|
return status == 'OK' or status == 'Warning'
|
||||||
|
|
||||||
#-----------------------------------------------------------
|
#-----------------------------------------------------------
|
||||||
# OaiCiTest Class Definition
|
# OaiCiTest Class Definition
|
||||||
#-----------------------------------------------------------
|
#-----------------------------------------------------------
|
||||||
|
|||||||
+4
-4
@@ -450,10 +450,10 @@ def ExecuteActionWithParam(action):
|
|||||||
RAN.prematureExit = True
|
RAN.prematureExit = True
|
||||||
|
|
||||||
elif action == 'Custom_Command':
|
elif action == 'Custom_Command':
|
||||||
RAN.node = test.findtext('node')
|
node = test.findtext('node')
|
||||||
RAN.command = test.findtext('command')
|
command = test.findtext('command')
|
||||||
RAN.command_fail = test.findtext('command_fail') in ['True', 'true', 'Yes', 'yes']
|
command_fail = test.findtext('command_fail') in ['True', 'true', 'Yes', 'yes']
|
||||||
RAN.CustomCommand(HTML)
|
cls_oaicitest.Custom_Command(HTML, node, command, command_fail)
|
||||||
|
|
||||||
elif action == 'Pull_Cluster_Image':
|
elif action == 'Pull_Cluster_Image':
|
||||||
string_field = test.findtext('images_to_pull')
|
string_field = test.findtext('images_to_pull')
|
||||||
|
|||||||
@@ -224,27 +224,6 @@ class RANManagement():
|
|||||||
mySSH.close()
|
mySSH.close()
|
||||||
self.checkBuildeNB(lIpAddr, lUserName, lPassWord, lSourcePath, self.testCase_id, HTML)
|
self.checkBuildeNB(lIpAddr, lUserName, lPassWord, lSourcePath, self.testCase_id, HTML)
|
||||||
|
|
||||||
def CustomCommand(self, HTML):
|
|
||||||
logging.info(f"Executing custom command on {self.node}")
|
|
||||||
cmd = cls_cmd.getConnection(self.node)
|
|
||||||
ret = cmd.run(self.command)
|
|
||||||
cmd.close()
|
|
||||||
logging.debug(f"CustomCommand: {self.command} on node: {self.node} - {'OK, command succeeded' if ret.returncode == 0 else f'Error, return code: {ret.returncode}'}")
|
|
||||||
status = 'OK'
|
|
||||||
message = []
|
|
||||||
if ret.returncode != 0 and not self.command_fail:
|
|
||||||
message = [ret.stdout]
|
|
||||||
logging.warning(f'CustomCommand output: {message}')
|
|
||||||
status = 'Warning'
|
|
||||||
if self.command_fail: # important command since it would make the pipeline fail, so show output in HTML
|
|
||||||
message = [ret.stdout]
|
|
||||||
if ret.returncode != 0 and self.command_fail:
|
|
||||||
message = [ret.stdout]
|
|
||||||
logging.error(f'CustomCommand failed: output: {message}')
|
|
||||||
status = 'KO'
|
|
||||||
self.prematureExit = True
|
|
||||||
HTML.CreateHtmlTestRowQueue(self.command, status, message)
|
|
||||||
|
|
||||||
def checkBuildeNB(self, lIpAddr, lUserName, lPassWord, lSourcePath, testcaseId, HTML):
|
def checkBuildeNB(self, lIpAddr, lUserName, lPassWord, lSourcePath, testcaseId, HTML):
|
||||||
HTML.testCase_id=testcaseId
|
HTML.testCase_id=testcaseId
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user