b65e06f998
Why I did it Add two platform that support s3IP framework How I did it Add two platforms supporting S3IP SYSFS (TCS8400, TCS9400) How to verify it Manual test
73 lines
2.2 KiB
Python
Executable File
73 lines
2.2 KiB
Python
Executable File
#!/usr/bin/python3
|
|
# -------------------------------------------------------------------------
|
|
#
|
|
# Author: sonic_rd
|
|
#
|
|
# Created: 02/07/2018
|
|
# Copyright: 2001-2022 Ruijie Network. All rights reserved.
|
|
# -------------------------------------------------------------------------
|
|
import sys
|
|
import os
|
|
import re
|
|
import time
|
|
from ruijieconfig import STARTMODULE
|
|
from platform_util import rj_os_system
|
|
|
|
|
|
def getSdkReg(reg):
|
|
try:
|
|
cmd = "bcmcmd -t 1 'getr %s ' < /dev/null" % reg
|
|
ret, result = rj_os_system(cmd)
|
|
result_t = result.strip().replace("\r", "").replace("\n", "")
|
|
if ret != 0 or "Error:" in result_t:
|
|
return False, result
|
|
patt = r"%s.(.*):(.*)>drivshell" % reg
|
|
rt = re.findall(patt, result_t, re.S)
|
|
test = re.findall("=(.*)", rt[0][0])[0]
|
|
except Exception as e:
|
|
return False, 'getsdk register error'
|
|
return True, test
|
|
|
|
|
|
def waitForDhcp(timeout):
|
|
time_cnt = 0
|
|
while True:
|
|
try:
|
|
ret, status = rj_os_system("systemctl status dhcp_relay.service")
|
|
if (ret == 0 and "running" in status) or "SUCCESS" in status:
|
|
break
|
|
else:
|
|
sys.stdout.write(".")
|
|
sys.stdout.flush()
|
|
time_cnt = time_cnt + 1
|
|
if time_cnt > timeout:
|
|
raise Exception("waitForDhcp timeout")
|
|
time.sleep(1)
|
|
except Exception as e:
|
|
return False
|
|
return True
|
|
|
|
def waitForSdk(sdk_fpath ,timeout):
|
|
time_cnt = 0
|
|
while True:
|
|
try:
|
|
if os.path.exists(sdk_fpath):
|
|
break
|
|
else:
|
|
#sys.stdout.write(".")
|
|
#sys.stdout.flush()
|
|
time_cnt = time_cnt + 1
|
|
if time_cnt > timeout:
|
|
raise Exception("waitForSdk timeout")
|
|
time.sleep(1)
|
|
except Exception as e:
|
|
return False
|
|
return True
|
|
|
|
def waitForDocker(need_restart=False,timeout=180):
|
|
sdkcheck_params = STARTMODULE.get("sdkcheck",{})
|
|
if sdkcheck_params.get("checktype") == "file":
|
|
sdk_fpath = sdkcheck_params.get("sdk_fpath")
|
|
return waitForSdk(sdk_fpath,timeout)
|
|
return waitForDhcp(timeout)
|