otherwise bash will intepret "kind" as a file when handling command like
```
sudo zgrep <kind> /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 "<kind>" as an argument to zgrep, along with
the globbed files names which matches "/var/log/ceph/valgrind/*".
in this change, "<kind>" 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 <kchai@redhat.com>
(cherry picked from commit
da736c22c5ac39f3b45018f6a9a52cc469e504d5)
for remote in ctx.cluster.remotes.keys():
# look at valgrind logs for each node
proc = remote.run(
- args='sudo zgrep <kind> /var/log/ceph/valgrind/* '
+ args="sudo zgrep '<kind>' /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(),