summaryrefslogtreecommitdiff
path: root/tools/generate_support_bundle.py
AgeCommit message (Collapse)Author
2023-02-09*: auto-convert to SPDX License IDsDavid Lamparter
Done with a combination of regex'ing and banging my head against a wall. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-01-06tools: Run formatter over generate_support_bundle.pyDonald Sharp
The generate_support_bundle.py script needs some reformating to meet our standards Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-12-15tools: fix backing up previous logs in generate_support_bundle.pyJonas Gorski
subprocess.check_call needs to be called with shell=True, else it will interpret the string as a single path to execute instead of a command with arguments: Fixes the following error: $ /usr/lib/frr/generate_support_bundle.py Making backup of /var/log/frr/bgp_support_bundle.log Traceback (most recent call last): File "/usr/lib/frr/generate_support_bundle.py", line 89, in <module> main() File "/usr/lib/frr/generate_support_bundle.py", line 80, in main stdout=open_with_backup(ofn), File "/usr/lib/frr/generate_support_bundle.py", line 32, in open_with_backup subprocess.check_call("mv {0} {0}.prev".format(path)) File "/usr/lib/python3.8/subprocess.py", line 359, in check_call retcode = call(*popenargs, **kwargs) File "/usr/lib/python3.8/subprocess.py", line 340, in call with Popen(*popenargs, **kwargs) as p: File "/usr/lib/python3.8/subprocess.py", line 858, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "/usr/lib/python3.8/subprocess.py", line 1704, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'mv /var/log/frr/bgp_support_bundle.log /var/log/frr/bgp_support_bundle.log.prev' Fixes: 5417cc2de ("tests: collect support bundle data in parallel, fix bugs") Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
2021-06-30tests: collect support bundle data in parallel, fix bugsChristian Hopps
Speedup (large topo): OLD: ~6 minutes NEW: ~1 second. (when paired with common_config.py changes) - Collect each "proc" support in parallel - For each "proc" only call vtysh once with all commands Bug fixes: - output was broken, a dump of python "repr" format of str. Signed-off-by: Christian Hopps <chopps@labn.net>
2021-02-15tests: make generate support bundle python3 onlyMark Stapp
Make the generate-support-bundle script and interactions more python3-friendly, and use python3 explicitly. Signed-off-by: Mark Stapp <mjs@voltanet.io>
2020-10-07*: reformat python fileswhitespace
We are now using black. Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2020-01-25tools: Update generate_support_bundle.py to support Python 3Martin Winter
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2019-09-13tools: Modifications to copy support bundle filesSri Mohana Singamsetty
This commit is to copy the support bundle scripts to appropriate directories during installation Signed-off-by: Sri Mohana Singamsetty <msingamsetty@vmware.com>
2019-02-20FRR: Python script to generate support bundle for FRRSri Mohana Singamsetty
This has a python script that helps in collecting various CLI show command outputs in an automated way. This commit has two files. 1.Text Configuration file: support_bundle_commands.conf - This file has list of CLI show commands to be executed. This file will be in tools/etc/frr/ directory. On executing command "sudo install -m 644 tools/etc/frr/ support_bundle_commands.conf /etc/frr/support_bundle_commands.conf", as part of FRR installation, this file will be copied into /etc/frr directory. 2.Python script file: generate_support_bundle.py - This file has the python code that has the below functionality. * It reads the support_bundle_commands.conf file. For each process present in the conf file, it creates a support_bundle file. For example, it creates bgp_support_bundle.log file for BGP and zebra_support_bundle.log file for Zebra. These files will be created in /var/log/frr/ directory. This is where regular FRR log files are also stored currently. * The script reads the CLI command specified between CLI_START and CLI_END key words for each process. It will execute the commands one by one. * For each such command, the script also appends the current time stamp at which the CLI command is executed. * In case of successful execution of the CLI command, it will copy the CLI output into the above support bundle file. * In case of CLI command failure, it will capture the error thrown and the error is also written into the same file. * A small snippet of the output file is as below. >>[2019-01-02 13:55:23.318987]show bgp summary IPv4 Unicast Summary: BGP router identifier 203.0.113.1, local AS number 65000 vrf-id 0 BGP table version 4 RIB entries 7, using 1176 bytes of memory Peers 1, using 21 KiB of memory Peer groups 1, using 64 bytes of memory Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 203.0.113.2 4 65001 34 34 0 0 0 00:29:47 2 Total number of neighbors 1 >>[2019-01-02 13:55:23.619953]show ip bgp BGP table version is 4, local router ID is 203.0.113.1, vrf id 0 Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, i internal, r RIB-failure, S Stale, R Removed Signed-off-by: Sri Mohana Singamsetty <msingamsetty@vmware.com>