script/rpc: do not send rpc when no arguments provided
Any time script is called an RPC is called and socket connection is attempted. This should not be required when no arguments were provided, such as calling help to explore possible options. Example of the error: [tzawadzk@PowerEdgeFour spdk]$ sudo ./scripts/rpc.py Traceback (most recent call last): File "/home/tzawadzk/spdk/scripts/rpc/client.py", line 40, in __init__ self.sock.connect(addr) ConnectionRefusedError: [Errno 111] Connection refused During handling of the above exception, another exception occurred: Traceback (most recent call last): File "./scripts/rpc.py", line 2438, in <module> args.client = rpc.client.JSONRPCClient(args.server_addr, args.port, args.timeout, log_level=getattr(logging, args.verbose.upper())) File "/home/tzawadzk/spdk/scripts/rpc/client.py", line 56, in __init__ "Error details: %s" % (addr, ex)) rpc.client.JSONRPCException: Error while connecting to /var/tmp/spdk.sock Error details: [Errno 111] Connection refused Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I3734e1603fa7151fd53b99b8af4ea79bf82fe0f3 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2124 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
This commit is contained in:
parent
d9d62e1103
commit
17c2f4ee8f
@ -2410,6 +2410,11 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
|
||||
exit(1)
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
if sys.stdin.isatty() and not hasattr(args, 'func'):
|
||||
# No arguments and no data piped through stdin
|
||||
parser.print_help()
|
||||
exit(1)
|
||||
if args.is_server:
|
||||
for input in sys.stdin:
|
||||
cmd = shlex.split(input)
|
||||
@ -2442,9 +2447,5 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
|
||||
except JSONRPCException as ex:
|
||||
print(ex.message)
|
||||
exit(1)
|
||||
elif sys.stdin.isatty():
|
||||
# No arguments and no data piped through stdin
|
||||
parser.print_help()
|
||||
exit(1)
|
||||
else:
|
||||
execute_script(parser, args.client, sys.stdin)
|
||||
|
Loading…
x
Reference in New Issue
Block a user