def get(self, init_start=False, retry_count=5):
"""Checking OVS Controller.
Args:
init_start(bool): Flag to start OVS Controller
retry_count(int): Retry attempts count
"""
first_loop = True
# Try to restart if necessary at least several times
retry = 1
# If fail_ctrl != "restart", restart retries won't be performed
if self.opts.fail_ctrl != "restart":
retry_count = 1
while retry <= retry_count:
try:
if first_loop:
if init_start:
self.start()
else:
self.waiton()
else:
self.restart()
retry = retry_count + 1
except Exception:
self.class_logger.info("Error while checking Ovs Controller %s:%s..." % (self.ipaddr, self.port))
retry += 1
first_loop = False
exc_type, exc_value, exc_traceback = sys.exc_info()
traceback_message = traceback.format_exception(exc_type, exc_value, exc_traceback)
message = "Error while checking Ovs Controller %s:%s:\n%s" % (self.ipaddr, self.port, "".join(traceback_message))
sys.stderr.write(message)
sys.stderr.flush()
self.class_logger.log(loggers.levels['ERROR'], message)
if retry >= retry_count + 1:
sys.stderr.write("Could not restart Ovs Controller for %s times. Something goes wrong \n" % (retry_count, ))
sys.stderr.flush()
if self.opts.fail_ctrl == "stop":
pytest.exit(message)
else:
pytest.fail(message)
评论列表
文章目录