← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1961740] Re: Network interface not found in namespace

 

Reviewed:  https://review.opendev.org/c/openstack/neutron/+/856261
Committed: https://opendev.org/openstack/neutron/commit/76578393ab401a33084921c4355af8e82c5d02ee
Submitter: "Zuul (22348)"
Branch:    master

commit 76578393ab401a33084921c4355af8e82c5d02ee
Author: Slawek Kaplonski <skaplons@xxxxxxxxxx>
Date:   Wed Sep 7 12:07:38 2022 +0200

    Reset device namespace when adding to the namespace fails
    
    In case when during adding device to the namespace, device will be "shy"
    and will disappear for a moment and NetworkInterfaceNotFound exception
    will be raised, we need to reset device.namespace to be None.
    Otherwise, in the next attempt of adding interface to namespace, when it
    will be added back to ovs (and will be in global scope), Neutron will
    already look for it in the "namespace" and that will always be failing.
    
    Closes-bug: #1961740
    Change-Id: Ie9331c72c44084b0a382598c3359214cce2f2ebd


** 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/1961740

Title:
  Network interface not found in namespace

Status in neutron:
  Fix Released

Bug description:
  This is intermittent error in the functional tests job. Failure
  example:
  https://89b1b88fa362b409cfb1-2a70ac574f4ba34d12afc72df211f1b3.ssl.cf5.rackcdn.com/828687/1/gate/neutron-
  functional-with-uwsgi/a5b844b/testr_results.html

  Stacktrace:
  ft1.47: neutron.tests.functional.agent.l3.extensions.test_port_forwarding_extension.TestL3AgentFipPortForwardingExtensionDVR.test_dvr_non_ha_router_updatetesttools.testresult.real._StringException: Traceback (most recent call last):
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/base.py", line 183, in func
      return f(self, *args, **kwargs)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/base.py", line 183, in func
      return f(self, *args, **kwargs)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/functional/agent/l3/test_dvr_router.py", line 1708, in test_dvr_non_ha_router_update
      router2 = self._create_dvr_ha_router(
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/functional/agent/l3/test_dvr_router.py", line 1445, in _create_dvr_ha_router
      router = self.manage_router(agent, r_info)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/functional/agent/l3/test_dvr_router.py", line 195, in manage_router
      return super(TestDvrRouter, self).manage_router(agent, router)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/functional/agent/l3/framework.py", line 420, in manage_router
      agent._process_added_router(router)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/l3/agent.py", line 663, in _process_added_router
      self._cleanup_failed_router(router['id'],
    File "/home/zuul/src/opendev.org/openstack/neutron/.tox/dsvm-functional/lib/python3.8/site-packages/oslo_utils/excutils.py", line 227, in __exit__
      self.force_reraise()
    File "/home/zuul/src/opendev.org/openstack/neutron/.tox/dsvm-functional/lib/python3.8/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
      raise self.value
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/l3/agent.py", line 653, in _process_added_router
      ri.process()
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/l3/dvr_local_router.py", line 924, in process
      super(DvrLocalRouter, self).process()
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/l3/dvr_router_base.py", line 29, in process
      super(DvrRouterBase, self).process()
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/common/utils.py", line 177, in call
      self.logger(e)
    File "/home/zuul/src/opendev.org/openstack/neutron/.tox/dsvm-functional/lib/python3.8/site-packages/oslo_utils/excutils.py", line 227, in __exit__
      self.force_reraise()
    File "/home/zuul/src/opendev.org/openstack/neutron/.tox/dsvm-functional/lib/python3.8/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
      raise self.value
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/common/utils.py", line 174, in call
      return func(*args, **kwargs)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/l3/router_info.py", line 1312, in process
      self.process_external()
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/l3/dvr_local_router.py", line 740, in process_external
      super(DvrLocalRouter, self).process_external()
    File "/home/zuul/src/opendev.org/openstack/neutron/.tox/dsvm-functional/lib/python3.8/site-packages/decorator.py", line 232, in fun
      return caller(func, *(extras + args), **kw)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/common/coordination.py", line 78, in _synchronized
      return f(*a, **k)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/l3/router_info.py", line 1046, in process_external
      self._process_external_gateway(ex_gw_port)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/l3/router_info.py", line 927, in _process_external_gateway
      self.external_gateway_added(ex_gw_port, interface_name)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/l3/dvr_edge_router.py", line 43, in external_gateway_added
      self._create_dvr_gateway(ex_gw_port, interface_name)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/l3/dvr_edge_router.py", line 194, in _create_dvr_gateway
      self._external_gateway_added(ex_gw_port, gw_interface_name,
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/l3/router_info.py", line 821, in _external_gateway_added
      self._plug_external_gateway(ex_gw_port, interface_name, ns_name)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/l3/router_info.py", line 755, in _plug_external_gateway
      self.driver.plug(ex_gw_port['network_id'],
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/linux/interface.py", line 263, in plug
      self.plug_new(network_id, port_id, device_name, mac_address,
    File "<string>", line 3, in plug_new
    File "/usr/lib/python3.8/unittest/mock.py", line 1081, in __call__
      return self._mock_call(*args, **kwargs)
    File "/usr/lib/python3.8/unittest/mock.py", line 1085, in _mock_call
      return self._execute_mock_call(*args, **kwargs)
    File "/usr/lib/python3.8/unittest/mock.py", line 1146, in _execute_mock_call
      result = effect(*args, **kwargs)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/functional/agent/l3/framework.py", line 408, in new_ovs_plug
      original_plug_new(self, *args, **kwargs)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/linux/interface.py", line 388, in plug_new
      namespace_obj.add_device_to_namespace(ns_dev)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/linux/ip_lib.py", line 271, in add_device_to_namespace
      device.link.set_netns(self.namespace)
    File "/home/zuul/src/opendev.org/openstack/neutron/neutron/agent/linux/ip_lib.py", line 462, in set_netns
      privileged.set_link_attribute(
    File "/home/zuul/src/opendev.org/openstack/neutron/.tox/dsvm-functional/lib/python3.8/site-packages/oslo_privsep/priv_context.py", line 271, in _wrap
      return self.channel.remote_call(name, args, kwargs,
    File "/home/zuul/src/opendev.org/openstack/neutron/.tox/dsvm-functional/lib/python3.8/site-packages/oslo_privsep/daemon.py", line 215, in remote_call
      raise exc_type(*result[2])
  neutron.privileged.agent.linux.ip_lib.NetworkInterfaceNotFound: Network interface qg-d9d41d8e-8b not found in namespace None.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1961740/+subscriptions



References