From aa749b60a5701e02104c73bd208ddbfbee44a4bd Mon Sep 17 00:00:00 2001 From: Aravinda VK Date: Tue, 21 Nov 2017 15:34:40 +0530 Subject: [PATCH] Added sosvollist and added --name flag to sosvolinfo Signed-off-by: Aravinda VK --- glustertool/cli.py | 8 ++++++-- glustertool/plugins/sosvolinfo.py | 5 +++++ glustertool/plugins/sosvollist.py | 18 ++++++++++++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 glustertool/plugins/sosvollist.py diff --git a/glustertool/cli.py b/glustertool/cli.py index 1d9face..1a60744 100644 --- a/glustertool/cli.py +++ b/glustertool/cli.py @@ -39,7 +39,10 @@ def parse_tool_json(path): def handle_list(): print ("List of available tools, `glustertool doc ` " - "or `glustertool -h` for more details about the tool.") + "or `glustertool --help` for more details " + "about the tool.\n") + i = 0 + for d in sorted(os.listdir(SUBCMD_DIR)): if d.startswith("__init__"): continue @@ -50,7 +53,8 @@ def handle_list(): if d.endswith(".py"): d = d.replace(".py", "") - print (d) + i += 1 + print("%5d %s" % (i, d)) def handle_doc(subcommand=None): diff --git a/glustertool/plugins/sosvolinfo.py b/glustertool/plugins/sosvolinfo.py index 3430f8f..64a973f 100644 --- a/glustertool/plugins/sosvolinfo.py +++ b/glustertool/plugins/sosvolinfo.py @@ -72,12 +72,17 @@ def cmdargs(parser): # Add arguments for your tool using parser object # For example, parser.add_argument("--name", help="Name") parser.add_argument("path", help="Sosreport path") + parser.add_argument("--name", help="Volume Name") def run(args): volsdir = os.path.join(args.path, "var/lib/glusterd/vols") for v in os.listdir(volsdir): + # If volume name is specified + if args.name is not None and args.name != v: + continue + info_file = os.path.join(volsdir, v, "info") volinfo = None with open(info_file) as f: diff --git a/glustertool/plugins/sosvollist.py b/glustertool/plugins/sosvollist.py new file mode 100644 index 0000000..440949f --- /dev/null +++ b/glustertool/plugins/sosvollist.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python +""" +Extracts Volumes list from the given sosreport path and displays +""" +import os + + +def cmdargs(parser): + # Add arguments for your tool using parser object + # For example, parser.add_argument("--name", help="Name") + parser.add_argument("path", help="Sosreport path") + + +def run(args): + volsdir = os.path.join(args.path, "var/lib/glusterd/vols") + + for v in os.listdir(volsdir): + print(v)