Bug 1765566

Summary: Bringing up one slave of team0 also brings up team1
Product: Red Hat Enterprise Linux 7 Reporter: Mithil Mhatre <mmhatre>
Component: NetworkManagerAssignee: Beniamino Galvani <bgalvani>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.7CC: atragler, bgalvani, fgiudici, jmaxwell, lrintel, rgadani, rkhan, sukulkar, thaller, vbenes
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: NetworkManager-1.18.6-1.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-29 20:30:25 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:    
Bug Blocks: 1797742    

Description Mithil Mhatre 2019-10-25 12:50:32 UTC
Description of problem:

Running "nmcli connection up <slave>" or "ifup <slave>" command to bring up the slave of 1 team also completely brings up the another team which is team1. 

Version-Release number of selected component (if applicable):

# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.7 (Maipo)

NetworkManager-1.18.0-5.el7_7.1.x86_64
kernel-3.10.0-1062.4.1.el7.x86_64
teamd-1.27-9.el7.x86_64
initscripts-9.49.47-1.el7.x86_64

How reproducible:

Create 2 separate team(team0 & team1) along with 2 vlans on top of each team using nmcli.

nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "lacp"}}'
nmcli con add type team con-name team1 ifname team1 config '{"runner": {"name": "lacp"}}'
nmcli con add type team-slave con-name team0-port1 ifname ens8 master team0
nmcli con add type team-slave con-name team0-port2 ifname ens9 master team0
nmcli con add type team-slave con-name team1-port1 ifname ens10 master team1
nmcli con add type team-slave con-name team1-port2 ifname ens11 master team1

nmcli connection add type vlan con-name team0-vlan1 dev team0 id 10 ip4 192.168.122.155/24 gw4 192.168.122.1
nmcli connection add type vlan con-name team0-vlan2 dev team0 id 11 ip4 192.168.122.156/24 gw4 192.168.122.1
nmcli connection add type vlan con-name team1-vlan1 dev team1 id 11 ip4 192.168.122.160/24 gw4 192.168.122.1
nmcli connection add type vlan con-name team1-vlan2 dev team1 id 11 ip4 192.168.122.156/24 gw4 192.168.122.1

Steps to Reproduce:
1. # nmcli connection show
NAME         UUID                                  TYPE      DEVICE   
team0        95a39801-e0a0-4787-ab2c-016318b992a9  team      team0    
team1        c111b89d-dab4-41c1-94d7-c2bd6a7dfdd5  team      team1    
ens3         10ab0716-66f0-49ff-bce5-aad480b6c348  ethernet  ens3     
team0-vlan1  0f33113c-5f31-40aa-9eb5-87765846f5a8  vlan      team0.10 
team0-vlan2  7a33c4a4-7c11-42f2-b3d7-4a1402071d10  vlan      team0.11 
team1-vlan1  c60bdde3-08c1-4633-ab83-a10d68e8b061  vlan      team1.10 
team1-vlan2  5b1f92bb-6299-4fe1-b0d1-06a32748d9fa  vlan      team1.11 
team0-port1  0c9f2c03-d921-4266-a4ee-47929f26c907  ethernet  ens8     
team0-port2  1ba10dfb-556b-4db8-9142-a15d679aa291  ethernet  ens9     
team1-port1  3178fd67-6177-456e-94d4-c02e4ddba8c8  ethernet  ens10    
team1-port2  2452e1ca-76f2-4ced-af2f-32eee01d5363  ethernet  ens11

2. # nmcli connection down team0
Connection 'team0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/93)

3. # nmcli connection down team1
Connection 'team1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/98)

4. # nmcli connection show
NAME         UUID                                  TYPE      DEVICE 
ens3         10ab0716-66f0-49ff-bce5-aad480b6c348  ethernet  ens3   
team0        95a39801-e0a0-4787-ab2c-016318b992a9  team      --     
team0-port1  0c9f2c03-d921-4266-a4ee-47929f26c907  ethernet  --     
team0-port2  1ba10dfb-556b-4db8-9142-a15d679aa291  ethernet  --     
team0-vlan1  0f33113c-5f31-40aa-9eb5-87765846f5a8  vlan      --     
team0-vlan2  7a33c4a4-7c11-42f2-b3d7-4a1402071d10  vlan      --     
team1        c111b89d-dab4-41c1-94d7-c2bd6a7dfdd5  team      --     
team1-port1  3178fd67-6177-456e-94d4-c02e4ddba8c8  ethernet  --     
team1-port2  2452e1ca-76f2-4ced-af2f-32eee01d5363  ethernet  --     
team1-vlan1  c60bdde3-08c1-4633-ab83-a10d68e8b061  vlan      --     
team1-vlan2  5b1f92bb-6299-4fe1-b0d1-06a32748d9fa  vlan      --

