Public bug reported: nova api support list deleted servers by using admin user. The api looks like below:
v3: GET http://openstack.org:8774/v3/servers/detail?deleted=True v2: GET http://openstack.org:8774/v2/{tenant}/servers/detail?deleted=True v2 api works very well but v3 will return by 404. The traceback from nova-api show below, I suspect there was something wrong with instance object: 2014-01-08 09:42:15.145 ERROR nova.api.openstack [req-dd73dfe5-96ab-488a-8c31-98b5b063ed95 admin admin] Caught error: Instance 60ec98b5-7496-4e04-aebb-3f951e660295 could not be found. 2014-01-08 09:42:15.145 TRACE nova.api.openstack Traceback (most recent call last): 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/__init__.py", line 121, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack return req.get_response(self.application) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send 2014-01-08 09:42:15.145 TRACE nova.api.openstack application, catch_exc_info=False) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application 2014-01-08 09:42:15.145 TRACE nova.api.openstack app_iter = application(self.environ, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack return resp(environ, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 581, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack return self.app(env, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack return resp(environ, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack return resp(environ, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack response = self.app(environ, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack return resp(environ, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func 2014-01-08 09:42:15.145 TRACE nova.api.openstack return self.func(req, *args, **kwargs) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 930, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack content_type, body, accept) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 1018, in _process_stack 2014-01-08 09:42:15.145 TRACE nova.api.openstack request, action_args) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 900, in post_process_extensions 2014-01-08 09:42:15.145 TRACE nova.api.openstack **action_args) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/compute/plugins/v3/pci.py", line 79, in detail 2014-01-08 09:42:15.145 TRACE nova.api.openstack self._extend_server(server, instance) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/compute/plugins/v3/pci.py", line 58, in _extend_server 2014-01-08 09:42:15.145 TRACE nova.api.openstack for dev in instance.pci_devices: 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/base.py", line 63, in getter 2014-01-08 09:42:15.145 TRACE nova.api.openstack self.obj_load_attr(name) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/instance.py", line 498, in obj_load_attr 2014-01-08 09:42:15.145 TRACE nova.api.openstack expected_attrs=[attrname]) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/base.py", line 112, in wrapper 2014-01-08 09:42:15.145 TRACE nova.api.openstack result = fn(cls, context, *args, **kwargs) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/instance.py", line 300, in get_by_uuid 2014-01-08 09:42:15.145 TRACE nova.api.openstack use_slave=use_slave) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/db/api.py", line 634, in instance_get_by_uuid 2014-01-08 09:42:15.145 TRACE nova.api.openstack columns_to_join, use_slave=use_slave) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 130, in wrapper 2014-01-08 09:42:15.145 TRACE nova.api.openstack return f(*args, **kwargs) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 1693, in instance_get_by_uuid 2014-01-08 09:42:15.145 TRACE nova.api.openstack columns_to_join=columns_to_join, use_slave=use_slave) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 1705, in _instance_get_by_uuid 2014-01-08 09:42:15.145 TRACE nova.api.openstack raise exception.InstanceNotFound(instance_id=uuid) 2014-01-08 09:42:15.145 TRACE nova.api.openstack InstanceNotFound: Instance 60ec98b5-7496-4e04-aebb-3f951e660295 could not be found. 2014-01-08 09:42:15.145 TRACE nova.api.openstack 2014-01-08 09:42:15.154 INFO nova.api.openstack [req-dd73dfe5-96ab-488a-8c31-98b5b063ed95 admin admin] http://10.160.163.21:8774/v3/servers/detail?deleted=True returned with HTTP 404 ** Affects: nova Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1267040 Title: v3 API list deleted servers raise 404 Status in OpenStack Compute (Nova): New Bug description: nova api support list deleted servers by using admin user. The api looks like below: v3: GET http://openstack.org:8774/v3/servers/detail?deleted=True v2: GET http://openstack.org:8774/v2/{tenant}/servers/detail?deleted=True v2 api works very well but v3 will return by 404. The traceback from nova-api show below, I suspect there was something wrong with instance object: 2014-01-08 09:42:15.145 ERROR nova.api.openstack [req-dd73dfe5-96ab-488a-8c31-98b5b063ed95 admin admin] Caught error: Instance 60ec98b5-7496-4e04-aebb-3f951e660295 could not be found. 2014-01-08 09:42:15.145 TRACE nova.api.openstack Traceback (most recent call last): 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/__init__.py", line 121, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack return req.get_response(self.application) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send 2014-01-08 09:42:15.145 TRACE nova.api.openstack application, catch_exc_info=False) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application 2014-01-08 09:42:15.145 TRACE nova.api.openstack app_iter = application(self.environ, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack return resp(environ, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 581, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack return self.app(env, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack return resp(environ, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack return resp(environ, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack response = self.app(environ, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack return resp(environ, start_response) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func 2014-01-08 09:42:15.145 TRACE nova.api.openstack return self.func(req, *args, **kwargs) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 930, in __call__ 2014-01-08 09:42:15.145 TRACE nova.api.openstack content_type, body, accept) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 1018, in _process_stack 2014-01-08 09:42:15.145 TRACE nova.api.openstack request, action_args) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 900, in post_process_extensions 2014-01-08 09:42:15.145 TRACE nova.api.openstack **action_args) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/compute/plugins/v3/pci.py", line 79, in detail 2014-01-08 09:42:15.145 TRACE nova.api.openstack self._extend_server(server, instance) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/compute/plugins/v3/pci.py", line 58, in _extend_server 2014-01-08 09:42:15.145 TRACE nova.api.openstack for dev in instance.pci_devices: 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/base.py", line 63, in getter 2014-01-08 09:42:15.145 TRACE nova.api.openstack self.obj_load_attr(name) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/instance.py", line 498, in obj_load_attr 2014-01-08 09:42:15.145 TRACE nova.api.openstack expected_attrs=[attrname]) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/base.py", line 112, in wrapper 2014-01-08 09:42:15.145 TRACE nova.api.openstack result = fn(cls, context, *args, **kwargs) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/instance.py", line 300, in get_by_uuid 2014-01-08 09:42:15.145 TRACE nova.api.openstack use_slave=use_slave) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/db/api.py", line 634, in instance_get_by_uuid 2014-01-08 09:42:15.145 TRACE nova.api.openstack columns_to_join, use_slave=use_slave) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 130, in wrapper 2014-01-08 09:42:15.145 TRACE nova.api.openstack return f(*args, **kwargs) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 1693, in instance_get_by_uuid 2014-01-08 09:42:15.145 TRACE nova.api.openstack columns_to_join=columns_to_join, use_slave=use_slave) 2014-01-08 09:42:15.145 TRACE nova.api.openstack File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 1705, in _instance_get_by_uuid 2014-01-08 09:42:15.145 TRACE nova.api.openstack raise exception.InstanceNotFound(instance_id=uuid) 2014-01-08 09:42:15.145 TRACE nova.api.openstack InstanceNotFound: Instance 60ec98b5-7496-4e04-aebb-3f951e660295 could not be found. 2014-01-08 09:42:15.145 TRACE nova.api.openstack 2014-01-08 09:42:15.154 INFO nova.api.openstack [req-dd73dfe5-96ab-488a-8c31-98b5b063ed95 admin admin] http://10.160.163.21:8774/v3/servers/detail?deleted=True returned with HTTP 404 To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1267040/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp