Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1114282

Summary: Anaconda network: crash on invalid team device json parameters
Product: Red Hat Enterprise Linux 7 Reporter: Mika Ilmaranta <ilmis>
Component: anacondaAssignee: Radek Vykydal <rvykydal>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: dcbw, ilmis, jklimes, jpirko, ljozsa, rvykydal
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: anaconda-19.31.88-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 14:01:40 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:
Attachments:
Description Flags
anaconda-tb none

Description Mika Ilmaranta 2014-06-29 13:39:41 UTC
Description of problem:
When creating a team device in the installer giving JSON parameters to it makes installer crash with trace saying team0 device doesn't exists.

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

How reproducible:
Give new team device JSON parameters -> crash

Comment 2 David Shea 2014-06-30 13:32:06 UTC
Please attach the log files from /tmp to this bug as individual text/plain attachments.

Comment 3 Mika Ilmaranta 2014-06-30 17:46:46 UTC
I only have three installer bug report tar.gz -files. Do you want something specific from them or them in full?

Comment 4 David Shea 2014-06-30 17:50:56 UTC
There should a file from the crash named anaconda-tb-*. If you can attach that to this bug, please do.

Comment 5 Mika Ilmaranta 2014-06-30 17:56:02 UTC
Created attachment 913512 [details]
anaconda-tb

Anaconca-tb from the first crash.

Comment 6 Radek Vykydal 2014-07-01 11:54:01 UTC
The root cause seems to be:

18:15:45,684 INFO NetworkManager: <info> (team0): teamd died

Passing to NM for investigating.

We should consider more graceful handling of the fail than tracebacking in anaconda, though.

