Hide Forgot
Description of problem: After creating a keypair in nova: $ nova keypair-add --pub-key id_rsa.pub test $ nova keypair-list +------+-------------------------------------------------+ | Name | Fingerprint | +------+-------------------------------------------------+ | test | 8b:56:b0:3f:c8:ad:38:a6:94:f4:a7:26:83:75:cc:85 | +------+-------------------------------------------------+ The keypair-show command returns an error, rather than details about the keypair: $ nova keypair-show test ERROR: can't set attribute In /var/log/nova/api.log: 2013-11-09 21:27:35.546 8282 DEBUG nova.api.openstack.wsgi [req-23090154-b07d-4709-8b7b-07b6e7bdd59d a48c777a53ed4051adad64e158d3fc63 3db60755d5b442e1bdea14d69483ae68] Calling method <bound method KeypairController.show of <nova.api.openstack.compute.contrib.keypairs.KeypairController object at 0x3812b90>> _process_stack /usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py:941 2013-11-09 21:27:35.550 8282 INFO nova.api.openstack.wsgi [req-23090154-b07d-4709-8b7b-07b6e7bdd59d a48c777a53ed4051adad64e158d3fc63 3db60755d5b442e1bdea14d69483ae68] HTTP exception thrown: The resource could not be found. 2013-11-09 21:27:35.551 8282 DEBUG nova.api.openstack.wsgi [req-23090154-b07d-4709-8b7b-07b6e7bdd59d a48c777a53ed4051adad64e158d3fc63 3db60755d5b442e1bdea14d69483ae68] Returning 404 to user: The resource could not be found. __call__ /usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py:1203 2013-11-09 21:27:35.557 8282 INFO nova.osapi_compute.wsgi.server [req-23090154-b07d-4709-8b7b-07b6e7bdd59d a48c777a53ed4051adad64e158d3fc63 3db60755d5b442e1bdea14d69483ae68] 192.168.122.4 "GET /v2/3db60755d5b442e1bdea14d69483ae68/os-keypairs/list HTTP/1.1" status: 404 len: 272 time: 0.0672722 Version-Release number of selected component (if applicable): openstack-nova-api-2013.2-1.fc20.noarch
Version: $ rpm -q openstack-nova-api openstack-nova-api-2013.2-4.fc20.noarch Confirmed: $ nova keypair-list +--------+-------------------------------------------------+ | Name | Fingerprint | +--------+-------------------------------------------------+ | oskey1 | c1:69:bd:43:07:bc:d4:47:06:21:28:a0:ef:e6:d1:0f | +--------+-------------------------------------------------+ $ nova keypair-show oskey1 ERROR: can't set attribute $ echo $? 1 However - the HTTP status throws 200 in the log messages (for Lars, above it threw 404): ----------- $ tail -f /var/log/nova/api.log [. . .] /site-packages/routes/middleware.py:100 2012-11-26 21:15:04.107 16094 DEBUG routes.middleware [-] Route path: '/{project_id}/os-keypairs/:(id)', defaults: {'action': u'show', 'controller': <nova.api.openstack.wsgi.Resource object at 0x44cd310>} __call__ /usr/lib/python2.7/site-packages/routes/middleware.py:102 2012-11-26 21:15:04.108 16094 DEBUG routes.middleware [-] Match dict: {'action': u'show', 'controller': <nova.api.openstack.wsgi.Resource object at 0x44cd310>, 'project_id': u'e52dac6864f24d9a855996767e6205f2', 'id': u'oskey1'} __call__ /usr/lib/python2.7/site-packages/routes/middleware.py:103 2012-11-26 21:15:04.110 16094 DEBUG nova.api.openstack.wsgi [req-245c50cc-b6f2-4b00-a469-ff6f428039db c6df56cf827b4a69affa086272f0d46a e52dac6864f24d9a855996767e6205f2] No Content-Type provided in request get_body /usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py:814 2012-11-26 21:15:04.112 16094 DEBUG nova.api.openstack.wsgi [req-245c50cc-b6f2-4b00-a469-ff6f428039db c6df56cf827b4a69affa086272f0d46a e52dac6864f24d9a855996767e6205f2] Calling method <bound method KeypairController.show of <nova.api.openstack.compute.contrib.keypairs.KeypairController object at 0x422bf90>> _process_stack /usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py:941 2012-11-26 21:15:04.113 16094 DEBUG nova.openstack.common.lockutils [req-245c50cc-b6f2-4b00-a469-ff6f428039db c6df56cf827b4a69affa086272f0d46a e52dac6864f24d9a855996767e6205f2] Got semaphore "dbapi_backend" lock /usr/lib/python2.7/site-packages/nova/openstack/common/lockutils.py:166 2012-11-26 21:15:04.114 16094 DEBUG nova.openstack.common.lockutils [req-245c50cc-b6f2-4b00-a469-ff6f428039db c6df56cf827b4a69affa086272f0d46a e52dac6864f24d9a855996767e6205f2] Got semaphore / lock "__get_backend" inner /usr/lib/python2.7/site-packages/nova/openstack/common/lockutils.py:245 2012-11-26 21:15:04.776 16094 INFO nova.osapi_compute.wsgi.server [req-245c50cc-b6f2-4b00-a469-ff6f428039db c6df56cf827b4a69affa086272f0d46a e52dac6864f24d9a855996767e6205f2] 192.169.142.49 "GET /v1.1/e52dac6864f24d9a855996767e6205f2/os-keypairs/oskey1 HTTP/1.1" status: 200 len: 846 time: 2.0926270 -----------
This appears to be fixed in recent versions of nova (openstack-nova-compute-2013.2.1-4.fc20.noarch). $ rpm -qa 'openstack-nova-*' openstack-nova-scheduler-2013.2.1-4.fc20.noarch openstack-nova-common-2013.2.1-4.fc20.noarch openstack-nova-console-2013.2.1-4.fc20.noarch openstack-nova-cert-2013.2.1-4.fc20.noarch openstack-nova-api-2013.2.1-4.fc20.noarch openstack-nova-conductor-2013.2.1-4.fc20.noarch openstack-nova-novncproxy-2013.2.1-4.fc20.noarch openstack-nova-compute-2013.2.1-4.fc20.noarch $ nova keypair-show lars +-------------+-------------------------------------------------+ | Property | Value | +-------------+-------------------------------------------------+ | created_at | 2013-12-11T21:40:27.000000 | | deleted | False | | deleted_at | None | | fingerprint | 8b:56:b0:3f:c8:ad:38:a6:94:f4:a7:26:83:75:cc:85 | | id | 1 | | name | lars | | updated_at | None | | user_id | 436d522125584cf3a21ddcf628d59e2e | +-------------+-------------------------------------------------+ Public key: ssh-rsa ...