Swift3 Compatibilities #3

Closed
chmouel opened this Issue May 24, 2012 · 5 comments

3 participants

@chmouel

Moving https://bugs.launchpad.net/swift/+bug/973516 to here:

I ran the s3 test suites :

https://github.com/ceph/s3-tests

against swift + s3 (with keystone auth but this should be exactly the same for the other auth).

This is the results :

Ran 250 tests in 129.963s
FAILED (errors=61, failures=62)

and this is the full output :

http://sprunge.us/cECP

there is quite a bit to fix but at least it's a start to document the incompatibilities.

@fifieldt

Ran s3-tests on devstack today,

Ran 256 tests in 549.933s

FAILED (errors=61, failures=44)

http://sprunge.us/NbHD

@fifieldt

From what I can tell, all of the content-length issues are derived from WSGI - basically the validation of the content-length header in eventlet/wsgi.py raises a ValueError exception for bad content lengths, when we need it to return HTTP_BAD_REQUEST

Example:

Oct 6 04:25:15 tf-devstack proxy-server STDOUT: Traceback (most recent call last):
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: File "/usr/local/lib/python2.7/dist-packages/eventlet/greenpool.py", line 80, in spawn_n_impl
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: func(args, *kwargs)
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 567, in process_request
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: proto = self.protocol(socket, address, self)
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: File "/usr/lib/python2.7/SocketServer.py", line 638, in __init_

Oct 6 04:25:15 tf-devstack proxy-server STDOUT: self.handle()
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: self.handle_one_request()
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 273, in handle_one_request
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: self.environ = self.get_environ()
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 499, in get_environ
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: chunked_input=chunked)
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 65, in init
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: content_length = int(content_length)
Oct 6 04:25:15 tf-devstack proxy-server STDOUT: ValueError: invalid literal for int() with base 10: ''

@fujita
Owner

Great, can I put the link somewhere (Swift3 website, probably)?

Thanks!

@fifieldt

of course :)

@chmouel chmouel closed this Jul 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment