]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/vstart_runner.py: add an option to remove old log
authorRishabh Dave <ridave@redhat.com>
Mon, 26 Aug 2019 13:30:43 +0000 (19:00 +0530)
committerRishabh Dave <ridave@redhat.com>
Wed, 25 Sep 2019 06:43:10 +0000 (12:13 +0530)
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 <ridave@redhat.com>
doc/dev/developer_guide/index.rst
qa/tasks/vstart_runner.py

index 8e2af11c045e886af45066851272fe6a400b9af0..e474b801aea99b2cdcd155887ac19a48610056f3 100644 (file)
@@ -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
index 24be670f8d76c0f401098c5166e3a9477d983656..bf0f0254376adbe363721a123ef3d34a438313b5 100644 (file)
@@ -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)