Here is ifcfg file / connection created by Connection Editor (ifcfg.log from anaconda-tb from comment #5):

18:15:45,704 DEBUG ifcfg: content of files (nm-c-e run):
18:15:45,704 DEBUG ifcfg: /etc/sysconfig/network-scripts/ifcfg-Team_connection_1:
18:15:45,705 DEBUG ifcfg:   DEVICE=team0
18:15:45,705 DEBUG ifcfg:   TEAM_CONFIG="{  \"device\": \"team0\",  \"runner\": {    \"name\": \"ethtool\",    \"delay_up\": 1000,    \"delay_down\": 500  },  \"ports\": {    \"enp13s0\": {      \"prio\": -10,      \"sticky\": true    },    \"enp15s0\": {      \"prio\":  100    }  }}"
18:15:45,705 DEBUG ifcfg:   DEVICETYPE=Team
18:15:45,705 DEBUG ifcfg:   BOOTPROTO=autoip
18:15:45,705 DEBUG ifcfg:   DEFROUTE=yes
18:15:45,705 DEBUG ifcfg:   IPV4_FAILURE_FATAL=no
18:15:45,706 DEBUG ifcfg:   IPV6INIT=no
18:15:45,706 DEBUG ifcfg:   NAME="Team connection 1"
18:15:45,706 DEBUG ifcfg:   UUID=b74bdbfd-7531-4940-b075-a0c4446fa3f8
18:15:45,706 DEBUG ifcfg:   ONBOOT=yes

...

18:15:45,748 DEBUG ifcfg: all settings: [{'802-3-ethernet': {'duplex': 'full', 's390-options': {}, 'mac-address': [0, 25, 153, 58, 72, 208]}, 'connection': {'autoconnect': False, 'slave-type': 'team', 'uuid': 'cbe944b9-a813-41fd-b35f-957bc20f769d', 'master': 'b74bdbfd-7531-4940-b075-a0c4446fa3f8', 'type': '802-3-ethernet', 'id': 'team0 slave 2'}}, {'connection': {'interface-name': 'team0', 'type': 'team', 'id': 'Team connection 1', 'uuid': 'b74bdbfd-7531-4940-b075-a0c4446fa3f8'}, 'team': {'config': '{\n  "device": "team0",\n  "runner": {\n    "name": "ethtool",\n    "delay_up": 1000,\n    "delay_down": 500\n  },\n  "ports": {\n    "enp13s0": {\n      "prio": -10,\n      "sticky": true\n    },\n    "enp15s0": {\n      "prio":  100\n    }\n  }\n}\n', 'interface-name': 'team0'}, 'ipv4': {'routes': [], 'addresses': [], 'dns': [], 'method': 'link-local'}, 'ipv6': {'routes': [], 'addresses': [], 'dns': [], 'method': 'ignore'}}, {'802-3-ethernet': {'s390-options': {}, 'mac-address': [0, 25, 153, 58, 112, 176]}, 'connection': {'autoconnect': False, 'type': '802-3-ethernet', 'id': 'enp13s0', 'uuid': 'c2141b90-8e72-442e-8382-50a9b22510fa'}, 'ipv4': {'routes': [], 'addresses': [], 'dns': [], 'method': 'auto'}, 'ipv6': {'routes': [], 'addresses': [], 'dns': [], 'method': 'auto'}}, {'802-3-ethernet': {'s390-options': {}, 'mac-address': [0, 25, 153, 58, 72, 208]}, 'connection': {'autoconnect': False, 'type': '802-3-ethernet', 'id': 'enp15s0', 'uuid': '1504757a-b790-4130-850d-31ca513f6f33'}, 'ipv4': {'routes': [], 'addresses': [], 'dns': [], 'method': 'auto'}, 'ipv6': {'routes': [], 'addresses': [], 'dns': [], 'method': 'auto'}}, {'802-3-ethernet': {'duplex': 'full', 's390-options': {}, 'mac-address': [0, 25, 153, 58, 112, 176]}, 'connection': {'autoconnect': False, 'slave-type': 'team', 'uuid': 'd9208066-0784-4d0a-8367-15b2e5b4f622', 'master': 'b74bdbfd-7531-4940-b075-a0c4446fa3f8', 'type': '802-3-ethernet', 'id': 'team0 slave 1'}}]





And NetworkManager log (syslog from anaconda-tb from comment #5):

17:59:33,931 NOTICE NetworkManager:    ifcfg-rh:     read connection 'team0 slave 1'
17:59:33,933 INFO NetworkManager: <info> Auto-activating connection 'team0 slave 1'.
17:59:33,935 WARNING NetworkManager: <warn> Failed to activate 'team0 slave 1': Master connection not found or invalid
17:59:33,935 INFO NetworkManager: <info> NetworkManager state is now DISCONNECTING
17:59:33,935 INFO NetworkManager: <info> NetworkManager state is now DISCONNECTED
17:59:44,039 WARNING NetworkManager: <warn> ignoring IP4 config on slave 'team0 slave 1'
17:59:44,039 WARNING NetworkManager: <warn> ignoring IP6 config on slave 'team0 slave 1'
17:59:55,465 NOTICE NetworkManager:    ifcfg-rh:     read connection 'team0 slave 2'
18:15:43,048 NOTICE NetworkManager:    ifcfg-rh:     read connection 'Team connection 1'
18:15:45,240 INFO NetworkManager: <info> (team0): carrier is OFF
18:15:45,240 INFO NetworkManager: <info> (team0): new Team device (driver: 'team' ifindex: 4)
18:15:45,240 INFO NetworkManager: <info> (team0): exported as /org/freedesktop/NetworkManager/Devices/3
18:15:45,240 INFO NetworkManager: <info> (team0): device state change: unmanaged -> unavailable (reason 'managed') [10 20 2]
18:15:45,241 INFO NetworkManager: <info> (team0): preparing device
18:15:45,242 INFO kernel:[ 1343.704024] IPv6: ADDRCONF(NETDEV_UP): team0: link is not ready
18:15:45,243 INFO NetworkManager: <info> (team0): device state change: unavailable -> disconnected (reason 'none') [20 30 0]
18:15:45,245 INFO NetworkManager: <info> Auto-activating connection 'Team connection 1'.
18:15:45,246 INFO NetworkManager: <info> Activation (team0) starting connection 'Team connection 1'
18:15:45,246 INFO NetworkManager: <info> Activation (team0) Stage 1 of 5 (Device Prepare) scheduled...
18:15:45,246 INFO NetworkManager: <info> Activation (team0) Stage 1 of 5 (Device Prepare) started...
18:15:45,246 INFO NetworkManager: <info> (team0): device state change: disconnected -> prepare (reason 'none') [30 40 0]
18:15:45,247 INFO NetworkManager: <info> NetworkManager state is now CONNECTING
18:15:45,682 INFO NetworkManager: <info> Activation (team0) started teamd...
18:15:45,682 INFO NetworkManager: <info> Activation (team0) Stage 1 of 5 (Device Prepare) complete.
18:15:45,684 INFO NetworkManager: <info> (team0): teamd died
18:15:45,684 INFO NetworkManager: <info> (team0): device state change: prepare -> failed (reason 'teamd-control-failed') [40 120 56]
18:15:45,684 INFO NetworkManager: <info> NetworkManager state is now DISCONNECTED
18:15:45,685 WARNING NetworkManager: <warn> Activation (team0) failed for connection 'Team connection 1'
18:15:45,686 INFO NetworkManager: <info> (team0): device state change: failed -> disconnected (reason 'none') [120 30 0]
18:15:45,686 INFO NetworkManager: <info> (team0): deactivating device (reason 'none') [0]
18:15:45,699 INFO NetworkManager: <info> (team0): device state change: disconnected -> unmanaged (reason 'removed') [30 10 36]

Comment 7 Jirka Klimes 2014-07-01 12:53:17 UTC
The TEAM_CONFIG seems to be invalid. The values for runner are incorrect. They should go to "link_watch" configuration instead, and "runner" should have one of the values listed in runner.name of teamd.conf (broadcast, roundrobin, activebackup, ...)

I can see this in my test with the above ifcfg file:
No runner named "ethtool" available.
Failed to init runner.
teamd)init(0 failed.
Failed: Invalid argument.
...and then teamd exits
NetworkManager: <info> (team0): teamd died

Adding jpirko to CC.

Comment 8 Radek Vykydal 2014-09-02 07:11:12 UTC
In the case of invalid teamd options teamd dies and team device is not created. Anaconda will log exception for the device not found instead of tracebacking.

Comment 10 Ladislav Jozsa 2015-01-06 14:12:00 UTC
Verified with anaconda-19.31.116-1.el7, RHEL-7.1-20141217.0. The following team JSON config was used:

{
device: team0 {
    name: ethtool,
    delay_up: 1000,
    delay_down: 500
    },
    ports: {
        ens3: {
           prio: -10,
           sticky: true
        },
        ens8: {
           prio: 100
        }
    }
}

The traceback no longer appears, so the original report is resolved. However, after adding a new team device from the JSON file, the connection list isn't updated and the team device is not present in the list of connections. I'm going to file another bug regarding this new issue.

Comment 12 errata-xmlrpc 2015-03-05 14:01:40 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-0312.html