[Netvirt] test_subport_connectivity fails in ODL deployment

Bug #1770664 reported by Jakub Libosvar
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Unassigned

Bug Description

when the below command is executed
IFACE=$(PATH=$PATH:/usr/sbin ip l | grep "^[0-9]*: e" |cut -d \: -f 2) && sudo su -c "ip l a link $IFACE name $IFACE.10 type vlan id 10 &&ip l s up dev $IFACE.10 && dhclient $IFACE.10"

during "ip link add $IFACE name $IFACE.10" network-manager starts a dhclient instance for $IFACE.10, subsequent command (dhclient $IFACE.10) is starting second instance of dhclient for the same interface

1. the dhclient $IFACE.10 command can't see an already running dhclient $IFACE.10 invoked by Network-Manager since the former uses /var/run/dhclient.pid file (default) and latter /var/run/dhclient-$IFACE.10.pid

root 599 0.0 0.8 113372 15904 ? S May04 0:00 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-eth0.pid -lf /var/lib/NetworkManager/dhclient-5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03-eth0.lease -cf /var/lib/NetworkManager/dhclient-eth0.conf eth0
root 11592 0.0 0.8 113372 15896 ? S 08:47 0:00 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-eth0.10.pid -lf /var/lib/NetworkManager/dhclient-6ddc8a87-a04d-4ebe-9dd7-7c054a1038b2-eth0.10.lease -cf /var/lib/NetworkManager/dhclient-eth0.10.conf eth0.10
root 11868 0.0 0.6 113372 12884 ? Ss 08:54 0:00 dhclient --no-pid eth0.10
root 11870 0.0 0.0 112660 984 ttyS0 S+ 08:54 0:00 grep --color=auto -i dhclient

2. once second instance of dhclient is invoked it adds a default route via $IFACE.10 to the routing table of the VM which casues connectivy to gateway (10.100.0.1 in this case) over the non-vlaned vNIC to be dropped:

[root@tempest-server-test-1239575795 ~]# ip r
default via 10.100.0.17 dev eth0.10
default via 10.100.0.1 dev eth0 proto static metric 100
default via 10.100.0.17 dev eth0.10 proto static metric 400
10.100.0.0/28 dev eth0 proto kernel scope link src 10.100.0.11 metric 100
10.100.0.16/28 dev eth0.10 proto kernel scope link src 10.100.0.28
169.254.169.254 via 10.100.0.18 dev eth0.10 proto static
169.254.169.254 via 10.100.0.2 dev eth0 proto dhcp metric 100

the test is working in upstream openstack since they use 'ubuntu' as the 'advanced image' and, most likely, it behaves differently

the test should probably check whether dhclient is already running or IP address is already obtained for $IFACE.10 and invoke dhclient based on that only

This bug is within tempest component.

Once the dhclient/routing table issue was fixed manually the ping between VMs on different computes and using vlan'ed vNICs worked.

Tags: tempest
Revision history for this message
Miguel Lavalle (minsel) wrote :

Fix was proposed and merged here: https://review.openstack.org/#/c/567875/

Changed in neutron:
importance: Undecided → Medium
status: New → Fix Committed
Changed in neutron:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.