← Back to team overview

yahoo-eng-team team mailing list archive

[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