Description:
GET Keypair with XML request is returning 404 exception code. Whent GET call is made to API to get Details of Keypair using XML request, the details of key piar is expected to be displayed. But 404 error code is returned.
Expected Result:
Details of specified keypair should be returned.
Actual Result:
Not Found Exception with code 404 is returned.
LOG:
--------
novaclient.client: DEBUG:
REQ: curl -i http://15.184.83.251:8774/v2/5e8e6e11adf74ee5b9141d4c6c5fad94/os-keypairs -X POST -H "X-Auth-Project-Id: nova_auto_project" -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: 0c3bec564331449cb4a21873989c2777"
novaclient.client: DEBUG: REQ BODY: {"keypair": {"name": "test_key0"}}
novaclient.client: DEBUG: RESP:{'date': 'Fri, 03 Aug 2012 11:18:16 GMT', 'status': '200', 'x-compute-request-id': 'req-de88f1a5-025b-48d7-b31c-8ea34eb7c26a', 'content-type': 'application/json', 'content-length': '1332'} {"keypair": {"public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC9XUqFa/SEYwCLN7GRUUWc0QgyiAkchDX2E+Fyk9ccfDhbvmgo8Eo/pCLe4wx+RLiPC7dyFAsmsv1NDclUzFzJ5SokAlIF1qNE7mxebdx5u7OStaLSVF69CMuDm9/nQYPqgciTMHxInGVaxpbGsIPBzLHm/4nizKgIxD2tPMl10w== vinshvin@nv-aw1sg11-compute0001\n", "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQC9XUqFa/SEYwCLN7GRUUWc0QgyiAkchDX2E+Fyk9ccfDhbvmgo\n8Eo/pCLe4wx+RLiPC7dyFAsmsv1NDclUzFzJ5SokAlIF1qNE7mxebdx5u7OStaLS\nVF69CMuDm9/nQYPqgciTMHxInGVaxpbGsIPBzLHm/4nizKgIxD2tPMl10wIDAQAB\nAoGABXJSe2XwgYJLeLWgYNqikvEcOD/bazuORcaqnF4OON6FzHW8jzjiGdSBwEFt\nkZAucsbWfux+qZ1KVdYIrWy3WnaLJD3jMm+6R7fKKMaj7klpwLXp9AzOG7Y8OBU5\nN2UAJAmoeuPiVaakazgF4NFzTHRLv7LLZsXY+WMlEoAM8ZkCQQDwRAOwr3WE7g5U\njMuq+dTGxnuXVyCgxe6yiv5NKyPxXhXsWJvezY0EXOCsG9WmEUqNE0sjfhXrv7b+\nIS8/KgjHAkEAycPueRiJrL0HmgacBgPKqjnOO/Kbu7lUeDazA9WuO7QnLtTMN9kr\nGKKA1XngbW+gdCZrKoe3hdBimRiaFiTWlQJARP0imh8nfW3li32KFaP65sCjSEdq\nRP/QlE+4yWuzvGCppt2ilA0tiq0ojgLIDBE2+N8rWhugK7s2zi21JUvqjQJAH8/J\noMQyqM6hDTLvlK8yXAaDMsZ8sWt2GwIc1YTyVK2B5AtfK4sNFXRBtebicL7B4K5S\nBUGiuPFzKkpLuSQTxQJBANgE96K3kCZHReuoAyj2q52cPn6nj3HvzcTmwCLaQGhI\n5Ie6YRMpbsEDJlRjQ9e1AhTmPZkFPFW6ZBC91Vy8vjQ=\n-----END RSA PRIVATE KEY-----\n", "user_id": "c6b7b674f9514f7a94bf5251344042fa", "name": "test_key0", "fingerprint": "53:65:7c:25:67:87:63:4a:bc:38:0a:88:f2:2c:59:c5"}}
novaclient.client: DEBUG:
REQ: curl -i http://15.184.83.251:5000/v2.0/tokens -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "User-Agent: python-novaclient"
novaclient.client: DEBUG: REQ BODY: {"auth": {"tenantName": "nova_auto_project", "passwordCredentials": {"username": "nova_auto3", "password": "nova_auto3"}}}
novaclient.client: DEBUG: RESP:{'date': 'Fri, 03 Aug 2012 11:18:18 GMT', 'vary': 'X-Auth-Token', 'content-length': '2395', 'status': '200', 'content-type': 'application/json'} {"access": {"token": {"expires": "2012-08-04T11:18:18Z", "id": "59697658a25c448d8162b82b1bec72bb", "tenant": {"enabled": true, "id": "5e8e6e11adf74ee5b9141d4c6c5fad94", "name": "nova_auto_project", "description": "nova_auto_project"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://15.184.83.251:8774/v2/5e8e6e11adf74ee5b9141d4c6c5fad94", "region": "RegionOne", "publicURL": "http://15.184.83.251:8774/v2/5e8e6e11adf74ee5b9141d4c6c5fad94", "internalURL": "http://15.184.83.251:8774/v2/5e8e6e11adf74ee5b9141d4c6c5fad94"}], "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints": [{"adminURL": "http://15.184.83.251:3333", "region": "RegionOne", "publicURL": "http://15.184.83.251:3333", "internalURL": "http://15.184.83.251:3333"}], "endpoints_links": [], "type": "s3", "name": "S3 Service"}, {"endpoints": [{"adminURL": "http://15.184.83.251:9292", "region": "RegionOne", "publicURL": "http://15.184.83.251:9292", "internalURL": "http://15.184.83.251:9292"}], "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints": [{"adminURL": "http://15.184.83.251:8776/v1/5e8e6e11adf74ee5b9141d4c6c5fad94", "region": "RegionOne", "publicURL": "http://15.184.83.251:8776/v1/5e8e6e11adf74ee5b9141d4c6c5fad94", "internalURL": "http://15.184.83.251:8776/v1/5e8e6e11adf74ee5b9141d4c6c5fad94"}], "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints": [{"adminURL": "http://15.184.83.251:8773/services/Admin", "region": "RegionOne", "publicURL": "http://15.184.83.251:8773/services/Cloud", "internalURL": "http://15.184.83.251:8773/services/Cloud"}], "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints": [{"adminURL": "http://15.184.83.251:8080/", "region": "RegionOne", "publicURL": "http://15.184.83.251:8080/v1/AUTH_5e8e6e11adf74ee5b9141d4c6c5fad94", "internalURL": "http://15.184.83.251:8080/v1/AUTH_5e8e6e11adf74ee5b9141d4c6c5fad94"}], "endpoints_links": [], "type": "object-store", "name": "Swift Service"}, {"endpoints": [{"adminURL": "http://15.184.83.251:35357/v2.0", "region": "RegionOne", "publicURL": "http://15.184.83.251:5000/v2.0", "internalURL": "http://15.184.83.251:5000/v2.0"}], "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user": {"username": "nova_auto3", "roles_links": [], "id": "c6b7b674f9514f7a94bf5251344042fa", "roles": [], "name": "nova_auto3"}}}
novaclient.client: DEBUG:
REQ: curl -i http://15.184.83.251:8774/v2/5e8e6e11adf74ee5b9141d4c6c5fad94/os-keypairs/test_key0 -X GET -H "X-Auth-Project-Id: nova_auto_project" -H "User-Agent: python-novaclient" -H "Accept: application/xml" -H "X-Auth-Token: 59697658a25c448d8162b82b1bec72bb"
novaclient.client: DEBUG: RESP:{'date': 'Fri, 03 Aug 2012 11:18:19 GMT', 'status': '404', 'content-length': '142', 'content-type': 'application/xml; charset=UTF-8', 'x-compute-request-id': 'req-006a2f78-2c48-487e-99bb-8dbc8376ce1d'} <itemNotFound code="404" xmlns="http://docs.openstack.org/compute/api/v1.1"><message>The resource could not be found.</message></itemNotFound>
It appears that Nova Folsom doesn't actually implement a GET/SHOW call for an individual keypairs.
Also, marking this as a dup of 925731 since it was file first and also points out this missing functionality.