On 10/11/11 1:40 PM, Tomaž Muraus wrote:
Hi,
Which version of libcloud are you using (0.5.2, trunk?).
It would also be very useful if you can run your script with
LIBCLOUD_DEBUG=/dev/stdout environment variable set -
LIBCLOUD_DEBUG=/dev/stdout python my_script.py.
This should log all the requests and hopefully the offending header which is
making it fail.
P.S. I think calling str() on the 'value' in common/base.py:L385 would fix
it, but I'm still interested where the 'long' value is coming from (probably
it's a content-length or something like that).
Thanks,
Tomaz
I'm using 0.5.2 - see below for the same commands, this time with the
debug env var set:
>>> from libcloud.storage.types import Provider
>>> from libcloud.storage.providers import get_driver
>>> CloudFiles = get_driver(Provider.CLOUDFILES_US)
>>> driver = CloudFiles('<redacted>','<redacted>')
/var/www/html/ops/resources/python/libcloud/httplib_ssl.pyc/qqPIGI8-vn-gxQ_YSAuiF22D8YyOdnxVQ8LYN4UQEbk:55:
UserWarning: SSL certificate verification is disabled, this can pose a
security risk. For more information how to enable the SSL certificate
verification, please visit the libcloud documentation.
# -------- begin 154344460 request ----------
curl -i -X GET -H 'X-Auth-Key: <redacted>' -H 'X-Auth-User: <redacted>'
-H 'X-LC-Request-ID: 154344460' https://auth.api.rackspacecloud.com:443/v1.0
# -------- begin 154344460:154344492 response ----------
HTTP/1.1 204 No Content
Content-Length: 0
X-Server-Management-Url: https://servers.api.rackspacecloud.com/v1.0/428629
X-Storage-Token: 46d0734d-58b0-4242-8cdc-67473a806999
Vary: X-Auth-Token,X-Auth-Key,X-Storage-User,X-Storage-Pass
X-Cdn-Management-Url:
https://cdn1.clouddrive.com/v1/MossoCloudFS_aaa74b2b-aa31-4be1-9c79-fd3b9b93ef9b
Server: Apache/2.2.13 (Red Hat)
Connection: Keep-Alive
Cache-Control: s-maxage=67294
Date: Tue, 11 Oct 2011 17:50:46 GMT
X-Storage-Url:
https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_aaa74b2b-aa31-4be1-9c79-fd3b9b93ef9b
X-Auth-Token: <redacted>
Content-Type: application/octet-stream
# -------- end 154344460:154344492 response ----------
>>> cont = driver.get_container('test2')
# -------- begin 154344236 request ----------
curl -i -X HEAD -H 'Host: storage101.dfw1.clouddrive.com' -H
'X-LC-Request-ID: 154344236' -H 'X-Auth-Token: <redacted>' -H
'Content-Length: 0' -H 'Accept: application/json' -H 'User-Agent:
libcloud/0.5.2 (CloudFiles (US))'
'https://storage101.dfw1.clouddrive.com:443/v1/MossoCloudFS_aaa74b2b-aa31-4be1-9c79-fd3b9b93ef9b/test2?format=json'
# -------- begin 154344236:153603084 response ----------
HTTP/1.1 204 No Content
Content-Length: 0
X-Container-Object-Count: 0
Accept-Ranges: bytes
Date: Tue, 11 Oct 2011 17:51:20 GMT
X-Trans-Id: tx3f3c8cf00c0e4c2ebc3a6e484c05bb71
X-Container-Bytes-Used: 0
# -------- end 154344236:153603084 response ----------
>>> driver.upload_object('file.txt',cont,'testfile2')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "python/libcloud/storage/drivers/cloudfiles.py", line 304, in
upload_object
File "python/libcloud/storage/drivers/cloudfiles.py", line 398, in
_put_object
File "python/libcloud/storage/base.py", line 534, in _upload_object
File "python/libcloud/storage/drivers/cloudfiles.py", line 123, in request
File "python/libcloud/common/base.py", line 385, in request
File "/home/arcmgr/lib/python2.7/httplib.py", line 924, in putheader
str = '%s: %s' % (header, '\r\n\t'.join(values))
TypeError: sequence item 0: expected string, long found
>>>