Public bug reported: Hello all !
When I add or remove an external gateway on L3 router, neutron will always choose new agents (candidates ) and try to bind the router to them. Of course it will realize afterwards that the router already has agents and that it should not do it but it takes some time ( few seconds when you have a lot of l3-agents ) to choose the agents and try to bind the router on them. Step to reproduce : openstack router create router1 openstack router set --external-gateway Ext-Net router1 Logs that shows it : Unable to find a vacant binding_index for router <router-id> and agent <agent_id> bind_router /opt/openstack/neutron/lib/python3.6/site- packages/neutron/scheduler/l3_agent_scheduler.py:198 We are running Neutron openstack stein in HA configured We can improve the creation time by setting schedule_routers to False in the routers_updated function : https://github.com/openstack/neutron/blob/master/neutron/db/l3_db.py#L2142-L2143 This will avoid going into : https://github.com/openstack/neutron/blob/master/neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py#L135 And then : https://github.com/openstack/neutron/blob/master/neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py#L97 And it will avoid going into `plugin.schedule_routers(adminContext, router_ids)` ** Affects: neutron Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1995972 Title: L3 router is doing schedule_routers when adding/removing external gateway Status in neutron: New Bug description: Hello all ! When I add or remove an external gateway on L3 router, neutron will always choose new agents (candidates ) and try to bind the router to them. Of course it will realize afterwards that the router already has agents and that it should not do it but it takes some time ( few seconds when you have a lot of l3-agents ) to choose the agents and try to bind the router on them. Step to reproduce : openstack router create router1 openstack router set --external-gateway Ext-Net router1 Logs that shows it : Unable to find a vacant binding_index for router <router-id> and agent <agent_id> bind_router /opt/openstack/neutron/lib/python3.6/site- packages/neutron/scheduler/l3_agent_scheduler.py:198 We are running Neutron openstack stein in HA configured We can improve the creation time by setting schedule_routers to False in the routers_updated function : https://github.com/openstack/neutron/blob/master/neutron/db/l3_db.py#L2142-L2143 This will avoid going into : https://github.com/openstack/neutron/blob/master/neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py#L135 And then : https://github.com/openstack/neutron/blob/master/neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py#L97 And it will avoid going into `plugin.schedule_routers(adminContext, router_ids)` To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1995972/+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