TestContainer.test_sync_first_loop will fail when there is an process binding on 80

Bug #1208802 reported by Chmouel Boudjnah
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Fix Released
Low
Peter Portante

Bug Description

I have apache binding (with horizon fwiw) on port 80 listening on everything including localhost, and the test would fail when it's launched since it actually try to connect on that port.

stack@devstack:~/swift$ nosetests test/unit/containe/test_sync.py:TestContainerSync.test_container_first_loop
test_container_first_loop (test.unit.container.test_sync.TestContainerSync) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.005s

OK

stack@devstack:~/swift$ sudo /etc/init.d/apache2 start
 * Starting web server apache2 [ OK ]

stack@devstack:~/swift$ nosetests test/unit/containe/test_sync.py:TestContainerSync.test_container_first_loop
test_container_first_loop (test.unit.container.test_sync.TestContainerSync) ... FAIL

======================================================================
FAIL: test_container_first_loop (test.unit.container.test_sync.TestContainerSync)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/opt/stack/swift/test/unit/container/test_sync.py", line 498, in test_container_first_loop
    self.assertEquals(cs.container_failures, 3)
AssertionError: 2 != 3
    '2 != 3' = '%s != %s' % (safe_repr(2), safe_repr(3))
    '2 != 3' = self._formatMessage('2 != 3', '2 != 3')
>> raise self.failureException('2 != 3')

-------------------- >> begin captured logging << --------------------
swiftclient: DEBUG: REQ: curl -i http://127.0.0.1/a/c/o DELETE -H "x-container-sync-key: key" -H "x-timestamp: 1.2"

swiftclient: DEBUG: RESP STATUS: 404

swiftclient: DEBUG: RESP BODY:
<!DOCTYPE html>
<html lang="en">
[.....]

Changed in swift:
assignee: nobody → Chmouel Boudjnah (chmouel)
Changed in swift:
importance: Undecided → Low
Changed in swift:
status: New → In Progress
Changed in swift:
assignee: Chmouel Boudjnah (chmouel) → Peter Portante (peter-a-portante)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to swift (master)

Reviewed: https://review.openstack.org/40401
Committed: http://github.com/openstack/swift/commit/d3bd30da4191e576f4e7b78498979ffc8892eeb5
Submitter: Jenkins
Branch: master

commit d3bd30da4191e576f4e7b78498979ffc8892eeb5
Author: Chmouel Boudjnah <email address hidden>
Date: Tue Aug 6 14:15:48 2013 +0200

    Fix sync test when localhost on port 80 is binded

    - When localhost:80 was binding the tests was trying to connect into it.
    - To test you can simply run sudo python -m SimpleHTTPServer 80 which
      should show :

      1.0.0.127.in-addr.arpa - - [06/Aug/2013 14:10:42] code 501, message Unsupported method ('DELETE')
      1.0.0.127.in-addr.arpa - - [06/Aug/2013 14:10:42] "DELETE /a/c/o HTTP/1.1" 501 -

      (the test was passing since 501 would raise ClientException).
      mock delete_object in the fourth test to fix that
    - Refactor the code to use mock.patch as well.

    Closes-Bug: 1208802
    Change-Id: I5ddd4ac3a97879f51cf5883fcfc0fe0f0adaeff6

Changed in swift:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to swift (feature/ec)

Fix proposed to branch: feature/ec
Review: https://review.openstack.org/48990

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

Reviewed: https://review.openstack.org/48990
Committed: http://github.com/openstack/swift/commit/175a837befd57b520e28623f0d708d883c023532
Submitter: Jenkins
Branch: feature/ec

commit 4c4a8abaa500d0d3940d81a4eb5ac21215ddc07a
Author: Kun Huang <email address hidden>
Date: Fri Sep 27 15:25:53 2013 +0800

    improve bulk document

    This a very small change which just tell users request url of bulk
    delete request. In original docstrings, it just states the request
    parameters, request body and request method but not request url.

    Change-Id: I0bbc302a0e072910bb58e4814614d7f761433b10

commit df39602c41605c4c68a47c6532a466ccc1a6633d
Author: David Goetz <email address hidden>
Date: Thu Sep 12 07:38:23 2013 -0700

    bulk delete bug with trailing whitespace

    Change-Id: Ia48224a1a187a8ed6b0c9a3c72cac06f084a6fc8

commit d8e0492ea80adae990f35930465d6e905a3be061
Author: Samuel Merritt <email address hidden>
Date: Tue Aug 27 18:00:04 2013 -0700

    Fix internal swift.source tracking.

    In 1.8.0 (Grizzly), your proxy logs would indicate which middleware
    was responsible for an internal request, e.g. TU for tempurl or BD for
    bulk delete. At some point, those all turned into GET_INFO, which does
    not give you any idea which specific middleware was responsible, only
    that it came from a get_account_info/get_container_info call.

    This commit puts it back to how it was in 1.8.0. Also, the
    new-since-1.8.0 function get_object_info() got swift_source plumbing
    added to it, so source tracking for the quota middlewares'
    get_object_info() calls will happen now too.

    Note that due to the new-since-1.8.0 in-environment caching of
    account/container info, you may not see as many lines in the proxy log
    as you would with 1.8.0. This is because there are actually fewer
    internal requests being made.

    Change-Id: I2b2ff7823c612dc7ed7f268da979c4500bbbe911

commit d9d7b2135a7020cdf43172ea4fcf0b1020f49101
Author: Samuel Merritt <email address hidden>
Date: Tue Sep 24 16:43:33 2013 -0700

    Install libffi-dev in SAIO docs.

    If you don't, then newer versions of xattr won't install, and since
    our xattr requirement is simply ">= 0.4" in requirements.txt, this
    affects anyone setting up a new SAIO.

    This happened with xattr 0.7, which was released on 2013-07-19.

    Change-Id: Iaf335fa25a2908953d1fd218158ebedf5d01cc27

commit ce5e810fed8c453f4cd41c3c32162f47cde48f10
Author: Samuel Merritt <email address hidden>
Date: Tue Sep 24 16:20:28 2013 -0700

    Update SAIO doc to have double proxy-logging in pipeline.

    Change-Id: I0a034ca1420761cbf4e35dcea1d9cd18a92f90bd

commit 3e6f9293b8882cecb151e87fe5bfbe24e605b847
Author: Brian D. Burns <email address hidden>
Date: Thu Aug 1 14:50:03 2013 -0400

    update SLO delete error handling

    * ensure all responses are 200 OK
    * report missing sub-SLO manifests or other error messages in bulk
      delete response

    Change-Id: Iaf88c94bc7114ff3c9751f9f31f8f748de911f8a

commit 92ae497800d9e66795346019cf284026a751597e
Author: ZhiQiang Fan <email address hidden>
Date: Fri Sep 20 23:34:06 201...

Thierry Carrez (ttx)
Changed in swift:
milestone: none → 1.10.0-rc1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in swift:
milestone: 1.10.0-rc1 → 1.10.0
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.