]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
tests: fix regression in qa/tasks/ceph_master.py
authorNathan Cutler <ncutler@suse.com>
Mon, 6 Feb 2017 17:43:49 +0000 (18:43 +0100)
committerNathan Cutler <ncutler@suse.com>
Mon, 6 Feb 2017 18:37:38 +0000 (19:37 +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>
qa/tasks/ceph_manager.py

index 94da4a04ca7192fb5e4289d91bf4f90fea514d9d..8e08439e702bb1e5bb73d376bddcf7c07c83b3df 100644 (file)
@@ -301,12 +301,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")