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