c600aaa732
Resolves: 1676338 Signed-off-by: Honggang Li <honli@redhat.com>
181 lines
8.0 KiB
Diff
181 lines
8.0 KiB
Diff
diff --git a/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py b/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
|
|
index 36b82ff..1d614ac 100755
|
|
--- a/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
|
|
+++ b/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
|
|
@@ -1,87 +1,87 @@
|
|
-#!/usr/bin/python
|
|
-
|
|
-# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
|
|
-#
|
|
-# This software is available to you under a choice of one of two
|
|
-# licenses. You may choose to be licensed under the terms of the GNU
|
|
-# General Public License (GPL) Version 2, available from the file
|
|
-# COPYING in the main directory of this source tree, or the
|
|
-# OpenIB.org BSD license below:
|
|
-#
|
|
-# Redistribution and use in source and binary forms, with or
|
|
-# without modification, are permitted provided that the following
|
|
-# conditions are met:
|
|
-#
|
|
-# - Redistributions of source code must retain the above
|
|
-# copyright notice, this list of conditions and the following
|
|
-# disclaimer.
|
|
-#
|
|
-# - Redistributions in binary form must reproduce the above
|
|
-# copyright notice, this list of conditions and the following
|
|
-# disclaimer in the documentation and/or other materials
|
|
-# provided with the distribution.
|
|
-#
|
|
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
-# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
-# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
-# SOFTWARE.
|
|
-#--
|
|
-
|
|
-"""
|
|
-* $Id : fwreset_status_checker.py 2017-11-28
|
|
-* $Authors : Ahmad Soboh (ahmads@mellanox.com)
|
|
-"""
|
|
-
|
|
-######################################################################
|
|
-# Description: FirmwareResetStatusChecker
|
|
-# OS Support : Linux/Windows.
|
|
-######################################################################
|
|
-
|
|
-
|
|
-class FirmwareResetStatusChecker(object):
|
|
-
|
|
- FirmwareUptimeStatusInit = 0x0
|
|
- FirmwareUptimeStatusBeforeDone = 0x1
|
|
- FirmwareUptimeStatusAfterDone = 0x2
|
|
- FirmwareUptimeStatusError = 0x3
|
|
-
|
|
- FirmwareResetStatusDone = 0x0
|
|
- FirmwareResetStatusFailed = 0x1
|
|
- FirmwareResetStatusUnknown = 0x2
|
|
-
|
|
- def __init__(self, regAccessObj):
|
|
- self._RegAccessObj = regAccessObj
|
|
- self._UptimeBeforeReset = 0x0
|
|
- self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusInit
|
|
- self._UptimeAfterReset = 0x0
|
|
- self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusInit
|
|
-
|
|
- def UpdateUptimeBeforeReset(self):
|
|
- try:
|
|
- self._UptimeBeforeReset = self._RegAccessObj.getFWUptime()
|
|
- self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusBeforeDone
|
|
- except Exception as e:
|
|
- self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusError
|
|
-
|
|
- def UpdateUptimeAfterReset(self):
|
|
- try:
|
|
- self._UptimeAfterReset = self._RegAccessObj.getFWUptime()
|
|
- self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusAfterDone
|
|
- except Exception as e:
|
|
- self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusError
|
|
-
|
|
- def GetStatus(self):
|
|
- if self._UptimeBeforeStatus == FirmwareResetStatusChecker.FirmwareUptimeStatusBeforeDone and\
|
|
- self._UptimeAfterStatus == FirmwareResetStatusChecker.FirmwareUptimeStatusAfterDone:
|
|
- if self._UptimeAfterReset < self._UptimeBeforeReset:
|
|
- return FirmwareResetStatusChecker.FirmwareResetStatusDone
|
|
- else:
|
|
- if self._UptimeBeforeReset > 5: #5 seconds
|
|
- return FirmwareResetStatusChecker.FirmwareResetStatusFailed
|
|
- else:
|
|
- return FirmwareResetStatusChecker.FirmwareResetStatusUnknown
|
|
- return FirmwareResetStatusChecker.FirmwareResetStatusUnknown
|
|
\ No newline at end of file
|
|
+#!/usr/bin/python
|
|
+
|
|
+# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
|
|
+#
|
|
+# This software is available to you under a choice of one of two
|
|
+# licenses. You may choose to be licensed under the terms of the GNU
|
|
+# General Public License (GPL) Version 2, available from the file
|
|
+# COPYING in the main directory of this source tree, or the
|
|
+# OpenIB.org BSD license below:
|
|
+#
|
|
+# Redistribution and use in source and binary forms, with or
|
|
+# without modification, are permitted provided that the following
|
|
+# conditions are met:
|
|
+#
|
|
+# - Redistributions of source code must retain the above
|
|
+# copyright notice, this list of conditions and the following
|
|
+# disclaimer.
|
|
+#
|
|
+# - Redistributions in binary form must reproduce the above
|
|
+# copyright notice, this list of conditions and the following
|
|
+# disclaimer in the documentation and/or other materials
|
|
+# provided with the distribution.
|
|
+#
|
|
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
+# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
+# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
+# SOFTWARE.
|
|
+#--
|
|
+
|
|
+"""
|
|
+* $Id : fwreset_status_checker.py 2017-11-28
|
|
+* $Authors : Ahmad Soboh (ahmads@mellanox.com)
|
|
+"""
|
|
+
|
|
+######################################################################
|
|
+# Description: FirmwareResetStatusChecker
|
|
+# OS Support : Linux/Windows.
|
|
+######################################################################
|
|
+
|
|
+
|
|
+class FirmwareResetStatusChecker(object):
|
|
+
|
|
+ FirmwareUptimeStatusInit = 0x0
|
|
+ FirmwareUptimeStatusBeforeDone = 0x1
|
|
+ FirmwareUptimeStatusAfterDone = 0x2
|
|
+ FirmwareUptimeStatusError = 0x3
|
|
+
|
|
+ FirmwareResetStatusDone = 0x0
|
|
+ FirmwareResetStatusFailed = 0x1
|
|
+ FirmwareResetStatusUnknown = 0x2
|
|
+
|
|
+ def __init__(self, regAccessObj):
|
|
+ self._RegAccessObj = regAccessObj
|
|
+ self._UptimeBeforeReset = 0x0
|
|
+ self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusInit
|
|
+ self._UptimeAfterReset = 0x0
|
|
+ self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusInit
|
|
+
|
|
+ def UpdateUptimeBeforeReset(self):
|
|
+ try:
|
|
+ self._UptimeBeforeReset = self._RegAccessObj.getFWUptime()
|
|
+ self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusBeforeDone
|
|
+ except Exception as e:
|
|
+ self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusError
|
|
+
|
|
+ def UpdateUptimeAfterReset(self):
|
|
+ try:
|
|
+ self._UptimeAfterReset = self._RegAccessObj.getFWUptime()
|
|
+ self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusAfterDone
|
|
+ except Exception as e:
|
|
+ self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusError
|
|
+
|
|
+ def GetStatus(self):
|
|
+ if self._UptimeBeforeStatus == FirmwareResetStatusChecker.FirmwareUptimeStatusBeforeDone and\
|
|
+ self._UptimeAfterStatus == FirmwareResetStatusChecker.FirmwareUptimeStatusAfterDone:
|
|
+ if self._UptimeAfterReset < self._UptimeBeforeReset:
|
|
+ return FirmwareResetStatusChecker.FirmwareResetStatusDone
|
|
+ else:
|
|
+ if self._UptimeBeforeReset > 5: #5 seconds
|
|
+ return FirmwareResetStatusChecker.FirmwareResetStatusFailed
|
|
+ else:
|
|
+ return FirmwareResetStatusChecker.FirmwareResetStatusUnknown
|
|
+ return FirmwareResetStatusChecker.FirmwareResetStatusUnknown
|