yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #90073
[Bug 1840579] Re: excessive number of dvrs where vm got a fixed ip on floating network
** Changed in: neutron
Status: Fix Committed => 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/1840579
Title:
excessive number of dvrs where vm got a fixed ip on floating network
Status in neutron:
Fix Released
Bug description:
we are running into an unexpected situation where number of dvr
routers is increasing to nearly 2000 on a compute node on which some
instances got a nic on floating ip network.
We are using Queens release,
neutron-common/xenial,now 2:12.0.5-5~u16.04+mcp155 all [installed,automatic]
neutron-l3-agent/xenial,now 2:12.0.5-5~u16.04+mcp155 all [installed]
neutron-metadata-agent/xenial,now 2:12.0.5-5~u16.04+mcp155 all [installed,automatic]
neutron-openvswitch-agent/xenial,now 2:12.0.5-5~u16.04+mcp155 all [installed]
python-neutron/xenial,now 2:12.0.5-5~u16.04+mcp155 all [installed,automatic]
python-neutron-fwaas/xenial,xenial,now 2:12.0.1-1.0~u16.04+mcp6 all [installed,automatic]
python-neutron-lib/xenial,xenial,now 1.13.0-1.0~u16.04+mcp9 all [installed,automatic]
python-neutronclient/xenial,xenial,now 1:6.7.0-1.0~u16.04+mcp17 all [installed,automatic]
Currently, my guess is that some applications mistakenly invokes rpc
calls like this
https://github.com/openstack/neutron/blob/490471ebd3ac56d0cee164b9c1c1211687e49437/neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py#L166
with dvr associated with a floating ip address on a host which has
fixed ip address allocated from floating network (aka device_owner
prefix with compute:). Then such router will be kept by this
https://github.com/openstack/neutron/blob/490471ebd3ac56d0cee164b9c1c1211687e49437/neutron/db/l3_dvrscheduler_db.py#L427
function, because `get_subnet_ids_on_router` does not filter out
router:gateway ports.
I think this is a bug because as long as we do not have ports with
specific device owners we should not have a dvr router on it.
besides it is pretty easy to replay this bug.
First create a dvr router with an external gateway on floating network
Then create on virtual machine with fixed ip on floating network
Then call `routers_updated_on_host` manually, then this dvr will be created on the host where vm resides on, but actually it should be there.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1840579/+subscriptions
References