1#!/usr/bin/env python 2import sys 3import argparse 4from os import getuid 5from configshell_fb import ConfigShell 6from spdkcli import UIRoot 7 8 9def main(): 10 """ 11 Start SPDK CLI 12 :return: 13 """ 14 shell = ConfigShell("~/.scripts") 15 16 parser = argparse.ArgumentParser(description="SPDK command line interface") 17 parser.add_argument("-s", dest="socket", help="RPC socket path", default="/var/tmp/spdk.sock") 18 parser.add_argument("-v", dest="verbose", help="Print request/response JSON for configuration calls", 19 default=False, action="store_true") 20 parser.add_argument("commands", metavar="command", type=str, nargs="*", default="", 21 help="commands to execute by SPDKCli as one-line command") 22 args = parser.parse_args() 23 24 root_node = UIRoot(args.socket, shell) 25 root_node.verbose = args.verbose 26 try: 27 root_node.refresh() 28 except BaseException: 29 pass 30 31 if len(args.commands) > 0: 32 shell.run_cmdline(" ".join(args.commands)) 33 sys.exit(0) 34 35 shell.con.display("SPDK CLI v0.1") 36 shell.con.display("") 37 shell.run_interactive() 38 39 40if __name__ == "__main__": 41 main() 42