yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #80164
[Bug 1845354] Re: [FT] FdbInterfaceTestCase test cases failing when creating two VTI with the same VNI
Reviewed: https://review.opendev.org/684805
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=761b91fd221914ce06ded381264740abc29fe066
Submitter: Zuul
Branch: master
commit 761b91fd221914ce06ded381264740abc29fe066
Author: Rodolfo Alonso Hernandez <ralonsoh@xxxxxxxxxx>
Date: Wed Sep 25 16:23:31 2019 +0000
Randomize VNI in FdbInterfaceTestCase
Randomize VNI in FdbInterfaceTestCase to avoid clashes if several test
cases are creating VXLAN interfaces in the kernel namespace at the
same time.
Change-Id: Ic90fa31aa15723eab7f518a42762a7f1c80ee736
Closes-Bug: #1845354
** 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/1845354
Title:
[FT] FdbInterfaceTestCase test cases failing when creating two VTI
with the same VNI
Status in neutron:
Fix Released
Bug description:
In "FdbInterfaceTestCase" test cases (no namespace scenario), can
happen that two test cases are creating VXLAN interfaces in the kernel
namespace (VTI) in the same VTEP and the same destination port
(default=4789). In this case, the kernel will raise the exception
errno.EEXIST (file already exists).
In order to avoid this problem, a random VNI could be used when
creating the VXLAN interfaces.
LOGS:
[1]https://9722deaa313ebebb56dc-c08b881decb3106ff13d720dd4a26025.ssl.cf5.rackcdn.com/681846/5/check/neutron-functional-python27/c3dc48a/testr_results.html.gz
HOW TO TEST IT:
from neutron.agent.linux import ip_lib
from neutron.privileged.agent.linux import ip_lib as priv_ip_lib
ns_name = 'ns_test'
try:
priv_ip_lib.remove_netns(ns_name)
except:
pass
priv_ip_lib.create_netns(ns_name)
dev = 'device'
dev2 = 'device2'
dev_vxlan = 'device_vxlan'
dev_vxlan2 = 'device_vxlan2'
ip_wrapper = ip_lib.IPWrapper(ns_name)
ip_wrapper.add_dummy(dev)
ip_wrapper.add_dummy(dev2)
ip_device1 = ip_lib.IPDevice(dev, ns_name)
ip_device2 = ip_lib.IPDevice(dev2, ns_name)
ip_device1.link.set_up()
ip_device2.link.set_up()
ip_wrapper.add_vxlan(dev_vxlan, 100, dev=dev)
try:
ip_wrapper.add_vxlan(dev_vxlan2, 100, dev=dev2)
except Exception as e:
print(str(e))
priv_ip_lib.remove_netns(ns_name)
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1845354/+subscriptions
References