browbeat/lib/Connmon.py
Joe 6a31697b7d Connmon Result bug
Connmon would barf if the result csv was missing, so to avoid this, I
am adding a retry to starting connmon. It only attempts the retry once.

Change-Id: Ie765f3a4d9ecb3718439fda76c176f3d62fff574
2016-02-02 19:48:41 -05:00

56 lines
1.9 KiB
Python

from Tools import *
class Connmon :
def __init__(self,config):
self.logger = logging.getLogger('browbeat.Connmon')
self.config = config
self.tools = Tools(self.config)
return None
# Start connmond
def start_connmon(self,retry=None):
self.stop_connmon()
tool="connmond"
connmond=self.tools.find_cmd(tool)
if not connmond :
self.logger.error("Unable to find {}".format(tool))
as_sudo = self.config['browbeat']['sudo']
cmd = ""
if as_sudo :
cmd +="sudo "
cmd += "screen -X -S connmond kill"
self.tools.run_cmd(cmd)
self.logger.info("Starting connmond")
cmd = ""
cmd +="{} --config /etc/connmon.cfg > /tmp/connmond 2>&1 &".format(connmond)
self.tools.run_cmd(cmd)
if self.check_connmon_results == False:
if retry == None :
self.start_connmon(retry=True)
else :
return False
else :
return True
def check_connmon_results(self,result_file='/tmp/connmon_results.csv'):
return os.path.isfile(result_file)
# Stop connmond
def stop_connmon(self):
self.logger.info("Stopping connmond")
return self.tools.run_cmd("pkill -9 connmond")
# Create Connmon graphs
def connmon_graphs(self,result_dir,test_name):
cmd="python graphing/connmonplot.py {}/connmon/{}.csv".format(result_dir,
test_name)
return self.tools.run_cmd(cmd)
# Move connmon results
def move_connmon_results(self,result_dir,test_name):
path = "%s/connmon" % result_dir
if not os.path.exists(path) :
os.mkdir(path)
return shutil.move("/tmp/connmon_results.csv",
"{}/connmon/{}.csv".format(result_dir,test_name))