yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #73783
[Bug 1775310] Re: Unused namespace is appeared.
Reviewed: https://review.openstack.org/579058
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=f5f682c63a043d59388731d78fae98481685019e
Submitter: Zuul
Branch: master
commit f5f682c63a043d59388731d78fae98481685019e
Author: Yasuhiro Kimura <kimura.yasuhiro@xxxxxxxxxxxx>
Date: Fri Jun 29 14:19:02 2018 +0900
Modify logic of l3-agent to be notified
Although no DVR router is hosted on controller node,
neutron-server notifies l3-agent on compute node.
As a result, the following bug happen when VM migrate or resize.
1) L3-agent on compute node output error logs
when VM connect no DVR and HA router.
2) Unused namespace is appeared on compute node
when VM connect no DVR and no HA router.
So, I modify logic of l3-agent to be notified
after migrating or resizing.
Change-Id: I53955b885f53d4ee15377a08627c2c25cb1b7041
Closes-Bug: #1775310
** 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/1775310
Title:
Unused namespace is appeared.
Status in neutron:
Fix Released
Bug description:
Although no DVR router is hosted on controller node, neutron-server notifies l3-agent on compute node.
As a result, the following bug happen when VM migrate or resize.
1) L3-agent on compute node output error logs when VM connect no DVR and HA router.
2) Unused namespace is appeared on compute node when VM connect no DVR and no HA router.
This bug does not happen in the single compute node case.
However, this bug happen in the multi compute node case.
Environment Information:
- OpenStack version is stable/queens and master.
- Multi compute node.
- DVR and L3HA is enable.
I confirmed this bug by the following step.
==========
1)L3-agent on compute node output error logs when creating no DVR and HA router.
Creating non DVR/HA router. router and connecting private network and external gateway.
stack@ctl-001:~/devstack$ openstack router create --centralized nodvr_ha_router
stack@ctl-001:~/devstack$ openstack router set --external-gateway public nodvr_ha_router
stack@ctl-001:~/devstack$ openstack router add subnet nodvr_ha_router private-subnet
Creating VM on same compute node and same private network.
stack@ctl-001:~/devstack$ openstack server create --availability-zone nova:cmp-001 --flavor cirros256 --image cirros-0.3.5-x86_64-disk --network private vm1
stack@ctl-001:~/devstack$ openstack server create --availability-zone nova:cmp-001 --flavor cirros256 --image cirros-0.3.5-x86_64-disk --network private vm2
Adding floating ip to VM.
stack@ctl-001:~/devstack$ openstack floating ip create public
stack@ctl-001:~/devstack$ openstack server add floating ip vm1 192.168.20.54
Migrating VM.
stack@ctl-001:~/devstack$ openstack server migrate vm1
stack@ctl-001:~/devstack$ openstack server resize --confirm vm1
After migrating,
L3-agent on compute node output following error logs.
----------
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent [-] Failed to process compatible router: 15bcec0d-07ad-4b64-8de9-2527e22744c7: Exception: Unable to process HA router 15bcec0d-07ad-4b64-8de9-2527e22744c7 without HA port
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent Traceback (most recent call last):
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 560, in _process_router_update
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent self._process_router_if_compatible(router)
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 479, in _process_router_if_compatible
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent self._process_added_router(router)
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 484, in _process_added_router
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent self._router_added(router['id'], router)
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 375, in _router_added
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent router_id)
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent self.force_reraise()
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent six.reraise(self.type_, self.value, self.tb)
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 364, in _router_added
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent ri.initialize(self.process_monitor)
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/ha_router.py", line 122, in initialize
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent raise Exception(msg)
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent Exception: Unable to process HA router 15bcec0d-07ad-4b64-8de9-2527e22744c7 without HA port
Jun 15 11:31:07 cmp-001 neutron-l3-agent[31636]: ERROR neutron.agent.l3.agent
----------
2)Unused namespace is appeared on compute node when creating no DVR and no HA router.
Creating non DVR/non HA router. router and connecting private network and external gateway.
stack@ctl-001:~/devstack$ openstack router create --centralized --no-ha nodvr_noha_router
stack@ctl-001:~/devstack$ openstack router set --external-gateway public nodvr_noha_router
stack@ctl-001:~/devstack$ openstack router add subnet nodvr_noha_router private-subnet
Creating VM on same compute node and same private network.
stack@ctl-001:~/devstack$ openstack server create --availability-zone nova:cmp-001 --flavor cirros256 --image cirros-0.3.5-x86_64-disk --network private vm1
stack@ctl-001:~/devstack$ openstack server create --availability-zone nova:cmp-001 --flavor cirros256 --image cirros-0.3.5-x86_64-disk --network private vm2
Adding floating ip to VM.
stack@ctl-001:~/devstack$ openstack floating ip create public
stack@ctl-001:~/devstack$ openstack server add floating ip vm1 192.168.20.54
At this point, namespace is only appeared on controller node.
Namespace is not appeared on compute node.
----------
stack@ctl-001:~/devstack$ ip netns
qrouter-c694ac94-a20d-4767-bdbe-f2e862a08022
qdhcp-f1666fbf-ecb6-459e-b8d3-323ea0ca8167
stack@cmp-001:~$ ip netns
-----
stack@cmp-001:~$ ip netns
stack@cmp-001:~$
----------
Migrating VM.
stack@ctl-001:~/devstack$ openstack server migrate vm1
stack@ctl-001:~/devstack$ openstack server resize --confirm vm1
After migrating,
Unused namespace is appeared on compute node.
----------
stack@ctl-001:~/devstack$ ip netns
qrouter-c694ac94-a20d-4767-bdbe-f2e862a08022
qdhcp-f1666fbf-ecb6-459e-b8d3-323ea0ca8167
-----
stack@cmp-001:~$ ip netns
qrouter-c694ac94-a20d-4767-bdbe-f2e862a08022
----------
==========
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1775310/+subscriptions
References