mirror of
https://github.com/openvswitch/ovs
synced 2025-10-25 15:07:05 +00:00
jsonrpc.py: Don't swallow errors in transact_block().
If a server returned an error in response to a request, transact_block() would ignore it. Signed-off-by: Ethan Jackson <ethan@nicira.com>
This commit is contained in:
@@ -301,7 +301,10 @@ class Connection(object):
|
|||||||
reply = None
|
reply = None
|
||||||
while not error:
|
while not error:
|
||||||
error, reply = self.recv_block()
|
error, reply = self.recv_block()
|
||||||
if reply and reply.type == Message.T_REPLY and reply.id == id_:
|
if (reply
|
||||||
|
and (reply.type == Message.T_REPLY
|
||||||
|
or reply.type == Message.T_ERROR)
|
||||||
|
and reply.id == id_):
|
||||||
break
|
break
|
||||||
return error, reply
|
return error, reply
|
||||||
|
|
||||||
|
|||||||
@@ -375,6 +375,11 @@ def do_idl(schema_file, remote, *commands):
|
|||||||
sys.stderr.write("jsonrpc transaction failed: %s"
|
sys.stderr.write("jsonrpc transaction failed: %s"
|
||||||
% os.strerror(error))
|
% os.strerror(error))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
elif reply.error is not None:
|
||||||
|
sys.stderr.write("jsonrpc transaction failed: %s"
|
||||||
|
% reply.error)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
sys.stdout.write("%03d: " % step)
|
sys.stdout.write("%03d: " % step)
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
step += 1
|
step += 1
|
||||||
|
|||||||
Reference in New Issue
Block a user