Public bug reported: For some reason I need to add a RPC interface to nova-compute. When I tested the new interface, I got this error:
2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server [req-ff6e2750-98a2-4c13-95d0-548d9f66101d 3ff71b27e1e9446c8972c423e1b0d81e 123a456966664881a8380faa009e752f - default default] Exception during message handling: AttributeError: 'SchedulerReportClient' object has no attribute 'obj_to_primitive' 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server Traceback (most recent call last): 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 163, in _process_incoming 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 268, in dispatch 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 195, in _do_dispatch 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server return self.serializer.serialize_entity(ctxt, result) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/openstack/lib/python2.7/site-packages/nova/rpc.py", line 130, in serialize_entity 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server return self._base.serialize_entity(context, entity) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/openstack/lib/python2.7/site-packages/nova/objects/base.py", line 237, in serialize_entity 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server entity) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/openstack/lib/python2.7/site-packages/nova/objects/base.py", line 223, in _process_iterable 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server for k, v in values.items()}) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/openstack/lib/python2.7/site-packages/nova/objects/base.py", line 223, in <dictcomp> 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server for k, v in values.items()}) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/openstack/lib/python2.7/site-packages/nova/objects/base.py", line 240, in serialize_entity 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server entity = entity.obj_to_primitive() 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/openstack/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 39, in __run_method 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server return getattr(self.instance, __name)(*args, **kwargs) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server AttributeError: 'SchedulerReportClient' object has no attribute 'obj_to_primitive' 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server The function`serialize_entity` in nova/nova/objects/base.py is: def serialize_entity(self, context, entity): if isinstance(entity, (tuple, list, set, dict)): entity = self._process_iterable(context, self.serialize_entity, entity) elif (hasattr(entity, 'obj_to_primitive') and callable(entity.obj_to_primitive)): entity = entity.obj_to_primitive() return entity (hasattr(entity, 'obj_to_primitive') and callable(entity.obj_to_primitive) are always return true because entity is a LazyLoader class and it implemented `__getattr__`. ** 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/1790444 Title: Nova crashes when added new RPC interface Status in OpenStack Compute (nova): New Bug description: For some reason I need to add a RPC interface to nova-compute. When I tested the new interface, I got this error: 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server [req-ff6e2750-98a2-4c13-95d0-548d9f66101d 3ff71b27e1e9446c8972c423e1b0d81e 123a456966664881a8380faa009e752f - default default] Exception during message handling: AttributeError: 'SchedulerReportClient' object has no attribute 'obj_to_primitive' 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server Traceback (most recent call last): 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 163, in _process_incoming 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 268, in dispatch 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 195, in _do_dispatch 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server return self.serializer.serialize_entity(ctxt, result) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/openstack/lib/python2.7/site-packages/nova/rpc.py", line 130, in serialize_entity 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server return self._base.serialize_entity(context, entity) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/openstack/lib/python2.7/site-packages/nova/objects/base.py", line 237, in serialize_entity 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server entity) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/openstack/lib/python2.7/site-packages/nova/objects/base.py", line 223, in _process_iterable 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server for k, v in values.items()}) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/openstack/lib/python2.7/site-packages/nova/objects/base.py", line 223, in <dictcomp> 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server for k, v in values.items()}) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/openstack/lib/python2.7/site-packages/nova/objects/base.py", line 240, in serialize_entity 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server entity = entity.obj_to_primitive() 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server File "/openstack/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 39, in __run_method 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server return getattr(self.instance, __name)(*args, **kwargs) 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server AttributeError: 'SchedulerReportClient' object has no attribute 'obj_to_primitive' 2018-09-03 02:23:56.870 70765 ERROR oslo_messaging.rpc.server The function`serialize_entity` in nova/nova/objects/base.py is: def serialize_entity(self, context, entity): if isinstance(entity, (tuple, list, set, dict)): entity = self._process_iterable(context, self.serialize_entity, entity) elif (hasattr(entity, 'obj_to_primitive') and callable(entity.obj_to_primitive)): entity = entity.obj_to_primitive() return entity (hasattr(entity, 'obj_to_primitive') and callable(entity.obj_to_primitive) are always return true because entity is a LazyLoader class and it implemented `__getattr__`. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1790444/+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