diff --git a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/accton_as4630_54pe_monitor_fan.py b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/accton_as4630_54pe_monitor_fan.py index 9e9645485bb..4a0b0ec492e 100755 --- a/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/accton_as4630_54pe_monitor_fan.py +++ b/platform/broadcom/sonic-platform-modules-accton/as4630-54pe/utils/accton_as4630_54pe_monitor_fan.py @@ -19,6 +19,7 @@ # HISTORY: # mm/dd/yyyy (A.D.) # 5/15/2019: Jostar create for as4630-54pe +# 9/25/2019: Jostar fix that get fan_fault=1 when fan_insert and read cpld # ------------------------------------------------------------------ try: @@ -101,13 +102,9 @@ def __init__(self, log_file, log_level): logging.getLogger('').addHandler(console) sys_handler = logging.handlers.SysLogHandler(address = '/dev/log') - #sys_handler.setLevel(logging.WARNING) sys_handler.setLevel(logging.INFO) logging.getLogger('').addHandler(sys_handler) - - #logging.debug('SET. logfile:%s / loglevel:%d', log_file, log_level) - def manage_fan(self): FAN_STATE_REMOVE = 0 @@ -137,6 +134,7 @@ def manage_fan(self): if fan_state[idx]!=0: fan_state[idx]=FAN_STATE_REMOVE logging.warning("Alarm for FAN-%d absent is detected", idx+1) + fan_status_state[idx]=FAN_STATUS_NORMAL for idx in range (0, self.fan_num): node = self.fan_path + self.fault[idx] @@ -147,13 +145,15 @@ def manage_fan(self): return False content = val_file.readline().rstrip() val_file.close() - # content is a string, either "0" or "1" if content == "1": if fan_status_state[idx]!=FAN_STATUS_FAULT: if fan_state[idx] == FAN_STATE_INSERT: logging.warning("Alarm for FAN-%d failed is detected", idx+1); fan_status_state[idx]=FAN_STATUS_FAULT else: + if fan_status_state[idx]==FAN_STATUS_FAULT and fan_state[idx] == FAN_STATE_INSERT: + logging.info("FAN-%d becomes operational", idx+1) + fan_status_state[idx]=FAN_STATUS_NORMAL return True diff --git a/platform/broadcom/sonic-platform-modules-accton/as5835-54t/utils/accton_as5835_54t_monitor_fan.py b/platform/broadcom/sonic-platform-modules-accton/as5835-54t/utils/accton_as5835_54t_monitor_fan.py index 30f9ccd9e8b..49706a07bcd 100755 --- a/platform/broadcom/sonic-platform-modules-accton/as5835-54t/utils/accton_as5835_54t_monitor_fan.py +++ b/platform/broadcom/sonic-platform-modules-accton/as5835-54t/utils/accton_as5835_54t_monitor_fan.py @@ -19,6 +19,7 @@ # HISTORY: # mm/dd/yyyy (A.D.) # 5/27/2019: Brandon_Chuang create +# 9/25/2019: Jostar fix that get fan_fault=1 when fan_insert and read cpld # ------------------------------------------------------------------ try: @@ -66,9 +67,6 @@ def match(self, *args): # Make a class we can use to capture stdout and sterr in the log class device_monitor(object): - #/sys/bus/i2c/devices/3-0063 - #fan1_present, fan5_present - def __init__(self, log_file, log_level): self.fan_num = 5 @@ -109,13 +107,9 @@ def __init__(self, log_file, log_level): logging.getLogger('').addHandler(console) sys_handler = logging.handlers.SysLogHandler(address = '/dev/log') - #sys_handler.setLevel(logging.WARNING) sys_handler.setLevel(logging.INFO) logging.getLogger('').addHandler(sys_handler) - - #logging.debug('SET. logfile:%s / loglevel:%d', log_file, log_level) - def manage_fan(self): FAN_STATE_REMOVE = 0 @@ -136,7 +130,6 @@ def manage_fan(self): return False content = val_file.readline().rstrip() val_file.close() - # content is a string, either "0" or "1" if content == "1": if fan_state[idx]!=1: fan_state[idx]=FAN_STATE_INSERT @@ -145,6 +138,7 @@ def manage_fan(self): if fan_state[idx]!=0: fan_state[idx]=FAN_STATE_REMOVE logging.warning("Alarm for FAN-%d absent is detected", idx+1) + fan_status_state[idx]=FAN_STATUS_NORMAL for idx in range (0, self.fan_num): node = self.fan_path + self.fault[idx] @@ -155,13 +149,15 @@ def manage_fan(self): return False content = val_file.readline().rstrip() val_file.close() - # content is a string, either "0" or "1" if content == "1": if fan_status_state[idx]!=FAN_STATUS_FAULT: if fan_state[idx] == FAN_STATE_INSERT: logging.warning("Alarm for FAN-%d failed is detected", idx+1); fan_status_state[idx]=FAN_STATUS_FAULT else: + if fan_status_state[idx]==FAN_STATUS_FAULT and fan_state[idx] == FAN_STATE_INSERT: + logging.info("FAN-%d becomes operational", idx+1) + fan_status_state[idx]=FAN_STATUS_NORMAL return True diff --git a/platform/broadcom/sonic-platform-modules-accton/as5835-54x/utils/accton_as5835_54x_monitor_fan.py b/platform/broadcom/sonic-platform-modules-accton/as5835-54x/utils/accton_as5835_54x_monitor_fan.py index 842e76ce374..15804a971ca 100755 --- a/platform/broadcom/sonic-platform-modules-accton/as5835-54x/utils/accton_as5835_54x_monitor_fan.py +++ b/platform/broadcom/sonic-platform-modules-accton/as5835-54x/utils/accton_as5835_54x_monitor_fan.py @@ -19,6 +19,7 @@ # HISTORY: # mm/dd/yyyy (A.D.) # 5/27/2019: Brandon_Chuang create +# 9/25/2019: Jostar fix that get fan_fault=1 when fan_insert and read cpld # ------------------------------------------------------------------ try: @@ -66,9 +67,6 @@ def match(self, *args): # Make a class we can use to capture stdout and sterr in the log class device_monitor(object): - #/sys/bus/i2c/devices/3-0063 - #fan1_present, fan5_present - def __init__(self, log_file, log_level): self.fan_num = 5 @@ -109,13 +107,9 @@ def __init__(self, log_file, log_level): logging.getLogger('').addHandler(console) sys_handler = logging.handlers.SysLogHandler(address = '/dev/log') - #sys_handler.setLevel(logging.WARNING) sys_handler.setLevel(logging.INFO) logging.getLogger('').addHandler(sys_handler) - - #logging.debug('SET. logfile:%s / loglevel:%d', log_file, log_level) - def manage_fan(self): FAN_STATE_REMOVE = 0 @@ -136,7 +130,6 @@ def manage_fan(self): return False content = val_file.readline().rstrip() val_file.close() - # content is a string, either "0" or "1" if content == "1": if fan_state[idx]!=1: fan_state[idx]=FAN_STATE_INSERT @@ -145,6 +138,7 @@ def manage_fan(self): if fan_state[idx]!=0: fan_state[idx]=FAN_STATE_REMOVE logging.warning("Alarm for FAN-%d absent is detected", idx+1) + fan_status_state[idx]=FAN_STATUS_NORMAL for idx in range (0, self.fan_num): node = self.fan_path + self.fault[idx] @@ -155,13 +149,15 @@ def manage_fan(self): return False content = val_file.readline().rstrip() val_file.close() - # content is a string, either "0" or "1" if content == "1": if fan_status_state[idx]!=FAN_STATUS_FAULT: if fan_state[idx] == FAN_STATE_INSERT: logging.warning("Alarm for FAN-%d failed is detected", idx+1); fan_status_state[idx]=FAN_STATUS_FAULT else: + if fan_status_state[idx]==FAN_STATUS_FAULT and fan_state[idx] == FAN_STATE_INSERT: + logging.info("FAN-%d becomes operational", idx+1) + fan_status_state[idx]=FAN_STATUS_NORMAL return True diff --git a/platform/broadcom/sonic-platform-modules-accton/as7326-56x/utils/accton_as7326_monitor_fan.py b/platform/broadcom/sonic-platform-modules-accton/as7326-56x/utils/accton_as7326_monitor_fan.py index 905bd837d39..5a3fb48dfae 100755 --- a/platform/broadcom/sonic-platform-modules-accton/as7326-56x/utils/accton_as7326_monitor_fan.py +++ b/platform/broadcom/sonic-platform-modules-accton/as7326-56x/utils/accton_as7326_monitor_fan.py @@ -19,6 +19,7 @@ # HISTORY: # mm/dd/yyyy (A.D.) # 7/2/2018: Jostar create for as7326-56x +# 9/25/2019: Jostar fix that get fan_fault=1 when fan_insert and read cpld # ------------------------------------------------------------------ try: @@ -65,9 +66,6 @@ def match(self, *args): # Make a class we can use to capture stdout and sterr in the log class device_monitor(object): - #/sys/bus/i2c/devices/11-0066 - #fan1_present, fan6_present - def __init__(self, log_file, log_level): self.fan_num = 6 @@ -110,13 +108,9 @@ def __init__(self, log_file, log_level): logging.getLogger('').addHandler(console) sys_handler = logging.handlers.SysLogHandler(address = '/dev/log') - #sys_handler.setLevel(logging.WARNING) sys_handler.setLevel(logging.INFO) logging.getLogger('').addHandler(sys_handler) - - #logging.debug('SET. logfile:%s / loglevel:%d', log_file, log_level) - def manage_fan(self): FAN_STATE_REMOVE = 0 @@ -137,7 +131,6 @@ def manage_fan(self): return False content = val_file.readline().rstrip() val_file.close() - # content is a string, either "0" or "1" if content == "1": if fan_state[idx]!=1: fan_state[idx]=FAN_STATE_INSERT @@ -146,6 +139,7 @@ def manage_fan(self): if fan_state[idx]!=0: fan_state[idx]=FAN_STATE_REMOVE logging.warning("Alarm for FAN-%d absent is detected", idx+1) + fan_status_state[idx]=FAN_STATUS_NORMAL for idx in range (0, self.fan_num): node = self.fan_path + self.fault[idx] @@ -156,13 +150,15 @@ def manage_fan(self): return False content = val_file.readline().rstrip() val_file.close() - # content is a string, either "0" or "1" if content == "1": if fan_status_state[idx]!=FAN_STATUS_FAULT: if fan_state[idx] == FAN_STATE_INSERT: logging.warning("Alarm for FAN-%d failed is detected", idx+1); fan_status_state[idx]=FAN_STATUS_FAULT else: + if fan_status_state[idx]==FAN_STATUS_FAULT and fan_state[idx] == FAN_STATE_INSERT: + logging.info("FAN-%d becomes operational", idx+1) + fan_status_state[idx]=FAN_STATUS_NORMAL return True diff --git a/platform/broadcom/sonic-platform-modules-accton/as7726-32x/utils/accton_as7726_32x_monitor_fan.py b/platform/broadcom/sonic-platform-modules-accton/as7726-32x/utils/accton_as7726_32x_monitor_fan.py index cf86a14adc3..946b3cda9d6 100755 --- a/platform/broadcom/sonic-platform-modules-accton/as7726-32x/utils/accton_as7726_32x_monitor_fan.py +++ b/platform/broadcom/sonic-platform-modules-accton/as7726-32x/utils/accton_as7726_32x_monitor_fan.py @@ -18,7 +18,8 @@ # ------------------------------------------------------------------ # HISTORY: # mm/dd/yyyy (A.D.) -# 7/2/2018: Jostar create for as7326-56x +# 7/2/2018: Jostar create for as7726-32x +# 9/25/2019: Jostar fix that get fan_fault=1 when fan_insert and read cpld # ------------------------------------------------------------------ try: @@ -107,13 +108,9 @@ def __init__(self, log_file, log_level): logging.getLogger('').addHandler(console) sys_handler = logging.handlers.SysLogHandler(address = '/dev/log') - #sys_handler.setLevel(logging.WARNING) sys_handler.setLevel(logging.INFO) logging.getLogger('').addHandler(sys_handler) - - #logging.debug('SET. logfile:%s / loglevel:%d', log_file, log_level) - def manage_fan(self): FAN_STATE_REMOVE = 0 @@ -134,7 +131,6 @@ def manage_fan(self): return False content = val_file.readline().rstrip() val_file.close() - # content is a string, either "0" or "1" if content == "1": if fan_state[idx]!=1: fan_state[idx]=FAN_STATE_INSERT @@ -143,6 +139,7 @@ def manage_fan(self): if fan_state[idx]!=0: fan_state[idx]=FAN_STATE_REMOVE logging.warning("Alarm for FAN-%d absent is detected", idx+1) + fan_status_state[idx]=FAN_STATUS_NORMAL for idx in range (0, self.fan_num): node = self.fan_path + self.fault[idx] @@ -153,13 +150,15 @@ def manage_fan(self): return False content = val_file.readline().rstrip() val_file.close() - # content is a string, either "0" or "1" if content == "1": if fan_status_state[idx]!=FAN_STATUS_FAULT: if fan_state[idx] == FAN_STATE_INSERT: logging.warning("Alarm for FAN-%d failed is detected", idx+1); fan_status_state[idx]=FAN_STATUS_FAULT else: + if fan_status_state[idx]==FAN_STATUS_FAULT and fan_state[idx] == FAN_STATE_INSERT: + logging.info("FAN-%d becomes operational", idx+1) + fan_status_state[idx]=FAN_STATUS_NORMAL return True diff --git a/platform/broadcom/sonic-platform-modules-accton/as9716-32d/utils/accton_as9716_32d_monitor_fan.py b/platform/broadcom/sonic-platform-modules-accton/as9716-32d/utils/accton_as9716_32d_monitor_fan.py index 8c2b79ac3d6..e1230f36a6a 100755 --- a/platform/broadcom/sonic-platform-modules-accton/as9716-32d/utils/accton_as9716_32d_monitor_fan.py +++ b/platform/broadcom/sonic-platform-modules-accton/as9716-32d/utils/accton_as9716_32d_monitor_fan.py @@ -19,6 +19,7 @@ # HISTORY: # mm/dd/yyyy (A.D.) # 12/13/2018: Jostar create for as9716-32d +# 9/25/2019: Jostar fix that get fan_fault=1 when fan_insert and read cpld # ------------------------------------------------------------------ try: @@ -107,13 +108,9 @@ def __init__(self, log_file, log_level): logging.getLogger('').addHandler(console) sys_handler = logging.handlers.SysLogHandler(address = '/dev/log') - #sys_handler.setLevel(logging.WARNING) sys_handler.setLevel(logging.INFO) logging.getLogger('').addHandler(sys_handler) - - #logging.debug('SET. logfile:%s / loglevel:%d', log_file, log_level) - def manage_fan(self): FAN_STATE_REMOVE = 0 @@ -134,7 +131,6 @@ def manage_fan(self): return False content = val_file.readline().rstrip() val_file.close() - # content is a string, either "0" or "1" if content == "1": if fan_state[idx]!=1: fan_state[idx]=FAN_STATE_INSERT @@ -143,6 +139,7 @@ def manage_fan(self): if fan_state[idx]!=0: fan_state[idx]=FAN_STATE_REMOVE logging.warning("Alarm for FAN-%d absent is detected", idx+1) + fan_status_state[idx]=FAN_STATUS_NORMAL for idx in range (0, self.fan_num): node = self.fan_path + self.fault[idx] @@ -153,13 +150,15 @@ def manage_fan(self): return False content = val_file.readline().rstrip() val_file.close() - # content is a string, either "0" or "1" if content == "1": if fan_status_state[idx]!=FAN_STATUS_FAULT: if fan_state[idx] == FAN_STATE_INSERT: logging.warning("Alarm for FAN-%d failed is detected", idx+1); fan_status_state[idx]=FAN_STATUS_FAULT else: + if fan_status_state[idx]==FAN_STATUS_FAULT and fan_state[idx] == FAN_STATE_INSERT: + logging.info("FAN-%d becomes operational", idx+1) + fan_status_state[idx]=FAN_STATUS_NORMAL return True