tools: Add pathspace option to generate_support_bundle

Adding a `-N` pathspace option to the generate_support_bundle.py
to support FRR running in a non-default namespace with a prefix
on the config/socket options.
The same pathspace will be prepended to the output log files (if
specified)

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
This commit is contained in:
Martin Winter 2025-04-10 15:58:44 +02:00
parent 86f66afc52
commit 9acadf8d3f
No known key found for this signature in database
GPG key ID: 05A4ECF8C0102306

View file

@ -32,6 +32,9 @@ def main():
parser.add_argument( parser.add_argument(
"-l", "--log-dir", default="/var/log/frr", help="directory for logfiles" "-l", "--log-dir", default="/var/log/frr", help="directory for logfiles"
) )
parser.add_argument(
"-N", "--pathspace", help="Insert prefix into config & socket paths"
)
args = parser.parse_args() args = parser.parse_args()
collecting = False # file format has sentinels (seem superfluous) collecting = False # file format has sentinels (seem superfluous)
@ -69,13 +72,22 @@ def main():
# Spawn a vtysh to fetch each set of commands # Spawn a vtysh to fetch each set of commands
procs = [] procs = []
for proc in proc_cmds: for proc in proc_cmds:
ofn = os.path.join(args.log_dir, proc + "_support_bundle.log") if args.pathspace:
p = subprocess.Popen( ofn = os.path.join(args.log_dir, args.pathspace + "_" + proc + "_support_bundle.log")
["/usr/bin/env", "vtysh", "-t"], p = subprocess.Popen(
stdin=proc_cmds[proc], ["/usr/bin/env", "vtysh", "-t", "-N", args.pathspace],
stdout=open_with_backup(ofn), stdin=proc_cmds[proc],
stderr=subprocess.STDOUT, stdout=open_with_backup(ofn),
) stderr=subprocess.STDOUT,
)
else:
ofn = os.path.join(args.log_dir, proc + "_support_bundle.log")
p = subprocess.Popen(
["/usr/bin/env", "vtysh", "-t"],
stdin=proc_cmds[proc],
stdout=open_with_backup(ofn),
stderr=subprocess.STDOUT,
)
procs.append(p) procs.append(p)
for p in procs: for p in procs: