]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
tests: fix regression in qa/tasks/ceph_master.py 13239/head
authorNathan Cutler <ncutler@suse.com>
Mon, 6 Feb 2017 17:43:49 +0000 (18:43 +0100)
committerNathan Cutler <ncutler@suse.com>
Tue, 7 Feb 2017 12:38:37 +0000 (13:38 +0100)
https://github.com/ceph/ceph/pull/13194 introduced a regression:

2017-02-06T16:14:23.162 INFO:tasks.thrashosds.thrasher:Traceback (most recent call last):
  File "/home/teuthworker/src/github.com_ceph_ceph_master/qa/tasks/ceph_manager.py", line 722, in wrapper
    return func(self)
  File "/home/teuthworker/src/github.com_ceph_ceph_master/qa/tasks/ceph_manager.py", line 839, in do_thrash
    self.choose_action()()
  File "/home/teuthworker/src/github.com_ceph_ceph_master/qa/tasks/ceph_manager.py", line 305, in kill_osd
    output = proc.stderr.getvalue()
AttributeError: 'NoneType' object has no attribute 'getvalue'

This is because the original patch failed to pass "stderr=StringIO()" to run().

Fixes: http://tracker.ceph.com/issues/16263
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit db2582e25e390fcaf75952eb59a73dcff643f49c)

qa/tasks/ceph_manager.py

index d0e6a27765e6d734363ec01ef6a9b7c0071a06ee..11bc824d9dd7c3284cf16678ea2a29df9fb3bfd4 100644 (file)
@@ -298,12 +298,13 @@ class Thrasher:
             # import
             cmd = (prefix + "--op import --file {file}")
             cmd = cmd.format(id=imp_osd, file=exp_path)
-            proc = imp_remote.run(args=cmd, wait=True, check_status=False)
-            output = proc.stderr.getvalue()
-            bogosity = "The OSD you are using is older than the exported PG"
-            if proc.exitstatus == 1 and bogosity in output:
-                self.log("OSD older than exported PG"
-                         "...ignored")
+            proc = imp_remote.run(args=cmd, wait=True, check_status=False,
+                                  stderr=StringIO())
+            if proc.exitstatus == 1:
+                bogosity = "The OSD you are using is older than the exported PG"
+                if bogosity in proc.stderr.getvalue():
+                    self.log("OSD older than exported PG"
+                             "...ignored")
             elif proc.exitstatus == 10:
                 self.log("Pool went away before processing an import"
                          "...ignored")