cschwede/swquota — pull request #1 by rubiojr (2013-03-05 16:13:46+00:00)
Title: Fixes for Swift 1.7.6

@cschwede, we're testing the middleware with Swift 1.7.6 and we're facing some issues.

The patch works for us but I don't think the implementation I've done is good enough, it's just a PoC.

In a nutshell, we're having two issues, I've added some comments to the patch.

* The first one is that the middleware raises an exception trying to split a tuple:

```
Mar 5 12:34:46 swift-proxy-01-1362159457685 proxy-server Error: 'tuple' object has no attribute 'split': #012Traceback (most recent call last):#012 File "/usr/lib/python2.7/dist-packages/swift/common/middleware/catch_errors.py", line 36, in handle_request#012 resp = self._app_call(env)#012 File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 270, in _app_call#012 resp = self.app(env, self._start_response)#012 File "/usr/lib/python2.7/dist-packages/swift/common/middleware/bvox_lbnode.py", line 21, in __call__#012 return self.app(environ, custom_start_response)#012 File "/usr/lib/python2.7/dist-packages/swift/common/middleware/healthcheck.py", line 57, in __call__#012 return self.app(env, start_response)#012 File "/usr/lib/python2.7/dist-packages/swift/common/middleware/memcache.py", line 65, in __call__#012 return self.app(env, start_response)#012 File "/usr/lib/python2.7/dist-packages/swift/common/middleware/ratelimit.py", line 232, in __call__#012 return self.app(env, start_response)#012 File "/usr/lib/python2.7/dist-packages/keystone/middlewa/var/log/swift/swift.error
```

* The second issue is that the limits don't have any effect because the HEAD request in get_quota is heading the container instead of the account, since the account string it receives has the container appended (AUTH_XXXXXXXX/container-name).

Please let me know what you think. Perhaps those issues are not in swift/master, I did not check against the master branch.