nova keypair-add help doesn't work with keystone v3
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python-novaclient |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
nova keypair-add help (yes, even just asking for help... though presumably actually trying to add a keypair would have the same issue) fails with "ERROR (NotFound): The resource could not be found. (HTTP 404)". Adding --debug reveals the following:
# nova --debug keypair-add help
DEBUG (extension:156) found extension EntryPoint.
DEBUG (extension:156) found extension EntryPoint.
DEBUG (extension:156) found extension EntryPoint.
DEBUG (extension:156) found extension EntryPoint.
DEBUG (extension:156) found extension EntryPoint.
DEBUG (extension:156) found extension EntryPoint.
DEBUG (extension:156) found extension EntryPoint.
DEBUG (extension:156) found extension EntryPoint.
DEBUG (extension:156) found extension EntryPoint.
DEBUG (extension:156) found extension EntryPoint.
REQ: curl -g -i 'https:/
RESP: [200] {'Content-Length': '274', 'Vary': 'X-Auth-Token', 'Keep-Alive': 'timeout=5, max=100', 'Server': 'Apache', 'Connection': 'Keep-Alive', 'Date': 'Wed, 20 Apr 2016 15:18:21 GMT', 'Content-Type': 'application/json', 'x-openstack-
RESP BODY: {"version": {"status": "stable", "updated": "2016-04-
REQ: curl -g -i 'https:/
RESP: [404] {'Content-Length': '93', 'Vary': 'X-Auth-Token', 'Keep-Alive': 'timeout=5, max=100', 'Server': 'Apache', 'Connection': 'Keep-Alive', 'Date': 'Wed, 20 Apr 2016 15:18:22 GMT', 'Content-Type': 'application/json', 'x-openstack-
RESP BODY: {"error": {"message": "The resource could not be found.", "code": 404, "title": "Not Found"}}
DEBUG (shell:1082) The resource could not be found. (HTTP 404)
Traceback (most recent call last):
File "/usr/lib/
OpenStackCo
File "/usr/lib/
args.
File "/usr/lib/
keypair = _keypair_create(cs, args, name, pub_key)
File "/usr/lib/
return methods[
File "/usr/lib/
return cs.keypairs.
File "/usr/lib/
return methods[
File "/usr/lib/
return self._create('/%s' % self.keypair_
File "/usr/lib/
resp, body = self.api.
File "/usr/lib/
return self._cs_
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
return self._authentic
File "/usr/lib/
**kwargs)
File "/usr/lib/
resp, body = self.request(url, method, **kwargs)
File "/usr/lib/
raise exceptions.
NotFound: The resource could not be found. (HTTP 404)
1) it doesn't seem to make any sense to be talking to keystone just to print the help...
2) it is clearly assuming keystone v2.0, but appending v2.0 onto an OS_AUTH_URL that ends in v3 is never going to work.
# env | grep OS_
OS_REGION_
OS_USER_
OS_IMAGE_
OS_PROJECT_
OS_IDENTITY_
OS_PASSWORD=
OS_AUTH_URL=https:/
OS_COMPUTE_
OS_USERNAME=admin1
OS_TENANT_
OS_VOLUME_
OS_CACERT=
OS_PROJECT_
Other nova commands don't have the same problem... e.g. "nova list" works just fine listing servers.
Changed in python-novaclient: | |
status: | New → Incomplete |
Changed in python-novaclient: | |
assignee: | nobody → Ali Jabbar (jabbar-ali) |
Changed in python-novaclient: | |
assignee: | Ali Jabbar (jabbar-ali) → nobody |
Changed in python-novaclient: | |
assignee: | nobody → Ali Jabbar (jabbar-ali) |
this was found with novaclient 3.3.0 and mitaka