]> git.puffer.fish Git - mirror/frr.git/commitdiff
topogen: log diagnostics to file
authorRafael Zalamena <rzalamena@opensourcerouting.org>
Wed, 13 Sep 2017 14:57:58 +0000 (11:57 -0300)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 28 Nov 2018 01:22:12 +0000 (20:22 -0500)
tests/topotests/lib/topogen.py

index aaad5d49d7d7e92ea252d2f24a581e671d20de56..e39803420b32dedf15e697e451fcb47914867bd4 100644 (file)
@@ -40,13 +40,13 @@ Basic usage instructions:
 
 import os
 import sys
+import logging
 import json
 import ConfigParser
 import glob
 import grp
 import platform
 import pwd
-import re
 import subprocess
 
 from mininet.net import Mininet
@@ -883,6 +883,15 @@ def diagnose_env():
     is ok, otherwise `False`.
     """
     ret = True
+
+    # Log diagnostics to file so it can be examined later.
+    fhandler = logging.FileHandler(filename='/tmp/topotests/diagnostics.txt')
+    fhandler.setLevel(logging.DEBUG)
+    fhandler.setFormatter(
+        logging.Formatter(fmt='%(asctime)s %(levelname)s: %(message)s')
+    )
+    logger.addHandler(fhandler)
+
     logger.info('Running environment diagnostics')
 
     # Load configuration
@@ -1006,4 +1015,7 @@ def diagnose_env():
     except:
         logger.warning('failed to find exabgp or returned error')
 
+    # After we logged the output to file, remove the handler.
+    logger.removeHandler(fhandler)
+
     return ret