Public bug reported: The class _BaseMessage defines a method named _send_json_responses, which takes a named parameter neighbor_only. Later on in the same class, another method _send_response makes a call to _send_json_responses (on line 285), setting neighbor_only explicitly.
However, a subclass of _BaseMessage, _BroadcastMessage overrides _send_json_responses with a definition that does not have neighbor_only as a named parameter. Therefore if _send_response is ever called on an object of type _BroadcastMessage, a TypeError will be raised. One option would be to change the definition of _BroadcastMessage._send_json_reponses to allow neighbour_only to be passed even though it is not required. def _send_json_responses(self, json_responses,neighbour_only=None): """Responses to broadcast messages always need to go to the neighbor cell from which we received this message. That cell aggregates the responses and makes sure to forward them to the correct source. """ return super(_BroadcastMessage, self)._send_json_responses( json_responses, neighbor_only=True, fanout=True) ** 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/1575285 Title: _BroadcastMessage._send_response raises TypeError Status in OpenStack Compute (nova): New Bug description: The class _BaseMessage defines a method named _send_json_responses, which takes a named parameter neighbor_only. Later on in the same class, another method _send_response makes a call to _send_json_responses (on line 285), setting neighbor_only explicitly. However, a subclass of _BaseMessage, _BroadcastMessage overrides _send_json_responses with a definition that does not have neighbor_only as a named parameter. Therefore if _send_response is ever called on an object of type _BroadcastMessage, a TypeError will be raised. One option would be to change the definition of _BroadcastMessage._send_json_reponses to allow neighbour_only to be passed even though it is not required. def _send_json_responses(self, json_responses,neighbour_only=None): """Responses to broadcast messages always need to go to the neighbor cell from which we received this message. That cell aggregates the responses and makes sure to forward them to the correct source. """ return super(_BroadcastMessage, self)._send_json_responses( json_responses, neighbor_only=True, fanout=True) To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1575285/+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