def get(self, init_start=False, retry_count=1):
"""Get or start linux host instance.
Args:
init_start(bool): Perform switch start operation or not
retry_count(int): Number of retries to start(restart) linux host
Returns:
None or raise an exception.
Notes:
Also self.opts.fail_ctrl attribute affects logic of this method.
fail_ctrl is set in py.test command line options (read py.test --help for more information).
"""
# If fail_ctrl != "restart", restart retries won't be performed
# as restart is not implemented for lhosts, retries makes no sense.
# if self.opts.fail_ctrl != "restart":
# retry_count = 1
try:
if init_start:
self.start()
else:
self.waiton()
except KeyboardInterrupt as ex:
message = "KeyboardInterrupt while checking device {0}({1})...".format(
self.name, self.ipaddr)
self.class_logger.info(message)
self.sanitize()
pytest.exit(message)
except Exception:
self.class_logger.error(
"Error while checking device %s(%s)...", self.name, self.ipaddr)
exc_type, exc_value, exc_traceback = sys.exc_info()
traceback_message = traceback.format_exception(exc_type, exc_value, exc_traceback)
message = "Error while checking device {0}({1}):\n{2}".format(
self.name, self.ipaddr, "".join(traceback_message))
sys.stderr.write(message)
sys.stderr.flush()
pytest.fail(message)
评论列表
文章目录