]> git.puffer.fish Git - mirror/frr.git/commitdiff
tools: Add pathspace option to generate_support_bundle 18635/head
authorMartin Winter <mwinter@opensourcerouting.org>
Thu, 10 Apr 2025 13:58:44 +0000 (15:58 +0200)
committerMartin Winter <mwinter@opensourcerouting.org>
Thu, 10 Apr 2025 14:47:27 +0000 (16:47 +0200)
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>
tools/generate_support_bundle.py

index 04a374d850a8f8c3955d4a3ffcedc20a9f24edf2..a646e7eea17d7323091c4b09ecc5ddfbab347d44 100755 (executable)
@@ -32,6 +32,9 @@ def main():
     parser.add_argument(
         "-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()
 
     collecting = False  # file format has sentinels (seem superfluous)
@@ -69,13 +72,22 @@ def main():
     # Spawn a vtysh to fetch each set of commands
     procs = []
     for proc in proc_cmds:
-        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,
-        )
+        if args.pathspace:
+            ofn = os.path.join(args.log_dir, args.pathspace + "_" + proc + "_support_bundle.log")
+            p = subprocess.Popen(
+                ["/usr/bin/env", "vtysh", "-t", "-N", args.pathspace],
+                stdin=proc_cmds[proc],
+                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)
 
     for p in procs: