]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tasks/ceph.py: quote "<kind>" in command line
authorKefu Chai <kchai@redhat.com>
Fri, 6 Mar 2020 04:17:40 +0000 (12:17 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 2 Jun 2020 02:32:23 +0000 (10:32 +0800)
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)

qa/tasks/ceph.py

index 791787865ac69bb029740677fe03de18dc4c7e7e..f2380e61a48de9e0f93fb48e2f52e8f9bd694795 100644 (file)
@@ -313,10 +313,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 <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(),