5. # nmcli connection up team0-port1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/102)

6. # nmcli connection show
NAME         UUID                                  TYPE      DEVICE   
team0        95a39801-e0a0-4787-ab2c-016318b992a9  team      team0    
team1        c111b89d-dab4-41c1-94d7-c2bd6a7dfdd5  team      team1    
ens3         10ab0716-66f0-49ff-bce5-aad480b6c348  ethernet  ens3     
team0-vlan1  0f33113c-5f31-40aa-9eb5-87765846f5a8  vlan      team0.10 
team0-vlan2  7a33c4a4-7c11-42f2-b3d7-4a1402071d10  vlan      team0.11 
team1-vlan1  c60bdde3-08c1-4633-ab83-a10d68e8b061  vlan      team1.10 
team1-vlan2  5b1f92bb-6299-4fe1-b0d1-06a32748d9fa  vlan      team1.11 
team0-port1  0c9f2c03-d921-4266-a4ee-47929f26c907  ethernet  ens8     
team0-port2  1ba10dfb-556b-4db8-9142-a15d679aa291  ethernet  ens9     
team1-port1  3178fd67-6177-456e-94d4-c02e4ddba8c8  ethernet  ens10    
team1-port2  2452e1ca-76f2-4ced-af2f-32eee01d5363  ethernet  ens11

Actual results:

The issue is the other team named team1 which was down is also coming completely up while bringing one slave of team0 up.

Expected results:

If bringing up slave interface of team0 then only team0 should come up not team1

Additional info:

Comment 2 Mithil Mhatre 2019-11-06 17:45:29 UTC
Investigating the behaviour further we have observed that the vlan is creating the issue. When vlan interfaces are configured then only the unusual behaviour is seen, without vlan interfaces the team interfaces are coming up as expected.

###Behaviour without vlan interfaces.

# nmcli connection show
NAME         UUID                                  TYPE      DEVICE 
ens3         10ab0716-66f0-49ff-bce5-aad480b6c348  ethernet  ens3   
team0        95a39801-e0a0-4787-ab2c-016318b992a9  team      team0  
team1        c111b89d-dab4-41c1-94d7-c2bd6a7dfdd5  team      team1  
team0-port1  0c9f2c03-d921-4266-a4ee-47929f26c907  ethernet  ens8   
team0-port2  1ba10dfb-556b-4db8-9142-a15d679aa291  ethernet  ens9   
team1-port1  3178fd67-6177-456e-94d4-c02e4ddba8c8  ethernet  ens10  
team1-port2  2452e1ca-76f2-4ced-af2f-32eee01d5363  ethernet  ens11 

# nmcli connection down team0
Connection 'team0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)

# nmcli connection down team1
Connection 'team1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)

# nmcli connection show
NAME         UUID                                  TYPE      DEVICE 
ens3         10ab0716-66f0-49ff-bce5-aad480b6c348  ethernet  ens3   
team0        95a39801-e0a0-4787-ab2c-016318b992a9  team      --     
team0-port1  0c9f2c03-d921-4266-a4ee-47929f26c907  ethernet  --     
team0-port2  1ba10dfb-556b-4db8-9142-a15d679aa291  ethernet  --     
team1        c111b89d-dab4-41c1-94d7-c2bd6a7dfdd5  team      --     
team1-port1  3178fd67-6177-456e-94d4-c02e4ddba8c8  ethernet  --     
team1-port2  2452e1ca-76f2-4ced-af2f-32eee01d5363  ethernet  --

# nmcli connection up team0
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)

# nmcli connection show
NAME         UUID                                  TYPE      DEVICE 
ens3         10ab0716-66f0-49ff-bce5-aad480b6c348  ethernet  ens3   
team0        95a39801-e0a0-4787-ab2c-016318b992a9  team      team0  
team0-port1  0c9f2c03-d921-4266-a4ee-47929f26c907  ethernet  ens8   
team0-port2  1ba10dfb-556b-4db8-9142-a15d679aa291  ethernet  ens9   
team1        c111b89d-dab4-41c1-94d7-c2bd6a7dfdd5  team      --     
team1-port1  3178fd67-6177-456e-94d4-c02e4ddba8c8  ethernet  --     
team1-port2  2452e1ca-76f2-4ced-af2f-32eee01d5363  ethernet  --


================================================================
But after adding vlan interfaces again the issue can be reproduce.
================================================================


[root@team-test ~]# nmcli connection add type vlan con-name team0-vlan2 dev team0 id 11 ip4 192.168.122.156/24 gw4 192.168.122.1
Connection 'team0-vlan2' (86c57c6a-8adb-4ebe-a715-75594205cee7) successfully added.

