Bug 1206483

Summary: team device is removed when released from bridge
Product: Red Hat Enterprise Linux 7 Reporter: Jiri Pirko <jpirko>
Component: libteamAssignee: Rashid Khan <rkhan>
Status: CLOSED ERRATA QA Contact: Amit Supugade <asupugad>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: network-qe, rkhan, zhchen
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libteam-1.17-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-19 03:55:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1208418    
Bug Blocks:    

Description Jiri Pirko 2015-03-27 09:07:31 UTC
Description of problem:
When released from bridge, team device is removed from the system. That should not happen.

Version-Release number of selected component (if applicable):
teamd-1.15-1.el7.x86_64
but upstream (teamd-1.16) has the same problem

How reproducible:
always

Steps to Reproduce:
[root@rhel7 ~]# teamd -d -t teamx
[root@rhel7 ~]# ip l |grep teamx
8: teamx: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT 
[root@rhel7 ~]# ip link add brx type bridge
[root@rhel7 ~]# ip link set teamx master brx
[root@rhel7 ~]# ip link set teamx nomaster
[root@rhel7 ~]# ip l |grep teamx

Actual results:
teamx is no longer present

Expected results:
8: teamx: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT
teamx is present

Additional info:
If teamd is run with -N option and killed before teamx is removed from the bridge, teamx is not removed. That indicates that problem is in teamd.

Comment 7 Amit Supugade 2015-08-03 13:23:45 UTC
Reproduced on- 3.10.0-229.el7.x86_64

[root@robin ~]# teamd -v
teamd 1.15
[root@robin ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp7s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:90:fa:8a:5c:7a brd ff:ff:ff:ff:ff:ff
3: enp5s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master team0 state UP qlen 1000
    link/ether e4:11:5b:dd:d6:06 brd ff:ff:ff:ff:ff:ff
    inet 10.19.15.27/24 brd 10.19.15.255 scope global dynamic enp5s0f0
       valid_lft 36150sec preferred_lft 36150sec
    inet6 2620:52:0:130b:e611:5bff:fedd:d606/64 scope global dynamic 
       valid_lft 2263772sec preferred_lft 276572sec
    inet6 fe80::e611:5bff:fedd:d606/64 scope link 
       valid_lft forever preferred_lft forever
4: enp7s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:90:fa:8a:5c:82 brd ff:ff:ff:ff:ff:ff
5: enp5s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether e4:11:5b:dd:d6:07 brd ff:ff:ff:ff:ff:ff
8: team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether e4:11:5b:dd:d6:06 brd ff:ff:ff:ff:ff:ff
    inet6 2620:52:0:130b:e611:5bff:fedd:d606/64 scope global dynamic 
       valid_lft 2591658sec preferred_lft 604458sec
    inet6 fe80::e611:5bff:fedd:d606/64 scope link 
       valid_lft forever preferred_lft forever

[root@robin ~]# ip link add br0 type bridge
[root@robin ~]# ip link set team0 master br0
[414042.973003] device team0 entered promiscuous mode
[414043.030329] device enp5s0f0 entered promiscuous mode
[root@robin ~]# ip link set team0 nomaster
[414058.686774] device team0 left promiscuous mode
[414058.740981] device enp5s0f0 left promiscuous mode
[414058.798619] br0: port 1(team0) entered disabled state
[root@robin ~]# [414059.034629] team0: Port device enp5s0f0 removed

[root@robin ~]# ip l | grep team0
[root@robin ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp7s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:90:fa:8a:5c:7a brd ff:ff:ff:ff:ff:ff
3: enp5s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether e4:11:5b:dd:d6:06 brd ff:ff:ff:ff:ff:ff
    inet 10.19.15.27/24 brd 10.19.15.255 scope global dynamic enp5s0f0
       valid_lft 36064sec preferred_lft 36064sec
    inet6 fe80::e611:5bff:fedd:d606/64 scope link tentative 
       valid_lft forever preferred_lft forever
4: enp7s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:90:fa:8a:5c:82 brd ff:ff:ff:ff:ff:ff
5: enp5s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether e4:11:5b:dd:d6:07 brd ff:ff:ff:ff:ff:ff
9: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
[root@robin ~]# 



Verified on- 3.10.0-295.el7.x86_64

[root@sam ~]# teamd -v
teamd 1.17
[root@sam ~]# teamd -d -t team0
[437540.725541] team0: Mode changed to "roundrobin"
[root@sam ~]# ip l | grep team0
8: team0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT 
[root@sam ~]# 
[root@sam ~]# ip link add brx type bridge
[437565.579952] Bridge firewalling registered
[root@sam ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp7s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:90:fa:8a:5b:fa brd ff:ff:ff:ff:ff:ff
3: enp7s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:90:fa:8a:5c:02 brd ff:ff:ff:ff:ff:ff
4: enp5s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether e4:11:5b:dd:e6:6c brd ff:ff:ff:ff:ff:ff
    inet 10.19.15.26/24 brd 10.19.15.255 scope global dynamic enp5s0f0
       valid_lft 55930sec preferred_lft 55930sec
5: enp5s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether e4:11:5b:dd:e6:6d brd ff:ff:ff:ff:ff:ff
8: team0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether e2:77:f1:49:4d:17 brd ff:ff:ff:ff:ff:ff
9: brx: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether 46:3d:59:46:63:79 brd ff:ff:ff:ff:ff:ff
[root@sam ~]# ip link set team0 master brx
[438812.759895] device team0 entered promiscuous mode
[root@sam ~]# ip link set team0 nomaster
[438827.086623] device team0 left promiscuous mode
[438827.140860] brx: port 1(team0) entered disabled state
[root@sam ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp7s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:90:fa:8a:5b:fa brd ff:ff:ff:ff:ff:ff
3: enp7s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:90:fa:8a:5c:02 brd ff:ff:ff:ff:ff:ff
4: enp5s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether e4:11:5b:dd:e6:6c brd ff:ff:ff:ff:ff:ff
    inet 10.19.15.26/24 brd 10.19.15.255 scope global dynamic enp5s0f0
       valid_lft 55840sec preferred_lft 55840sec
5: enp5s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether e4:11:5b:dd:e6:6d brd ff:ff:ff:ff:ff:ff
8: team0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether e2:77:f1:49:4d:17 brd ff:ff:ff:ff:ff:ff
9: brx: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
[root@sam ~]#

Comment 9 errata-xmlrpc 2015-11-19 03:55:54 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-2176.html