scripts/rpc.py: fix pipe for whitespace separated list arguments
Ordinary python str.split() will by default split on each whitespace. This includes arguments for rpc.py which expect a whitespace separated list, eg. construct_raid_bdev -b "Bdev_1 Bdev_2". shlex.split() prevents splitting on quoted arguments. Change-Id: If37eb87cf82a161263f2b247baff5c8a77c43efc Signed-off-by: Karol Latecki <karol.latecki@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453652 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
211cb4c250
commit
22c3befd3d
@ -6,6 +6,7 @@ import logging
|
|||||||
import argparse
|
import argparse
|
||||||
import rpc
|
import rpc
|
||||||
import sys
|
import sys
|
||||||
|
import shlex
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from shlex import quote
|
from shlex import quote
|
||||||
@ -1802,7 +1803,7 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse
|
|||||||
|
|
||||||
def execute_script(parser, client, fd):
|
def execute_script(parser, client, fd):
|
||||||
for rpc_call in map(str.rstrip, fd):
|
for rpc_call in map(str.rstrip, fd):
|
||||||
args = parser.parse_args(rpc_call.split())
|
args = parser.parse_args(shlex.split(rpc_call))
|
||||||
args.client = client
|
args.client = client
|
||||||
call_rpc_func(args)
|
call_rpc_func(args)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user