Commit 6121d38e authored by Jim Harris's avatar Jim Harris Committed by Tomasz Zawadzki
Browse files

rpc.py: use user-specified timeout when executing script



Generally this was working, but bdev_lvol_create_lvstore recently
changed to set its own default (90 seconds) if the user had not
passed one.

The original script execution code didn't account for individual
RPCs doing this, which would result in this RPC and those following
in a script to take on the 90 second default.

Fixes: 679c3183 ("lvol: set default timeout to 90.0 in bdev_lvol_create_lvstore")

Signed-off-by: default avatarJim Harris <jim.harris@samsung.com>
Change-Id: I2d5b88d74ff621392e06040609a305a8aaebcb6c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23766


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Community-CI: Mellanox Build Bot
parent 860de8c3
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -3781,7 +3781,7 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
        args.func(args)
        check_called_name(args.called_rpc_name)

    def execute_script(parser, client, fd):
    def execute_script(parser, client, timeout, fd):
        executed_rpc = ""
        for rpc_call in map(str.rstrip, fd):
            if not rpc_call.strip():
@@ -3793,6 +3793,7 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
                continue
            args = parser.parse_args(rpc_args)
            args.client = client
            args.timeout = timeout
            try:
                call_rpc_func(args)
            except JSONRPCException as ex:
@@ -3904,4 +3905,4 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
            print(ex.message)
            exit(1)
    else:
        execute_script(parser, args.client, sys.stdin)
        execute_script(parser, args.client, args.timeout, sys.stdin)