From 0b19c61a139497a04447c3288899df9b65275fd1 Mon Sep 17 00:00:00 2001 From: pettershao-ragilenetworks <81281940+pettershao-ragilenetworks@users.noreply.github.com> Date: Fri, 20 Jan 2023 18:48:54 +0800 Subject: [PATCH] Update redfish_api.py --- .../sonic_platform/redfish_api.py | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/platform/centec-arm64/sonic-platform-modules-ragile/ra-b6010-48gt4x-r/sonic_platform/redfish_api.py b/platform/centec-arm64/sonic-platform-modules-ragile/ra-b6010-48gt4x-r/sonic_platform/redfish_api.py index ea77f0ce1be1..878dc2f59988 100755 --- a/platform/centec-arm64/sonic-platform-modules-ragile/ra-b6010-48gt4x-r/sonic_platform/redfish_api.py +++ b/platform/centec-arm64/sonic-platform-modules-ragile/ra-b6010-48gt4x-r/sonic_platform/redfish_api.py @@ -4,6 +4,7 @@ import json import traceback import datetime +import shlex import os import ssl import subprocess @@ -50,7 +51,7 @@ def get_full_url(self, url): def _exec_cmd(self, cmd): self.redfish_log_debug("Cmd: %s" % cmd) - p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + p = subprocess.Popen(shlex.split(cmd), shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE) p.wait() self.redfish_log_debug("Cmd return: %d" % p.returncode) str_stdout = p.stdout.read().decode('utf-8') @@ -189,7 +190,6 @@ def post_thermal(self, playload): print("post_thermal failed: playload is None") return None return self._redfish_post(self.ThermalUrl, playload) - def post_power(self, playload): """post power info :playload: info to post @@ -200,7 +200,6 @@ def post_power(self, playload): print("post_power failed: playload is None") return None return self._redfish_post(self.PowerUrl, playload) - def post_thresholdSensors(self, playload): """post thresholdSensors info :playload: info to post @@ -211,13 +210,11 @@ def post_thresholdSensors(self, playload): print("post_thresholdSensors failed: playload is None") return None return self._redfish_post(self.ThresholdSensorsUrl, playload) - def get_fanSpeed(self): """Get board led info :returns: class'redfish.rest.v1.RestResponse' or None when failed """ return self._redfish_get(self.FanSpeedUrl) - def post_board(self, playload, board_name="indicatorboard"): """post board info :board_name: name of board, default is "indicatorboard" @@ -230,7 +227,6 @@ def post_board(self, playload, board_name="indicatorboard"): print("post failed: playload is None") return False return self._redfish_post(self.BoardsUrl + board_name, playload) - def get_boardLed(self, board_name="indicatorboard"): """Get boardLed info :board_name: name of board, default is "indicatorboard" @@ -241,13 +237,11 @@ def get_boardLed(self, board_name="indicatorboard"): print("get failed: board_name is None") return None return self._redfish_get(self.BoardsUrl % board_name) - ''' ''' if __name__ == '__main__': redfish = Redfish_Api() - ### get # boards ret = redfish.get_board() @@ -255,25 +249,21 @@ def get_boardLed(self, board_name="indicatorboard"): print("get failed: board") else: print("get succeeded, board:%s" % ret) - ret = redfish.get_thresholdSensors() if ret is None: print("get failed: threshold") else: print("get succeeded, threshold:%s" % ret) - ret = redfish.get_power() if ret is None: print("get failed: power") else: print("get succeeded, power:%s" % ret) - ret = redfish.get_thermal() if ret is None: print("get failed:thermal") else: print("get succeeded,thermal:%s" % ret) - # get playload resp = redfish.get_thresholdSensors() if (resp != None): @@ -283,14 +273,12 @@ def get_boardLed(self, board_name="indicatorboard"): print(resp["Name"]) else: print("Failed: get_thresholdSensors") - ### post # fanSpeed playload = {} playload["FanName"] = 'Fan0' playload["FanSpeedLevelPercents"] = "70" print("post fanSpeed:%s" % redfish.post_fanSpeed(playload)) - #{"LEDs": [{"IndicatorLEDColor": "green","LEDType": "sys"},{"IndicatorLEDColor": "off","LEDType": "pwr"},{"IndicatorLEDColor": "green","LEDType": "fan"}]} playload = {} led = {}