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

index 740601908c28fb37090b3acefc64c3837f3365d5..5000198ee0d4a10ffc4deb4a832cddd491770212 100644 (file)
@@ -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 <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(),