Vish is right, your request should have an {"auth": } wrapping the credentials.

There are two ways to fix this:

  1.  Use a newer client that honors the Diablo contract
  2.  Use the latest trunk version of Keystone which by default runs a 
D5_compat middleware and will respond to requests formatted in D5 (pre-diablo 
release) format.

Z

From: Vishvananda Ishaya <vishvana...@gmail.com<mailto:vishvana...@gmail.com>>
Date: Thu, 15 Dec 2011 14:53:35 -0800
To: Jorge Luiz Correa <corre...@gmail.com<mailto:corre...@gmail.com>>
Cc: <openstack@lists.launchpad.net<mailto:openstack@lists.launchpad.net>>
Subject: Re: [Openstack] Help with python-novaclient and keystone : expecting 
AUTH (HTTP 400).

Hmm, looks like you are using an old version of python-novaclient.  You might 
try grabbing from source.  The packages from launchpad are not supported in any 
way.  We try to provide relatively current packages, but we don't really have 
the resources to maintain and support them at this point.

Vish

On Dec 15, 2011, at 10:46 AM, Jorge Luiz Correa wrote:

Hi!

I'm testing a new installation (virtual environment) as following:

(1) I've installed Openstack using the Devstack Script (with some modification 
to work here), so, all in one installation.
(2) Then, I started to install Openstack from a clean Ubuntu Oneiric 
instalation, but using packages from launchpad, not the Ubuntu packages. What 
I'm doing is follow the Devstack Script but trying to install the components 
separately (one host with nova-network, other with nova-api, dashboard, and so 
on).

Some months ago I've used the euca2ools command line tools. Now we had to use 
the nova tool, from python-novaclient and the keystone authentication system. I 
was getting some problems with my (2) installation when trying to run the nova 
command (for example, to see my nodes, as we got with 
euca-describe-availability-zones verbose some time ago. Not working. So, I 
tried to run the same tool on the Devstack instalation and it didn't work too.

user@ubuntu:~$ nova --debug list
connect: (192.168.122.100, 5000)
send: 'POST /v2.0/tokens HTTP/1.1\r\nHost: 
192.168.122.100:5000<http://192.168.122.100:5000/>\r\nContent-Length: 
90\r\ncontent-type: application/json\r\naccept-encoding: gzip, 
deflate\r\nuser-agent: python-novaclient\r\n\r\n{"passwordCredentials": 
{"username": "admin", "password": "Password", "tenantId": "admin"}}'
reply: 'HTTP/1.1 400 Bad Request\r\n'
header: Content-Type: application/json; charset=UTF-8
header: Content-Length: 60
header: Date: Thu, 15 Dec 2011 18:34:20 GMT
Traceback (most recent call last):
  File "/usr/local/bin/nova", line 9, in <module>
    load_entry_point('python-novaclient==2.6.5', 'console_scripts', 'nova')()
  File 
"/usr/local/lib/python2.7/dist-packages/python_novaclient-2.6.5-py2.7.egg/novaclient/shell.py",
 line 225, in main
    OpenStackComputeShell().main(sys.argv[1:])
  File 
"/usr/local/lib/python2.7/dist-packages/python_novaclient-2.6.5-py2.7.egg/novaclient/shell.py",
 line 182, in main
    self.cs.authenticate()
  File 
"/usr/local/lib/python2.7/dist-packages/python_novaclient-2.6.5-py2.7.egg/novaclient/v1_1/client.py",
 line 64, in authenticate
    self.client.authenticate()
  File 
"/usr/local/lib/python2.7/dist-packages/python_novaclient-2.6.5-py2.7.egg/novaclient/client.py",
 line 204, in authenticate
    auth_url = self._v2_auth(auth_url)
  File 
"/usr/local/lib/python2.7/dist-packages/python_novaclient-2.6.5-py2.7.egg/novaclient/client.py",
 line 255, in _v2_auth
    resp, body = self.request(token_url, "POST", body=body)
  File 
"/usr/local/lib/python2.7/dist-packages/python_novaclient-2.6.5-py2.7.egg/novaclient/client.py",
 line 99, in request
    raise exceptions.from_response(resp, body)
novaclient.exceptions.BadRequest: Expecting auth (HTTP 400)

==>> novaclient.exceptions.BadRequest: Expecting auth (HTTP 400)

I've seen some curl examples that changed some sintax, the way that the URL is 
composed, or something like that. With the new examples I could test keystone 
and it is working. But I don't know how the nova command makes the query.

I was basing myself on the Devstack installation but I'm seeing that not all 
the components really works. Someone could help me?

My versions are those from Devstack (master branch from the most components).

Finally, I've understood that the novaclient is now the way we had to manage 
our private cloud. On the Devstack installation I can play with all the things 
using Horizon Dashboard. But, in the (2) installation I can't because it 
doesn't work yet and neither the nova command.

I appreciate any help!

Thanks a bunch!
:)

--
- MSc. Correa, J.L.

_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : 
openstack@lists.launchpad.net<mailto:openstack@lists.launchpad.net>
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

_______________________________________________ Mailing list: 
https://launchpad.net/~openstack Post to : 
openstack@lists.launchpad.net<mailto:openstack@lists.launchpad.net> Unsubscribe 
: https://launchpad.net/~openstack More help : 
https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to