#!/usr/bin/python3 # -*- coding: UTF-8 -*- #------------------------------------------------------------------------------- # Name: ruijieconfig.py # Purpose: block the difference between various product/onie version for other module # # Author: rd # # Created: 02/07/2018 # Copyright: (c) rd 2018 #------------------------------------------------------------------------------- import sys import os from rjutil.baseutil import get_machine_info from rjutil.baseutil import get_platform_info __all__ = ["getdeviceplatform", "get_rjconfig_info", "MONITOR_CONST", "MAILBOX_DIR", "DEVICE", "GLOBALCONFIG", "GLOBALINITPARAM", "GLOBALINITCOMMAND", "MAC_LED_RESET", "STARTMODULE", "fanloc", "RUIJIE_CARDID", "RUIJIE_PRODUCTNAME", "RUIJIE_PART_NUMBER", "RUIJIE_LABEL_REVISION", "RUIJIE_MAC_SIZE", "RUIJIE_MANUF_NAME", "RUIJIE_MANUF_COUNTRY", "RUIJIE_VENDOR_NAME", "RUIJIE_DIAG_VERSION", "RUIJIE_SERVICE_TAG", "E2_PROTECT", "E2_LOC", "FAN_PROTECT", "FANS_DEF", "MONITOR_FANS_LED", "MONITOR_SYS_FAN_LED", "MONITOR_SYS_PSU_LED", "MONITOR_FAN_STATUS", "MONITOR_PSU_STATUS", "MONITOR_DEV_STATUS", "MONITOR_DEV_STATUS_DECODE", "DEV_LEDS", "MAC_AVS_PARAM", "MAC_DEFAULT_PARAM", "FRULISTS", "rg_eeprom", "i2ccheck_params", "FANCTROLDEBUG", "DEVMONITORDEBUG"] def getdeviceplatform(): x = get_platform_info(get_machine_info()) if x != None: filepath = "/usr/share/sonic/device/" + x return filepath platform = get_platform_info(get_machine_info()) # platform get platform info x86_64-ruijie_b6520-64cq-r0 platformpath = getdeviceplatform() # platformpath get mappable docker contents /usr/share/sonic/device/x86_64-ruijie_b6520-64cq-r0 MAILBOX_DIR = "/sys/bus/i2c/devices/" # sysfs top contents grtd_productfile = (platform + "_config").replace("-","_") common_productfile = "ruijiecommon" configfile_pre = "/usr/local/bin/" # py's contents, use /usr/local/bin temporarily sys.path.append(platformpath) sys.path.append(configfile_pre) def get_rjconfig_info(attr_key): rjconf_filename = platformpath + "/plugins" + "/rj.conf" if not os.path.isfile(rjconf_filename): return None with open(rjconf_filename) as rjconf_file: for line in rjconf_file: tokens = line.split('=') if len(tokens) < 2: continue if tokens[0] == attr_key: return tokens[1].strip() return None #####BMC-Password### OPENBMC_PASSWORD = get_rjconfig_info("OPENBMC_PASSWORD") OPENBMC_PASSWORD = OPENBMC_PASSWORD if(OPENBMC_PASSWORD != None) else "0penBmc" ############################################################################################ ## if there is no specific file, use common file module_product = None if os.path.exists(configfile_pre + grtd_productfile + ".py"): module_product = __import__(grtd_productfile, globals(), locals(), [], 0) elif os.path.exists(configfile_pre + common_productfile + ".py"): module_product = __import__(common_productfile, globals(), locals(), [], 0) else: print("No Configuration existed, quit") exit(-1) ############################################################################################ DEVICE = module_product.DEVICE ##########Driver loading needs parameters #get different product configuration RUIJIE_GLOBALCONFIG ={ "DRIVERLISTS":module_product.DRIVERLISTS, "QSFP": {"startbus":module_product.PCA9548START, "endbus":module_product.PCA9548BUSEND}, "DEVS": DEVICE } GLOBALCONFIG = RUIJIE_GLOBALCONFIG GLOBALINITPARAM = module_product.INIT_PARAM GLOBALINITCOMMAND = module_product.INIT_COMMAND fancontrol_loc = module_product.fancontrol_loc fancontrol_config_loc = module_product.fancontrol_config_loc MAC_LED_RESET = module_product.MAC_LED_RESET ###########Stat-up module parameters STARTMODULE = module_product.STARTMODULE FIRMWARE_TOOLS = module_product.FIRMWARE_TOOLS ##########Manufacturing-Test need parameters FACTESTMODULE = module_product.FACTESTMODULE TESTCASE = module_product.TESTCASE menuList = module_product.menuList alltest = module_product.alltest diagtestall = module_product.diagtestall looptest = module_product.looptest fanloc = module_product.fanloc fanlevel = module_product.fanlevel # fan adjustment level TEMPIDCHANGE = module_product.TEMPIDCHANGE CPLDVERSIONS = module_product.CPLDVERSIONS RUIJIE_CARDID = module_product.RUIJIE_CARDID RUIJIE_PRODUCTNAME = module_product.RUIJIE_PRODUCTNAME RUIJIE_PART_NUMBER = module_product.RUIJIE_PART_NUMBER RUIJIE_LABEL_REVISION = module_product.RUIJIE_LABEL_REVISION RUIJIE_ONIE_VERSION = module_product.RUIJIE_ONIE_VERSION RUIJIE_MAC_SIZE = module_product.RUIJIE_MAC_SIZE RUIJIE_MANUF_NAME = module_product.RUIJIE_MANUF_NAME RUIJIE_MANUF_COUNTRY = module_product.RUIJIE_MANUF_COUNTRY RUIJIE_VENDOR_NAME = module_product.RUIJIE_VENDOR_NAME RUIJIE_DIAG_VERSION = module_product.RUIJIE_DIAG_VERSION RUIJIE_SERVICE_TAG = module_product.RUIJIE_SERVICE_TAG E2_PROTECT = module_product.E2_PROTECT E2_LOC = module_product.E2_LOC FAN_PROTECT = module_product.FAN_PROTECT FANS_DEF = module_product.FANS_DEF MONITOR_SYS_LED = module_product.MONITOR_SYS_LED MONITOR_FANS_LED = module_product.MONITOR_FANS_LED MONITOR_SYS_FAN_LED = module_product.MONITOR_SYS_FAN_LED MONITOR_SYS_PSU_LED = module_product.MONITOR_SYS_PSU_LED MONITOR_FAN_STATUS = module_product.MONITOR_FAN_STATUS MONITOR_PSU_STATUS = module_product.MONITOR_PSU_STATUS MONITOR_DEV_STATUS = module_product.MONITOR_DEV_STATUS MONITOR_DEV_STATUS_DECODE = module_product.MONITOR_DEV_STATUS_DECODE DEV_MONITOR_PARAM = module_product.DEV_MONITOR_PARAM SLOT_MONITOR_PARAM = module_product.SLOT_MONITOR_PARAM DEV_LEDS = module_product.DEV_LEDS MEM_SLOTS = module_product.MEM_SLOTS MAC_AVS_PARAM = module_product.MAC_AVS_PARAM MAC_DEFAULT_PARAM = module_product.MAC_DEFAULT_PARAM E2TYPE = module_product.E2TYPE FRULISTS = module_product.FRULISTS rg_eeprom = "%d-%04x/eeprom" % (E2_LOC["bus"], E2_LOC["devno"]) factest_module = module_product.factest_module LOCAL_LED_CONTROL = module_product.LOCAL_LED_CONTROL PCIe_DEV_LIST = module_product.PCIe_DEV_LIST PCIe_SPEED_ITEM = module_product.PCIe_SPEED_ITEM i2ccheck_params = module_product.i2ccheck_params class MONITOR_CONST: TEMP_MIN = module_product.MONITOR_TEMP_MIN K =module_product.MONITOR_K MAC_IN =module_product.MONITOR_MAC_IN DEFAULT_SPEED =module_product.MONITOR_DEFAULT_SPEED MAX_SPEED =module_product.MONITOR_MAX_SPEED MIN_SPEED =module_product.MONITOR_MIN_SPEED MAC_ERROR_SPEED =module_product.MONITOR_MAC_ERROR_SPEED FAN_TOTAL_NUM =module_product.MONITOR_FAN_TOTAL_NUM MAC_UP_TEMP =module_product.MONITOR_MAC_UP_TEMP MAC_LOWER_TEMP =module_product.MONITOR_MAC_LOWER_TEMP MAC_MAX_TEMP = module_product.MONITOR_MAC_MAX_TEMP MAC_WARNING_THRESHOLD = module_product.MONITOR_MAC_WARNING_THRESHOLD OUTTEMP_WARNING_THRESHOLD = module_product.MONITOR_OUTTEMP_WARNING_THRESHOLD BOARDTEMP_WARNING_THRESHOLD = module_product.MONITOR_BOARDTEMP_WARNING_THRESHOLD CPUTEMP_WARNING_THRESHOLD = module_product.MONITOR_CPUTEMP_WARNING_THRESHOLD INTEMP_WARNING_THRESHOLD = module_product.MONITOR_INTEMP_WARNING_THRESHOLD MAC_CRITICAL_THRESHOLD = module_product.MONITOR_MAC_CRITICAL_THRESHOLD OUTTEMP_CRITICAL_THRESHOLD = module_product.MONITOR_OUTTEMP_CRITICAL_THRESHOLD BOARDTEMP_CRITICAL_THRESHOLD = module_product.MONITOR_BOARDTEMP_CRITICAL_THRESHOLD CPUTEMP_CRITICAL_THRESHOLD = module_product.MONITOR_CPUTEMP_CRITICAL_THRESHOLD INTEMP_CRITICAL_THRESHOLD = module_product.MONITOR_INTEMP_CRITICAL_THRESHOLD CRITICAL_NUM = module_product.MONITOR_CRITICAL_NUM SHAKE_TIME = module_product.MONITOR_SHAKE_TIME MONITOR_INTERVAL= module_product.MONITOR_INTERVAL MONITOR_FALL_TEMP = module_product.MONITOR_FALL_TEMP MONITOR_MAC_SOURCE_SYSFS = module_product.MONITOR_MAC_SOURCE_SYSFS MONITOR_MAC_SOURCE_PATH = module_product.MONITOR_MAC_SOURCE_PATH FANCTROLDEBUG = 0 # 1 means enable DEVMONITORDEBUG = 0 # 1 means enable