I read proposed spec again and I wonder if we can go with simpler solution like:
1. On L3 agent's side add optional config option "routers_max" (or something like that) and report that to server in it's state report: https://github.com/openstack/neutron/blob/master/neutron/agent/l3/agent.py#L915
2. On server side add new scheduler which will be aware of this "routers_max" option and will not allow to schedule to an agent more routers than "routers_max" value is.
That way You would IMO address Your problem and it would be easier to implement and understand IMO. What do You think about it?
I read proposed spec again and I wonder if we can go with simpler solution like:
1. On L3 agent's side add optional config option "routers_max" (or something like that) and report that to server in it's state report: https:/ /github. com/openstack/ neutron/ blob/master/ neutron/ agent/l3/ agent.py# L915
2. On server side add new scheduler which will be aware of this "routers_max" option and will not allow to schedule to an agent more routers than "routers_max" value is.
That way You would IMO address Your problem and it would be easier to implement and understand IMO. What do You think about it?