← Back to team overview

openstack team mailing list archive

Help with python-novaclient and keystone : expecting AUTH (HTTP 400).

 

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\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.

Follow ups