Bond interface not working with contrail-provisioining on Ubuntu 14.04

Bug #1403592 reported by Vedamurthy Joshi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Fix Committed
High
Nagendra Prasath

Bug Description

3.0 Build 2503 Icehouse Ubuntu 14.04 Multi node setup

Full install log : http://anamika.englab.juniper.net:8080/job/ubuntu-14-04_icehouse_Multi_Node_Sanity/63/console

Below all 3 compute nodes have vhost using bond interface.
During http://anamika.englab.juniper.net:8080/job/ubuntu-14-04_icehouse_Multi_Node_Sanity/63/console ,
it was seen that 192.168.10.1 was not reachable by other normal intf ips 192.168.10.4, 192.168.10.5, 192.168.10.6

All the member intfs p2p1,p2p2, p2p3 and p2p4 had different MACs configured.
Per Anand, all bond intfs (and bond intf too) should have had the same MAC

Once i removed the MAC addres config in /etc/network/interfaces for these member intfs, it started working fine.

env.roledefs = {
    'all': [host1, host2, host3, host4, host5, host6],
    'cfgm': [host1, host3],
    'openstack': [host2],
    'webui': [host3],
    'control': [host1, host3],
    'compute': [host4, host5, host6],
    'collector': [host1, host3],
    'database': [host1, host2, host3],
    'build': [host_build],
}

env.hostnames = {
    'all': ['nodec21', 'nodec19', 'nodec20', 'nodec61', 'nodec60','nodec18']
}

bond= {
    host4 : { 'name': 'bond0', 'member': ['p2p1','p2p2','p2p3','p2p4'],'mode':'802.3ad' },
    host5 : { 'name': 'bond0', 'member': ['p2p1','p2p2','p2p3','p2p4'],'mode':'802.3ad' },
    host6 : { 'name': 'bond0', 'member': ['p2p1','p2p2'],'mode':'balance-xor' },
}

control_data= {

    host1 : { 'ip': '192.168.10.4/24', 'gw' : '192.168.10.254', 'device':'p1p2' },
    host2 : { 'ip': '192.168.10.5/24', 'gw' : '192.168.10.254', 'device':'p1p2' },
    host3 : { 'ip': '192.168.10.6/24', 'gw' : '192.168.10.254', 'device':'p1p2' },
    host4 : { 'ip': '192.168.10.1/24', 'gw' : '192.168.10.254', 'device':'bond0' },
    host5 : { 'ip': '192.168.10.2/24', 'gw' : '192.168.10.254', 'device':'bond0' },
    host6 : { 'ip': '192.168.10.3/24', 'gw' : '192.168.10.254', 'device':'bond0' },
}

------

root@nodec61:/etc/network# ifconfig -a
bond0 Link encap:Ethernet HWaddr 00:25:90:c4:97:f2
          inet6 addr: fe80::225:90ff:fec4:97f2/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
          RX packets:1133 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14202 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:138764 (138.7 KB) TX bytes:687066 (687.0 KB)

lo Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING MTU:65536 Metric:1
          RX packets:16294 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16294 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1263864 (1.2 MB) TX bytes:1263864 (1.2 MB)

p1p1 Link encap:Ethernet HWaddr 00:25:90:c5:59:a6
          inet addr:10.204.217.101 Bcast:10.204.217.255 Mask:255.255.255.0
          inet6 addr: fe80::225:90ff:fec5:59a6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:48254 errors:0 dropped:0 overruns:0 frame:0
          TX packets:506 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4640237 (4.6 MB) TX bytes:71857 (71.8 KB)
          Memory:df880000-df900000

p1p2 Link encap:Ethernet HWaddr 00:25:90:c5:59:a7
          BROADCAST MULTICAST MTU:1500 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
          Memory:df800000-df880000

p2p1 Link encap:Ethernet HWaddr 00:25:90:c4:97:f0
          UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
          RX packets:275 errors:0 dropped:0 overruns:0 frame:0
          TX packets:273 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:34100 (34.1 KB) TX bytes:33852 (33.8 KB)
          Memory:df400000-df500000

p2p2 Link encap:Ethernet HWaddr 00:25:90:c4:97:f1
          UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
          RX packets:275 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4360 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:34100 (34.1 KB) TX bytes:206206 (206.2 KB)
          Memory:df300000-df400000

p2p3 Link encap:Ethernet HWaddr 00:25:90:c4:97:f2
          UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
          RX packets:304 errors:0 dropped:0 overruns:0 frame:0
          TX packets:279 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:35968 (35.9 KB) TX bytes:34360 (34.3 KB)
          Memory:df200000-df300000

