yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #80699
[Bug 1850864] Re: DHCP agent takes very long time to report when port is provisioned
Reviewed: https://review.opendev.org/692459
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=1a686fb401eca1843b81292fc88c13a2e6fd274d
Submitter: Zuul
Branch: master
commit 1a686fb401eca1843b81292fc88c13a2e6fd274d
Author: Slawek Kaplonski <skaplons@xxxxxxxxxx>
Date: Thu Oct 31 23:12:03 2019 +0100
Switch to use cast method in dhcp_ready_on_ports method
When DHCP agent reports to the neutron-server which ports are
ready, it was using call() method from rpc client.
That caused blocking dhcp agent's dhcp_ready_ports_loop thread which
blocks to send info about other ready ports if there are any.
Method call() should be used when RPC caller returns a value to the
caller but that's not the case here. On neutron server side this
RPC method is only calling provisioning_complete() method to
finish provisioning of ports. And is not returning anything.
So to make sending dhcp ready ports to neutron-server much faster
this patch switch to use cast() method from rpc client.
This method don't block to wait for return value from RPC caller.
Change-Id: Ie119693854aa283b863a1eac2bdae3330c2b6a9d
Closes-Bug: #1850864
** Changed in: neutron
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1850864
Title:
DHCP agent takes very long time to report when port is provisioned
Status in neutron:
Fix Released
Bug description:
DHCP agent sends through rpc to neutron-server messages about ports which are already configured by agent: https://github.com/openstack/neutron/blob/3ad6af76266f466953de08451b922e033b5c8c43/neutron/agent/dhcp/agent.py#L255
It sends them in chunks with 64 ports at max.
Usually this works fine but in some cases when e.g. network with many ports (like 1000 for example) was resynced for some reason in "dhcp_ready_ports" there will be all those 1000 ports from resynced network.
And than new port may be at the end of this set and will be processed (send to neutron-server) after very long time. In our production cloud it could be even more than 15 minutes.
This cause problem with spawning vm which is in errors state due to "Failed to allocate network" error.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1850864/+subscriptions
References