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

Reply via email to