p2p4 Link encap:Ethernet HWaddr 00:25:90:c4:97:f3
          UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
          RX packets:279 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9290 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:34596 (34.5 KB) TX bytes:412648 (412.6 KB)
          Memory:df100000-df200000

pkt0 Link encap:Ethernet HWaddr c2:26:31:22:b1:12
          inet6 addr: fe80::c026:31ff:fe22:b112/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:4076 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:285320 (285.3 KB) TX bytes:3150 (3.1 KB)

pkt1 Link encap:UNSPEC HWaddr 9E-44-AA-93-BA-6B-3A-33-00-00-00-00-00-00-00-00
          [NO FLAGS] MTU:65535 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

pkt2 Link encap:UNSPEC HWaddr CA-27-F1-E4-1B-BF-00-00-00-00-00-00-00-00-00-00
          [NO FLAGS] MTU:65535 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

vhost0 Link encap:Ethernet HWaddr 00:25:90:c4:97:f2
          inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
          inet6 addr: fe80::225:90ff:fec4:97f2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9035 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1620 (1.6 KB) TX bytes:380426 (380.4 KB)

root@nodec61:/etc/network# tcpdump -ni bond0
tcpdump: WARNING: bond0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on bond0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:31:45.761616 ARP, Request who-has 192.168.10.4 tell 192.168.10.1, length 28
11:31:45.761630 ARP, Request who-has 192.168.10.4 tell 192.168.10.1, length 28
11:31:45.761757 ARP, Reply 192.168.10.4 is-at 00:25:90:c3:3f:13, length 46 <<<<<<<< These arps were not getting learnt
11:31:45.761767 ARP, Reply 192.168.10.4 is-at 00:25:90:c3:3f:13, length 46
------------------------

With the MAC address commented out, things worked fine :

root@nodec61:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto p1p1
iface p1p1 inet dhcp

auto p2p1
iface p2p1 inet manual
# hwaddress ether 00:25:90:c4:97:f0
    down ip addr flush dev p2p1
    bond-master bond0

auto p2p2
iface p2p2 inet manual
# hwaddress ether 00:25:90:c4:97:f1
    down ip addr flush dev p2p2
    bond-master bond0

auto p2p3
iface p2p3 inet manual
# hwaddress ether 00:25:90:c4:97:f2
    down ip addr flush dev p2p3
    bond-master bond0

auto p2p4
iface p2p4 inet manual
# hwaddress ether 00:25:90:c4:97:f3
    down ip addr flush dev p2p4
    bond-master bond0

auto bond0
iface bond0 inet manual
    pre-up ifconfig bond0 up
    post-down ifconfig bond0 down
    bond-slaves none
    bond-miimon 100
    bond-mode 802.3ad
    bond-xmit_hash_policy layer3+4

auto vhost0
iface vhost0 inet static
    pre-up /opt/contrail/bin/if-vhost0
    netmask 255.255.255.0
    network_name application
    address 192.168.10.1
    dns-search englab.juniper.net juniper.net
    dns-nameservers 10.204.216.51 10.209.194.133 8.8.8.8

root@nodec61:~#

tags: added: blocker
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/5740
Committed: http://github.org/Juniper/contrail-provisioning/commit/6d110f45fdfec95359b37ba7c4281028594e0470
Submitter: Zuul
Branch: master

commit 6d110f45fdfec95359b37ba7c4281028594e0470
Author: Senthilnathan Murugappan <email address hidden>
Date: Wed Dec 17 12:43:45 2014 -0800

Remove mac addr to interface name mapping from interface file

We would end up with different mac address for the bond members
which would result in the members dropping the packet

70-persistent-net-rules will make sure the consistent interface naming
hence removing the same from interfaces file

Change-Id: I27db61c910137f0cf2c30aca3bb74e7a5b76f11c
Closes-Bug: #1403592

Changed in juniperopenstack:
status: New → Fix Committed
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/5742
Committed: http://github.org/Juniper/contrail-provisioning/commit/c5aab58e8a20b45387aeac91c22fa558c23d7053
Submitter: Zuul
Branch: R2.0

commit c5aab58e8a20b45387aeac91c22fa558c23d7053
Author: Senthilnathan Murugappan <email address hidden>
Date: Wed Dec 17 12:43:45 2014 -0800

Remove mac addr to interface name mapping from interface file

We would end up with different mac address for the bond members
which would result in the members dropping the packet

70-persistent-net-rules will make sure the consistent interface naming
hence removing the same from interfaces file

Change-Id: I27db61c910137f0cf2c30aca3bb74e7a5b76f11c
Closes-Bug: #1403592

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.