yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #02440
[Bug 1180908] Re: python-novaclient does not authenticate when using keystone v3 in OS_AUTH_URL
This bug does not have impact to Horizon, the issue is limited only to
the client CLI.
Horizon has its own authentication backend that will take care of
authenticating with Keystone V3 endpoint. The related patch is in here:
https://github.com/gabrielhurley/django_openstack_auth/pull/41
Once Horizon gets hold of the V3 token, it can pass it the same way as
v2 token to nova-client and it should work fine.
** Changed in: horizon
Status: New => Invalid
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1180908
Title:
python-novaclient does not authenticate when using keystone v3 in
OS_AUTH_URL
Status in OpenStack Dashboard (Horizon):
Invalid
Status in Python client library for Nova:
Confirmed
Bug description:
When using keystone V3 on NOVA CLI, it's failing to authenticate
because python-novaclient understand this is a V1 protocol and fail to
get token:
$ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0
$ export OS_REGION_NAME=RegionOne
$ export OS_USERNAME=admin
$ export OS_PASSWORD=secrete
$ export OS_TENANT_NAME=admin
$ nova list
+--------------------------------------+------------+--------+------------------+
| ID | Name | Status | Networks |
+--------------------------------------+------------+--------+------------------+
| 0c716094-ffaa-4f71-9fc9-1c2554f3f2af | helloworld | ACTIVE | private=10.0.0.2 |
+--------------------------------------+------------+--------+------------------+
$ export OS_AUTH_URL=http://127.0.0.1:5000/v3
$ nova list
ERROR: 'NoneType' object has no attribute 'rstrip'
$ nova --debug list
REQ: curl -i http://127.0.0.1:5000/v3 -X GET -H "X-Auth-Project-Id:
admin" -H "X-Auth-Key: secrete" -H "Accept: application/json" -H "X
-Auth-User: admin" -H "User-Agent: python-novaclient"
RESP: [200] {'date': 'Thu, 16 May 2013 16:05:53 GMT', 'content-type': 'application/json', 'content-length': '331', 'vary': 'X-Auth-Token'}
RESP BODY: {"version": {"status": "stable", "updated": "2013-03-06T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}, {"base": "application/xml", "type": "application/vnd.openstack.identity-v3+xml"}], "id": "v3.0", "links": [{"href": "http://localhost:35357/v3/", "rel": "self"}]}}
DEBUG (shell:768) 'NoneType' object has no attribute 'rstrip'
Traceback (most recent call last):
File "/opt/stack/python-novaclient/novaclient/shell.py", line 765, in main
OpenStackComputeShell().main(map(strutils.safe_decode, sys.argv[1:]))
File "/opt/stack/python-novaclient/novaclient/shell.py", line 695, in main
self.cs.authenticate()
File "/opt/stack/python-novaclient/novaclient/v1_1/client.py", line 169, in authenticate
self.client.authenticate()
File "/opt/stack/python-novaclient/novaclient/client.py", line 349, in authenticate
auth_url = self._v1_auth(auth_url)
File "/opt/stack/python-novaclient/novaclient/client.py", line 384, in _v1_auth
self.management_url = resp.headers[mgmt_header].rstrip('/')
AttributeError: 'NoneType' object has no attribute 'rstrip'
ERROR: 'NoneType' object has no attribute 'rstrip'
$
Using curl, I'm capable to authenticate using keystone V3 and list
instances using the token received from keystone V3 on Nova V2:
$ curl -X POST http://127.0.0.1:5000/v3/auth/tokens -H "accept: application/json" -H "Content-type: application/json" -d "{ \"auth\": { \"identity\": { \"methods\": [ \"password\" ], \"password\": { \"user\": { \"domain\": { \"name\": \"Default\" }, \"name\": \"admin\", \"password\": \"secrete\" } } }, \"scope\": { \"project\": { \"domain\":{ \"name\": \"Default\" }, \"name\": \"admin\" } } } }" -s -D - -o /dev/null
HTTP/1.1 201 Created
X-Subject-Token: MIIS2wYJKoZIh.......TMrckQVSDQ==
Vary: X-Auth-Token
Content-Type: application/json
Content-Length: 4513
Date: Thu, 16 May 2013 16:39:37 GMT
$ curl http://127.0.0.1:8774/v2/a7703321085a4e958f5863ddebf61b39/servers -H "accept: application/json" -H "x-auth-token: MIIS2wYJKoZIh.......TMrckQVSDQ=="
{"servers": [{"id": "0c716094-ffaa-4f71-9fc9-1c2554f3f2af", "links": [{"href": "http://127.0.0.2:8774/v2/a7703321085a4e958f5863ddebf61b39/servers/0c716094-ffaa-4f71-9fc9-1c2554f3f2af", "rel": "self"}, {"href": "http://127.0.0.1:8774/a7703321085a4e958f5863ddebf61b39/servers/0c716094-ffaa-4f71-9fc9-1c2554f3f2af", "rel": "bookmark"}], "name": "helloworld"}]}
$
To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1180908/+subscriptions