Tomaz, You're fixes worked for the SAIO installation. For my installation with keystone it is giving me an "invalid credentials with the provider" error. When I performed a wireshark analysis the box is returning that I have to be authenticated before I make that request. I also don't see where I'm getting an auth token. This is the error I'm getting,
[root@bruenor python_scripts]# python pyCloud.py Traceback (most recent call last): File "pyCloud.py", line 94, in <module> cont = driver_os.list_containers() File "/data/python_scripts/src/apache-libcloud/libcloud/storage/base.py", line 216, in list_containers return list(self.iterate_containers()) File "/data/python_scripts/src/apache-libcloud/libcloud/storage/drivers/cloudfiles.py", line 279, in iterate_containers response = self.connection.request('') File "/data/python_scripts/src/apache-libcloud/libcloud/storage/drivers/cloudfiles.py", line 163, in request raw=raw) File "/data/python_scripts/src/apache-libcloud/libcloud/common/openstack.py", line 577, in request return super(OpenStackBaseConnection, self).request(**kwargs) File "/data/python_scripts/src/apache-libcloud/libcloud/common/base.py", line 604, in request action = self.morph_action_hook(action) File "/data/python_scripts/src/apache-libcloud/libcloud/common/openstack.py", line 573, in morph_action_hook self._populate_hosts_and_request_paths() File "/data/python_scripts/src/apache-libcloud/libcloud/common/openstack.py", line 602, in _populate_hosts_and_request_paths osa.authenticate() # may throw InvalidCreds File "/data/python_scripts/src/apache-libcloud/libcloud/common/openstack.py", line 157, in authenticate return self.authenticate_2_0_with_password() File "/data/python_scripts/src/apache-libcloud/libcloud/common/openstack.py", line 252, in authenticate_2_0_with_password return self.authenticate_2_0_with_body(reqbody) File "/data/python_scripts/src/apache-libcloud/libcloud/common/openstack.py", line 259, in authenticate_2_0_with_body raise InvalidCredsError() libcloud.common.types.InvalidCredsError: 'Invalid credentials with the provider' How I am connecting within python: #Openstack Swift Storage cls_os = get_driver(Provider.OPENSTACK_SWIFT) driver_os = cls_os('admin:admin', 'password', ex_force_auth_url='http://172.16.103.90:35357', ex_force_auth_version='2.0_password', ex_force_service_type='object-store', ex_force_service_name='cloudFiles') my admin-openrc.sh file 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 Using swift I can create, upload, and download objects though. Am I missing something? Thanks for your quick reply! Shade On Wed, May 21, 2014 at 9:15 AM, Tomaz Muraus <to...@apache.org> wrote: > I've pushed some changes and fixes to trunk and in trunk you can now use > Swift diver as follows: > > https://gist.github.com/Kami/8ec3d7349bdc7d516fc6 > > I've tested it with Swift All In One installation and everything appears to > be working fine (it would be great if others can confirm this as well). > > Shortly, I will also be updating the documentation and add some information > on how to use the Swift driver there as well. > > > On Tue, May 20, 2014 at 5:22 PM, Shade Alabsa <shade34...@gmail.com> > wrote: > > > 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 > > >> > > > > > > > > >