xref: /spdk/scripts/spdkcli.py (revision 0d2745c94b03b159020b6812c6caddb4922e4449)
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("commands", metavar="command", type=str, nargs="*", default="",
19                        help="commands to execute by SPDKCli as one-line command")
20    args = parser.parse_args()
21
22    root_node = UIRoot(args.socket, shell)
23    try:
24        root_node.refresh()
25    except BaseException:
26        pass
27
28    if len(args.commands) > 0:
29        shell.run_cmdline(" ".join(args.commands))
30        sys.exit(0)
31
32    shell.con.display("SPDK CLI v0.1")
33    shell.con.display("")
34    shell.run_interactive()
35
36
37if __name__ == "__main__":
38    main()
39