Any kind of possible fix will do much more harm than good.
While neutron agent-list is a good way to tell if neutron-server should keep resources on particular agent (like DHCP or L3), it absolutely can't be a basis for decision of agent restart.
The roots of this bug is oslo.messaging issue where agents stopped communicating via RPC until restart.
The problem is not specific to neutron agents (nova, cinder services are affected too).
Adding protection from such kind of bugs, especially a kind of protection which can be buggy in the similar way is plain wrong both from theoretical and practical point of view.
This _must_ not be addressed.
Any kind of possible fix will do much more harm than good.
While neutron agent-list is a good way to tell if neutron-server should keep resources on particular agent (like DHCP or L3), it absolutely can't be a basis for decision of agent restart.
The roots of this bug is oslo.messaging issue where agents stopped communicating via RPC until restart.
The problem is not specific to neutron agents (nova, cinder services are affected too).
Adding protection from such kind of bugs, especially a kind of protection which can be buggy in the similar way is plain wrong both from theoretical and practical point of view.