← Back to team overview

yahoo-eng-team team mailing list archive

[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