Comment 0 for bug 1251043

Revision history for this message
Sam Morrison (sorrison) wrote :

The host and service api no longer work with cells.
In cells a host and service ID is <cell routing path>@<ID>

This breaks the object type enforcement of the ID attribute being an int

2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack Traceback (most recent call last):
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/opt/nova/nova/api/openstack/__init__.py", line 119, in __call__
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack return req.get_response(self.application)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack application, catch_exc_info=False)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack app_iter = application(self.environ, start_response)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack return resp(environ, start_response)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/keystoneclient/middleware/auth_token.py", line 571, in __call__
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack return self.app(env, start_response)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack return resp(environ, start_response)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack return resp(environ, start_response)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack response = self.app(environ, start_response)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack return resp(environ, start_response)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/opt/nova/nova/api/openstack/wsgi.py", line 938, in __call__
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack content_type, body, accept)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/opt/nova/nova/api/openstack/wsgi.py", line 997, in _process_stack
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/opt/nova/nova/api/openstack/wsgi.py", line 1078, in dispatch
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack return method(req=request, **action_args)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/opt/nova/nova/api/openstack/compute/contrib/hosts.py", line 143, in index
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack set_zones=True)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/opt/nova/nova/compute/cells_api.py", line 489, in service_get_all
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack services)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/opt/nova/nova/objects/base.py", line 580, in obj_make_list
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack **extra_args)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/opt/nova/nova/objects/service.py", line 67, in _from_db_object
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack service[key] = db_service[key]
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/opt/nova/nova/objects/base.py", line 395, in __setitem__
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack setattr(self, name, value)
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack File "/opt/nova/nova/objects/base.py", line 66, in setter
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack return setattr(self, get_attrname(name), typefn(value))
2013-11-13 16:45:07.462 13023 TRACE nova.api.openstack ValueError: invalid literal for int() with base 10: 'api!compute@1'