From: Kefu Chai Date: Fri, 6 Mar 2020 04:17:40 +0000 (+0800) Subject: qa/tasks/ceph.py: quote "" in command line X-Git-Tag: v15.1.1~92^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F33775%2Fhead;p=ceph.git qa/tasks/ceph.py: quote "" in command line otherwise bash will intepret "kind" as a file when handling command like ``` sudo zgrep /var/log/ceph/valgrind/* /dev/null | sort | uniq ``` and try to feed its content to zgrep, and write the output of zgrep to /var/log/ceph/valgrind/*. this is not the intended behavior. what we what to do is to pass "" as an argument to zgrep, along with the globbed files names which matches "/var/log/ceph/valgrind/*". in this change, "" is quoted as in the command line. it's also what `pipes.quote()` does before the change of 35cf5131e7152ce20d916aa99c124751d6a97f5c. this addresses the regression introduced by 35cf5131e7152ce20d916aa99c124751d6a97f5c. Fixes: https://tracker.ceph.com/issues/44454 Signed-off-by: Kefu Chai --- diff --git a/qa/tasks/ceph.py b/qa/tasks/ceph.py index 740601908c28..5000198ee0d4 100644 --- a/qa/tasks/ceph.py +++ b/qa/tasks/ceph.py @@ -314,10 +314,10 @@ def valgrind_post(ctx, config): for remote in ctx.cluster.remotes.keys(): # look at valgrind logs for each node proc = remote.run( - args='sudo zgrep /var/log/ceph/valgrind/* ' + args="sudo zgrep '' /var/log/ceph/valgrind/* " # include a second file so that we always get # a filename prefix on the output - '/dev/null | sort | uniq', + "/dev/null | sort | uniq", wait=False, check_status=False, stdout=BytesIO(),