probe test can run even if resetswift failed

Bug #1613494 reported by Kota Tsuyuzaki
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Fix Released
Medium
Unassigned

Bug Description

Swift has a bunch of test suites called "probe" to assert the actual statements in the running cluster. In the test suites, we need to cleanup the existing environment to create for each test specific situation (e.g. split brain) and we uses "resetswift" script for that.

That script is called another process via Popen module but the exit status is never checked before tests. When I running a probe test via "sudo nosetests test/probe", a tons of test were failed. Each test reported some assertion errors but but the actual failed reason is just "command: resetswift is not found" because the root doesn't have the path to the resetswift (/vagrant/bin/resetswift for my VSAIO) :/

I wish I was able tosave our time from finding out the reason if we checked the exit code from resetswift before running probe tests,

Changed in swift:
status: New → Confirmed
importance: Undecided → Medium
clayg (clay-gerrard)
tags: added: low-hanging-fruit
Revision history for this message
Kota Tsuyuzaki (tsuyuzaki-kota) wrote :

The fix is proposed at https://review.openstack.org/#/c/355687/, already.

Ah, I forgot to set closes-bug tag in the commit message. sorry.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to swift (master)

Reviewed: https://review.openstack.org/355687
Committed: https://git.openstack.org/cgit/openstack/swift/commit/?id=95a5a4a7ec1ec8a48db756121e7b3440f5704536
Submitter: Jenkins
Branch: master

commit 95a5a4a7ec1ec8a48db756121e7b3440f5704536
Author: Kota Tsuyuzaki <email address hidden>
Date: Mon Aug 15 18:26:00 2016 -0700

    Don't run probe tests if resetswift failed

    Probe test is cleaning up the swift environment for each test in setUp
    method. However, probe tests will run even if we cannot use the resetswift
    script for some reasons (e.g. not permitted, the script not found) and
    probably the probe tests will fail after a long time passed for the
    execution.

    To prevent such an unfortunate situation and also to find the reason
    easily, this patch adds the exit code check for "resetswift" and if it
    failed, the test will raise AssertionError with the stdout and stderr to
    make it easy to find the reason.

    Closes-Bug: #1613494

    Change-Id: Id80d56ab6b71402ead4fe22c120064d78c1e74ac

Changed in swift:
status: Confirmed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to swift (feature/hummingbird)

Fix proposed to branch: feature/hummingbird
Review: https://review.openstack.org/363111

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to swift (feature/hummingbird)
Download full text (84.1 KiB)

Reviewed: https://review.openstack.org/363111
Committed: https://git.openstack.org/cgit/openstack/swift/commit/?id=1ab2a296f58ae76aeffef9f3f0fb90e15358be27
Submitter: Jenkins
Branch: feature/hummingbird

commit 3b5850836c59c46f2507a7f62aceccf4c37e5d41
Author: gecong1973 <email address hidden>
Date: Tue Aug 30 15:08:49 2016 +0800

    Remove white space between print and ()

    There is a white space between print and ()
    in /tempauth.py, This patch fix it

    Change-Id: Id3493bdef12223aa3a2bffc200db8710f5949101

commit f88e7fc0da2ed6a63e0ea3c3459d80772b3068cd
Author: zheng yin <email address hidden>
Date: Mon Aug 29 20:21:44 2016 +0800

    Clarify test case in common/ring/test_builder

    They use a bare assertRaises(ValueError, ring.RingBuilder, *,*,*), but
    it's not clear which one raises which ValueError(), so I extend them to
    validate the error strings as well.

    Change-Id: I63280a9fc47ff678fe143e635046a0b402fd4506

commit d68b1bd6ddf44c5088e9d02dcb2f1b802c71411b
Author: zhufl <email address hidden>
Date: Mon Aug 29 14:31:27 2016 +0800

    Remove unnecessary tearDown

    This is to remove unnecessary tearDown to keep code clean.

    Change-Id: Ie70e40d6b55f379b0cc9bc372a35705462cade8b

commit d2fc2614575b04fd9cab5ae589880b92eee9b186
Author: Matthew Oliver <email address hidden>
Date: Fri Aug 19 16:17:31 2016 +1000

    Authorise versioned write PUTs before copy

    Currently a versioned write PUT uses a pre-authed request to move
    it into the versioned container before checking whether the
    user is authorised. This can lead to some interesting behaviour
    whereby a user can select a versioned object path that it does not
    have access to, request a put on that versioned object, and this
    request will execute the copy part of the request before it fails
    due to lack of permissions.

    This patch changes the behaviour to be the same as versioned DELETE
    where the request is authorised before anything is moved.

    Change-Id: Ia8b92251718d10b1eb44a456f28d3d2569a30003
    Closes-Bug: #1562175

commit c1ef6539b6ba9d2e4354c9cd2eec8a0195cdb19f
Author: Clay Gerrard <email address hidden>
Date: Thu Aug 25 11:00:49 2016 -0700

    add test for expirer processes == process

    This is a follow up from a change that improved the error message.

    Related-Change: I3d12b79470d122b2114f9ee486b15d381f290f95

    Change-Id: I093801f3516a60b298c13e2aa026c11c68a63792

commit 01477c78c1163822de41484e914a0736e622085b
Author: zheng yin <email address hidden>
Date: Thu Aug 25 15:37:42 2016 +0800

    Fix ValueError information in obj/expirer

    I fix error information in raise ValueError(...)
    For example:
        if a>=b:
            # It should be under below and not 'a must be less than or equal to b'
            raise ValueError('a must be less than b')

    Change-Id: I3d12b79470d122b2114f9ee486b15d381f290f95

commit b81f53b964fdb8f3b50dd369ce2e194ee4dbb0b7
Author: zheng yin <email address hidden>
Date: Tue Aug 23 14:26:47 2016 +0800

    Improve readability in the obj server's unit tests

    This change improves the reada...

tags: added: in-feature-hummingbird
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/swift 2.10.0

This issue was fixed in the openstack/swift 2.10.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.