[root@team-test ~]# nmcli connection add type vlan con-name team1-vlan2 dev team1 id 11 ip4 192.168.122.156/24 gw4 192.168.122.1
Connection 'team1-vlan2' (948b805e-3c08-4a34-966d-2bbf7f0e3d4e) successfully added.

[root@team-test ~]# nmcli connection show 
NAME         UUID                                  TYPE      DEVICE   
ens3         10ab0716-66f0-49ff-bce5-aad480b6c348  ethernet  ens3     
team0-vlan2  86c57c6a-8adb-4ebe-a715-75594205cee7  vlan      team0.11 
team1-vlan2  948b805e-3c08-4a34-966d-2bbf7f0e3d4e  vlan      team1.11 
team0        95a39801-e0a0-4787-ab2c-016318b992a9  team      team0    
team1        c111b89d-dab4-41c1-94d7-c2bd6a7dfdd5  team      team1    
team0-port1  0c9f2c03-d921-4266-a4ee-47929f26c907  ethernet  ens8     
team0-port2  1ba10dfb-556b-4db8-9142-a15d679aa291  ethernet  ens9     
team1-port1  3178fd67-6177-456e-94d4-c02e4ddba8c8  ethernet  ens10    
team1-port2  2452e1ca-76f2-4ced-af2f-32eee01d5363  ethernet  ens11   
 
[root@team-test ~]# nmcli connection down team0
Connection 'team0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)

[root@team-test ~]# nmcli connection down team1
Connection 'team1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/12)

root@team-test ~]# nmcli connection show 
NAME         UUID                                  TYPE      DEVICE 
ens3         10ab0716-66f0-49ff-bce5-aad480b6c348  ethernet  ens3   
team0        95a39801-e0a0-4787-ab2c-016318b992a9  team      --     
team0-port1  0c9f2c03-d921-4266-a4ee-47929f26c907  ethernet  --     
team0-port2  1ba10dfb-556b-4db8-9142-a15d679aa291  ethernet  --     
team0-vlan2  86c57c6a-8adb-4ebe-a715-75594205cee7  vlan      --     
team1        c111b89d-dab4-41c1-94d7-c2bd6a7dfdd5  team      --     
team1-port1  3178fd67-6177-456e-94d4-c02e4ddba8c8  ethernet  --     
team1-port2  2452e1ca-76f2-4ced-af2f-32eee01d5363  ethernet  --     
team1-vlan2  948b805e-3c08-4a34-966d-2bbf7f0e3d4e  vlan      -- 
   
[root@team-test ~]# nmcli connection up team0
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/17)

[root@team-test ~]# nmcli connection show 
NAME         UUID                                  TYPE      DEVICE   
ens3         10ab0716-66f0-49ff-bce5-aad480b6c348  ethernet  ens3     
team0-vlan2  86c57c6a-8adb-4ebe-a715-75594205cee7  vlan      team0.11 
team1-vlan2  948b805e-3c08-4a34-966d-2bbf7f0e3d4e  vlan      team1.11 
team0        95a39801-e0a0-4787-ab2c-016318b992a9  team      team0    
team1        c111b89d-dab4-41c1-94d7-c2bd6a7dfdd5  team      team1    
team0-port1  0c9f2c03-d921-4266-a4ee-47929f26c907  ethernet  ens8     
team0-port2  1ba10dfb-556b-4db8-9142-a15d679aa291  ethernet  ens9     
team1-port1  3178fd67-6177-456e-94d4-c02e4ddba8c8  ethernet  ens10    
team1-port2  2452e1ca-76f2-4ced-af2f-32eee01d5363  ethernet  ens11

Comment 3 Robin K I 2019-11-20 05:44:15 UTC
Hello team,

Is there any update regarding the progress of the bug?

Regards,
Robin

Comment 4 Beniamino Galvani 2019-12-03 14:10:51 UTC
Hi,

when a connection has the property connection.autoconnect=yes, it can autoactivate at any time when the resources are available (for example when a parent device appears). However, if you bring it down manually, it is blocked from autoconnecting. In the reproducer, team1 is brought down manually by user and so it can't reconnect automatically.  However, there are the vlan connections that try to autoconnect as well and they require the team, so the team is reconnected.

This is wrong, once the team is blocked it should never reconnect automatically. I'm investigating this issue and will provide a fix.

Comment 5 Beniamino Galvani 2019-12-05 12:39:59 UTC
Upstream merge request:

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/354

Comment 11 errata-xmlrpc 2020-09-29 20:30:25 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 (Moderate: NetworkManager security and bug fix update), 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://access.redhat.com/errata/RHSA-2020:4003