Bug 1114282
| Summary: | Anaconda network: crash on invalid team device json parameters | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Mika Ilmaranta <ilmis> | ||||
| Component: | anaconda | Assignee: | Radek Vykydal <rvykydal> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Release Test Team <release-test-team-automation> | ||||
| Severity: | unspecified | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 7.0 | CC: | 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
Mika Ilmaranta
2014-06-29 13:39:41 UTC
Please attach the log files from /tmp to this bug as individual text/plain attachments. I only have three installer bug report tar.gz -files. Do you want something specific from them or them in full? There should a file from the crash named anaconda-tb-*. If you can attach that to this bug, please do. Created attachment 913512 [details]
anaconda-tb
Anaconca-tb from the first crash.
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] 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. 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. 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.
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 |