scripts/rpc.py: Handle socket connection error

Handle socket exception, print it and exit cleanly.

Change-Id: I7ac899dfe329c7512339549991abea8a6cb09608
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/407308
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
This commit is contained in:
Karol Latecki 2018-04-11 14:42:58 +02:00 committed by Daniel Verkamp
parent b066126b0b
commit 3142d978c3
2 changed files with 20 additions and 12 deletions

View File

@ -932,5 +932,9 @@ if __name__ == "__main__":
args = parser.parse_args()
try:
args.client = rpc.client.JSONRPCClient(args.server_addr, args.port, args.verbose, args.timeout)
except JSONRPCException as ex:
print(ex.message)
exit(1)
args.func(args)

View File

@ -16,6 +16,7 @@ class JSONRPCClient(object):
def __init__(self, addr, port=None, verbose=False, timeout=60.0):
self.verbose = verbose
self.timeout = timeout
try:
if addr.startswith('/'):
self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
self.sock.connect(addr)
@ -27,6 +28,9 @@ class JSONRPCClient(object):
else:
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.connect((addr, port))
except socket.error as ex:
raise JSONRPCException("Error while connecting to %s\n"
"Error details: %s" % (addr, ex))
def __del__(self):
self.sock.close()