From: Rishabh Dave Date: Mon, 26 Aug 2019 13:30:43 +0000 (+0530) Subject: qa/vstart_runner.py: add an option to remove old log X-Git-Tag: v15.1.0~1410^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=254f705e272d1bfcef96329dae94c7ce4302738a;p=ceph.git qa/vstart_runner.py: add an option to remove old log Add an option "--clear-old-log" to get rid of log entries before making entries for current batch of tests. Signed-off-by: Rishabh Dave --- diff --git a/doc/dev/developer_guide/index.rst b/doc/dev/developer_guide/index.rst index 8e2af11c045..e474b801aea 100644 --- a/doc/dev/developer_guide/index.rst +++ b/doc/dev/developer_guide/index.rst @@ -1632,6 +1632,7 @@ it would execute a single test. vstart_runner.py can take 3 options - +--clear-old-log deletes old log file before running the test --create create Ceph cluster before running a test --create-cluster-only creates the cluster and quits; tests can be issued later diff --git a/qa/tasks/vstart_runner.py b/qa/tasks/vstart_runner.py index 24be670f8d7..bf0f0254376 100644 --- a/qa/tasks/vstart_runner.py +++ b/qa/tasks/vstart_runner.py @@ -1005,6 +1005,22 @@ def _teardown_cluster(): remote.run(args = [os.path.join(SRC_PREFIX, "stop.sh")], timeout=60) remote.run(args = ['rm', '-rf', './dev', './out']) +def _clear_old_log(): + from os import stat + + try: + stat(logpath) + # would need an update when making this py3 compatible. Use FileNotFound + # instead. + except OSError: + return + else: + os.remove(logpath) + with open(logpath, 'w') as logfile: + logfile.write('') + init_log() + log.info('logging in a fresh file now...') + def exec_test(): # Parse arguments interactive_on_error = False @@ -1014,6 +1030,7 @@ def exec_test(): teardown_cluster = False global log_ps_output log_ps_output = False + clear_old_log = False args = sys.argv[1:] flags = [a for a in args if a.startswith("-")] @@ -1031,6 +1048,9 @@ def exec_test(): teardown_cluster = True elif f == '--log-ps-output': log_ps_output = True + elif f == '--clear-old-log': + clear_old_log = True + _clear_old_log() else: log.error("Unknown option '{0}'".format(f)) sys.exit(-1)