So I didn't change the URL for the SAIO install but it still doesn't work though I do get a slightly different error this time around. Using this for driver_os
driver_os = cls_os('test:tester', 'testing', ex_force_auth_url='http://172.16.99.131:8080', ex_force_auth_version='1.0') I get this error, Traceback (most recent call last): File "/data/python_scripts/pyCloud.py", line 88, in <module> driver_os.create_container("python") File "/usr/lib/python2.7/site-packages/libcloud/storage/drivers/cloudfiles.py", line 325, in create_container '/%s' % (container_name_encoded), method='PUT') File "/usr/lib/python2.7/site-packages/libcloud/storage/drivers/cloudfiles.py", line 181, in request raw=raw) File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", line 575, in request return super(OpenStackBaseConnection, self).request(**kwargs) File "/usr/lib/python2.7/site-packages/libcloud/common/base.py", line 596, in request action = self.morph_action_hook(action) File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", line 571, in morph_action_hook self._populate_hosts_and_request_paths() File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", line 600, in _populate_hosts_and_request_paths osa.authenticate() # may throw InvalidCreds File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", line 155, in authenticate return self.authenticate_2_0_with_apikey() File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", line 240, in authenticate_2_0_with_apikey return self.authenticate_2_0_with_body(reqbody) File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", line 259, in authenticate_2_0_with_body raise InvalidCredsError() libcloud.common.types.InvalidCredsError: 'Invalid credentials with the provider' Here is also the debug log # -------- begin 15530608 request ---------- curl -i -X POST -H 'Content-Length: 91' -H 'Accept-Encoding: gzip,deflate' -H 'X-LC-Request-ID: 15530608' -H 'Accept: application/json' -H 'User-Agent: libcloud/0.14.1 ' -H 'Host: 172.16.99.131:8080' -H 'Content-Type: application/json; charset=UTF-8' --data-binary '{"auth": {"RAX-KSKEY:apiKeyCredentials": {"username": "test:tester", "apiKey": "testing"}}}' --compress http://172.16.99.131:8080/v2.0/tokens # -------- begin 15530608:15966648 response ---------- HTTP/1.1 401 Unauthorized^M Date: Tue, 20 May 2014 15:14:53 GMT^M Content-Length: 131^M Content-Type: text/html; charset=UTF-8^M Www-Authenticate: Swift realm="tokens"^M X-Trans-Id: tx1d91d51704fe446aabba4-00537b716d^M ^M <html><h1>Unauthorized</h1><p>This server could not verify that you are authorized to access the document you requested.</p></html> # -------- end 15530608:15966648 response ---------- It is interesting that it is trying to use v1.0 though I specify v1.0. If I do a full URL though I do get a different error, similar to the initial one I sent an email for. The output for that is below. Driver: I tried with ex_force_auth_version and without including that at all and got the same thing for both. driver_os = cls_os('test:tester', 'testing', ex_force_auth_url='http://172.16.99.131:8080/auth/v1.0', ex_force_auth_version='1.0') Error Output: Traceback (most recent call last): File "/data/python_scripts/pyCloud.py", line 88, in <module> driver_os.create_container("python") File "/usr/lib/python2.7/site-packages/libcloud/storage/drivers/cloudfiles.py", line 325, in create_container '/%s' % (container_name_encoded), method='PUT') File "/usr/lib/python2.7/site-packages/libcloud/storage/drivers/cloudfiles.py", line 181, in request raw=raw) File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", line 575, in request return super(OpenStackBaseConnection, self).request(**kwargs) File "/usr/lib/python2.7/site-packages/libcloud/common/base.py", line 596, in request action = self.morph_action_hook(action) File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", line 571, in morph_action_hook self._populate_hosts_and_request_paths() File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", line 600, in _populate_hosts_and_request_paths osa.authenticate() # may throw InvalidCreds File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", line 155, in authenticate return self.authenticate_2_0_with_apikey() File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", line 240, in authenticate_2_0_with_apikey return self.authenticate_2_0_with_body(reqbody) File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", line 264, in authenticate_2_0_with_body driver=self.driver) libcloud.common.types.MalformedResponseError: <MalformedResponseException in None 'Malformed response'>: 'code: 400 body: <html><h1>Bad Request</h1><p>The server could not comply with the request since it is either malformed or otherwise incorrect.</p></html>' Debug log output: # -------- begin 40356536 request ---------- curl -i -X POST -H 'Content-Length: 91' -H 'Accept-Encoding: gzip,deflate' -H 'X-LC-Request-ID: 40356536' -H 'Accept: application/json' -H 'User-Agent: libcloud/0.14.1 ' -H 'Host: 172.16.99.131:8080' -H 'Content-Type: application/json; charset=UTF-8' --data-binary '{"auth": {"RAX-KSKEY:apiKeyCredentials": {"username": "test:tester", "apiKey": "testing"}}}' --compress http://172.16.99.131:8080/auth/v1.0 # -------- begin 40356536:40792576 response ---------- HTTP/1.1 400 Bad Request^M Date: Tue, 20 May 2014 15:18:25 GMT^M Content-Length: 137^M Content-Type: text/html; charset=UTF-8^M X-Trans-Id: tx8506073204a04363bbe33-00537b7241^M ^M <html><h1>Bad Request</h1><p>The server could not comply with the request since it is either malformed or otherwise incorrect.</p></html> # -------- end 40356536:40792576 response ---------- Now the curl commands I use are below so you can see if maybe I'm supplying something wrong. curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' http://172.16.99.131:8080/auth/v1.0 curl -v -H 'X-Auth-Token: AUTH_tk536581d9cc404e4bb7e7c41dca17f9b5' http://172.16.99.131:8080/v1/AUTH_test Hopefully we can get this solved. Thanks! Shade On Tue, May 20, 2014 at 11:01 AM, Shade Alabsa <shade34...@gmail.com> wrote: > Markos, > Thanks for the quick reply! I actually have tried that. I've used both, > ex_force_auth_url='http://172.16.103.90:35357' and > ex_force_auth_url='http://172.16.103.90:35357/auth/v2.0/tokens > > Both generate the same error for me. > > Shade > > > > On Tue, May 20, 2014 at 10:47 AM, Markos Gogoulos <mgogou...@mist.io>wrote: > >> >> >> Hi Shade, >> >> check the examples on >> http://libcloud.readthedocs.org/en/latest/compute/drivers/openstack.html, >> you might need to strip "/v2.0" on OS_AUTH_URL or include the full URL >> >> >> export OS_AUTH_URL=http://172.16.103.90:35357 >> >> or >> >> export >> OS_AUTH_URL=http://172.16.103.90:35357/v2.0/tokens >> >> cheers >> >> Στις >> 20.05.2014 16:51, Shade Alabsa έγραψε: >> >> > Hey, >> > I am trying to use >> libcloud to work with various cloud providers object >> > storage backend. >> I have been successfully able to get it working with >> > Amazon but I've >> installed two different installations of openstack and it >> > does not >> appear to work. My first installation I followed the SAIO guide, >> > >> http://docs.openstack.org/developer/swift/development_saio.html [1] this >> one to >> > be exact. I am successfully able to connect to it, list, >> upload, and >> > download objects from another computer using curl and the >> swift client. >> > Whenever I try and connect via libcloud though I get a >> malformed error >> > response. This instance uses version 1 of the >> authentication. I set up >> > another installation but this time a full >> installation, following the >> > openstack documenations, on three servers >> using keystone for >> > authentication. Again I am able to successfully >> connect using curl and >> > swift client but libcloud I am not. It's quite >> possible I am doing >> > something wrong and I've asked in the IRC channel >> quite a bit over the past >> > week but that channel seems to be quite >> dead. I did find that another user >> > is having this problem and he filed >> a bug but so far nobody has done >> > anything to fix it. The bug is >> located here, >> > https://issues.apache.org/jira/browse/LIBCLOUD-542 [2] >> . >> > >> > So when I run my test script this is the error I'm getting, >> > >> > >> [root@bruenor python_scripts]# python pyCloud.py >> > Traceback (most >> recent call last): >> > File "pyCloud.py", line 84, in <module> >> > >> driver_os.create_container("python") >> > File >> > >> "/usr/lib/python2.7/site-packages/libcloud/storage/drivers/cloudfiles.py", >> > >> line 325, in create_container >> > '/%s' % (container_name_encoded), >> method='PUT') >> > File >> > >> "/usr/lib/python2.7/site-packages/libcloud/storage/drivers/cloudfiles.py", >> > >> line 181, in request >> > raw=raw) >> > File >> "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", >> > line >> 575, in request >> > return super(OpenStackBaseConnection, >> self).request(**kwargs) >> > File >> "/usr/lib/python2.7/site-packages/libcloud/common/base.py", line >> > 596, >> in request >> > action = self.morph_action_hook(action) >> > File >> "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", >> > line >> 571, in morph_action_hook >> > self._populate_hosts_and_request_paths() >> > >> File "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", >> > >> line 600, in _populate_hosts_and_request_paths >> > osa.authenticate() # >> may throw InvalidCreds >> > File >> "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", >> > line >> 155, in authenticate >> > return self.authenticate_2_0_with_apikey() >> > File >> "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", >> > line >> 240, in authenticate_2_0_with_apikey >> > return >> self.authenticate_2_0_with_body(reqbody) >> > File >> "/usr/lib/python2.7/site-packages/libcloud/common/openstack.py", >> > line >> 264, in authenticate_2_0_with_body >> > driver=self.driver) >> > >> libcloud.common.types.MalformedResponseError: >> <MalformedResponseException >> > in None 'Malformed response'>: 'code: 400 >> body: {"error": {"message": >> > "Expecting to find passwordCredentials in >> auth. The server could not comply >> > with the request since it is either >> malformed or otherwise incorrect. The >> > client is assumed to be in >> error.", "code": 400, "title": "Bad Request"}}' >> > >> > Now when I connect >> to this instance using the swift client I source this >> > file for >> authentication, >> > >> > export OS_USERNAME=admin >> > export >> OS_PASSWORD=password >> > export OS_TENANT_NAME=admin >> > export >> OS_AUTH_URL=http://172.16.103.90:35357/v2.0 [3] >> > >> > I have also set >> LIBCLOUD_DEBUG in my bashrc and here is the output for that >> > for my >> request >> > >> > # -------- begin 38136000 request ---------- >> > curl -i -X >> POST -H 'Content-Length: 92' -H 'Accept-Encoding: gzip,deflate' >> > -H >> 'X-LC-Request-ID: 38136000' -H 'Accept: application/json' -H >> > >> 'User-Agent: libcloud/0.14.1 ' -H 'Host: 172.16.103.90:35357' -H >> > >> 'Content-Type: application/json; charset=UTF-8' --data-binary >> '{"auth": >> > {"RAX-KSKEY:apiKeyCredentials": {"username": "admin:admin", >> "apiKey": >> > "password"}}}' --compress http://172.16.103.90:35357/v2.0 >> [3] >> > # -------- begin 38136000:38547400 response ---------- >> > HTTP/1.1 >> 400 Bad Request >> > Date: Tue, 20 May 2014 13:28:52 GMT >> > Content-Type: >> application/json >> > Content-Length: 121 >> > Vary: X-Auth-Token >> > >> X-Distribution: Ubuntu >> > >> > {"error": {"message": "get_version_v2() got >> an unexpected keyword argument >> > 'auth'", "code": 400, "title": "Bad >> Request"}} >> > # -------- end 38136000:38547400 response ---------- >> > >> > # >> -------- begin 18843768 request ---------- >> > curl -i -X POST -H >> 'Content-Length: 92' -H 'Accept-Encoding: gzip,deflate' >> > -H >> 'X-LC-Request-ID: 18843768' -H 'Accept: application/json' -H >> > >> 'User-Agent: libcloud/0.14.1 ' -H 'Host: 172.16.103.90:5000' -H >> > >> 'Content-Type: application/json; charset=UTF-8' --data-binary >> '{"auth": >> > {"RAX-KSKEY:apiKeyCredentials": {"username": "admin:admin", >> "apiKey": >> > "password"}}}' --compress >> http://172.16.103.90:5000/v2.0/tokens [4] >> > # -------- begin >> 18843768:19255168 response ---------- >> > HTTP/1.1 400 Bad Request >> > Date: >> Tue, 20 May 2014 13:29:09 GMT >> > Content-Type: application/json >> > >> Content-Length: 245 >> > Vary: X-Auth-Token >> > X-Distribution: Ubuntu >> > >> > >> {"error": {"message": "Expecting to find passwordCredentials in auth. >> The >> > server could not comply with the request since it is either >> malformed or >> > otherwise incorrect. The client is assumed to be in >> error.", "code": 400, >> > "title": "Bad Request"}} >> > # -------- end >> 18843768:19255168 response ---------- >> > >> > Also here is the script I'm >> using to connect, create a container, and list >> > the containers to check >> to see if I'm doing something wrong. >> > >> > >> http://paste.fedoraproject.org/103410/59383214 [5] >> > >> > Thanks for the >> help! >> > >> > Shade >> >> >> >> Links: >> ------ >> [1] >> http://docs.openstack.org/developer/swift/development_saio.html >> [2] >> https://issues.apache.org/jira/browse/LIBCLOUD-542 >> [3] >> http://172.16.103.90:35357/v2.0 >> [4] >> http://172.16.103.90:5000/v2.0/tokens >> [5] >> http://paste.fedoraproject.org/103410/59383214 >> > >