From 22c3befd3da3984c76e1dd02e044319e4b1ca56e Mon Sep 17 00:00:00 2001 From: Karol Latecki Date: Wed, 8 May 2019 12:01:16 +0200 Subject: [PATCH] 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 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453652 Reviewed-by: Tomasz Zawadzki Reviewed-by: Darek Stojaczyk Reviewed-by: Ben Walker Reviewed-by: Pawel Kaminski Tested-by: SPDK CI Jenkins --- scripts/rpc.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/rpc.py b/scripts/rpc.py index 3d5d3a82c..d7b99a6e0 100755 --- a/scripts/rpc.py +++ b/scripts/rpc.py @@ -6,6 +6,7 @@ import logging import argparse import rpc import sys +import shlex try: 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): 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 call_rpc_func(args)