[Bug 1756322] Re: 'netplan apply' fails when trying to activate another interface on another QETH device ...
Steve Langasek
steve.langasek at canonical.com
Mon Jun 3 04:12:37 UTC 2019
On Mon, Jun 03, 2019 at 12:09:45AM -0000, BloodBlight wrote:
> I am still seeing this error on Ubuntu 18.04 with netplan.io 0.97:
> root at server:/etc/netplan# netplan apply
> Traceback (most recent call last):
> File "/usr/sbin/netplan", line 23, in <module>
> netplan.main()
> File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
> self.run_command()
> File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command
> self.func()
> File "/usr/share/netplan/netplan/cli/commands/apply.py", line 43, in run
> self.run_command()
> File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command
> self.func()
> File "/usr/share/netplan/netplan/cli/commands/apply.py", line 106, in command_apply
> stderr=subprocess.DEVNULL)
> File "/usr/lib/python3.6/subprocess.py", line 291, in check_call
> raise CalledProcessError(retcode, cmd)
> subprocess.CalledProcessError: Command '['udevadm', 'test-builtin',
> 'net_setup_link', '/sys/class/net/enp1s0f0:0']' returned non-zero exit
> status 4.
This is a bug report about QETH interfaces, which are an s390x-specific
driver. Since you are seeing an issue on amd64, please file a separate bug
report for this problem.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1756322
Title:
'netplan apply' fails when trying to activate another interface on
another QETH device ...
Status in netplan:
Fix Released
Status in Ubuntu on IBM z Systems:
Fix Released
Status in netplan.io package in Ubuntu:
Fix Released
Status in nplan package in Ubuntu:
Fix Released
Status in systemd package in Ubuntu:
Invalid
Status in netplan.io source package in Xenial:
Invalid
Status in nplan source package in Xenial:
Fix Released
Status in systemd source package in Xenial:
Invalid
Status in netplan.io source package in Artful:
Invalid
Status in nplan source package in Artful:
Won't Fix
Status in systemd source package in Artful:
Invalid
Bug description:
[Impact]
Server users on s390x configuring qeth devices.
[Test case]
1) Reconfigure an interface for a QETH device
2) Verify that 'netplan apply' completes successfully, without error.
[Regression potential]
This change has minimal potential for regression, and it only skip qeth-based devices from "replugging", which "disconnects" them by unbinding and rebinding the driver. Potential issues would be limited to failure to rename interfaces without a reboot, for configurations that depend on this (but it already would not have worked due to netplan apply failing to rebind the device).
---
When trying to add another interface for a QETH device on a s390x
system netplan apply fails:
sudo netplan apply
Cannot replug encc003: [Errno 19] No such device
Traceback (most recent call last):
File "/usr/sbin/netplan", line 23, in <module>
netplan.main()
File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 110, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 40, in run
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 110, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 87, in command_apply
stdout=fd, stderr=fd)
File "/usr/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['udevadm', 'test-builtin', 'net_setup_link', '/sys/class/net/encc003']' returned non-zero exit status 4.
It seems like rebinding of qeth devices is not allowed.
With qeth devices, I guess one needs to "offline & online" them...
Or like unbind a whole group of them, as there are three of them per interface.
ubuntu at s1lp14:/sys/class/net/encc006/device$ ls -latr
total 0
drwxr-xr-x 5 root root 0 Mar 16 02:06 ..
-rw-r--r-- 1 root root 4096 Mar 16 13:44 uevent
drwxr-xr-x 6 root root 0 Mar 16 13:44 .
-rw-r--r-- 1 root root 4096 Mar 16 13:44 online
lrwxrwxrwx 1 root root 0 Mar 16 13:44 subsystem -> ../../../bus/ccwgroup
lrwxrwxrwx 1 root root 0 Mar 16 13:44 driver -> ../../../bus/ccwgroup/drivers/qeth
drwxr-xr-x 2 root root 0 Mar 16 13:44 vnicc
--w------- 1 root root 4096 Mar 16 13:44 recover
-rw-r--r-- 1 root root 4096 Mar 16 13:44 priority_queueing
-rw-r--r-- 1 root root 4096 Mar 16 13:44 portno
-rw-r--r-- 1 root root 4096 Mar 16 13:44 portname
-rw-r--r-- 1 root root 4096 Mar 16 13:44 performance_stats
-rw-r--r-- 1 root root 4096 Mar 16 13:44 layer2
-rw-r--r-- 1 root root 4096 Mar 16 13:44 isolation
-rw-r--r-- 1 root root 4096 Mar 16 13:44 hw_trap
lrwxrwxrwx 1 root root 0 Mar 16 13:44 cdev2 -> ../../css0/0.0.0bb4/0.0.c008
lrwxrwxrwx 1 root root 0 Mar 16 13:44 cdev1 -> ../../css0/0.0.0bb3/0.0.c007
lrwxrwxrwx 1 root root 0 Mar 16 13:44 cdev0 -> ../../css0/0.0.0bb2/0.0.c006
-rw-r--r-- 1 root root 4096 Mar 16 13:44 buffer_count
-rw-r--r-- 1 root root 4096 Mar 16 13:44 bridge_role
-rw-r--r-- 1 root root 4096 Mar 16 13:44 bridge_reflect_promisc
-rw-r--r-- 1 root root 4096 Mar 16 13:44 bridge_hostnotify
--w------- 1 root root 4096 Mar 16 13:50 ungroup
-r--r--r-- 1 root root 4096 Mar 16 13:50 switch_attrs
-r--r--r-- 1 root root 4096 Mar 16 13:50 state
drwxr-xr-x 2 root root 0 Mar 16 13:50 power
-r--r--r-- 1 root root 4096 Mar 16 13:50 inbuf_size
-r--r--r-- 1 root root 4096 Mar 16 13:50 if_name
-r--r--r-- 1 root root 4096 Mar 16 13:50 chpid
-r--r--r-- 1 root root 4096 Mar 16 13:50 card_type
-r--r--r-- 1 root root 4096 Mar 16 13:50 bridge_state
drwxr-xr-x 2 root root 0 Mar 16 13:50 blkt
drwxr-xr-x 3 root root 0 Mar 16 13:50 net
$ echo 'encc006' | sudo tee driver/unbind
encc006
tee: driver/unbind: No such device
$ echo 'cdev0' | sudo tee driver/unbind
cdev0
tee: driver/unbind: No such device
$ echo '0.0.c006' | sudo tee driver/unbind
0.0.c006
ubuntu at s1lp14:/sys/class/net/encc006/device$ Mar 16 13:52:28 s1lp14 sudo[8046]: ubuntu : TTY=pts/1 ; PWD=/sys/devices/qeth/0.0.c006 ; USER=root ; COMMAND=/usr/bin/tee driver/unbind
Mar 16 13:52:28 s1lp14 sudo[8046]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0)
Mar 16 13:52:28 s1lp14 systemd-networkd[7772]: encc006: Lost carrier
Mar 16 13:52:28 s1lp14 systemd-timesyncd[1078]: Network configuration changed, trying to establish connection.
Mar 16 13:52:28 s1lp14 systemd-timesyncd[1078]: Synchronized to time server 91.189.89.198:123 (ntp.ubuntu.com).
Mar 16 13:52:28 s1lp14 systemd-networkd[7772]: encc006.2653: Lost carrier
Mar 16 13:52:28 s1lp14 systemd-timesyncd[1078]: Network configuration changed, trying to establish connection.
Mar 16 13:52:28 s1lp14 kernel: failed to kill vid 8100/2653 for device encc006
Mar 16 13:52:28 s1lp14 sudo[8046]: pam_unix(sudo:session): session closed for user root
Mar 16 13:52:28 s1lp14 systemd-timesyncd[1078]: Synchronized to time server 91.189.89.198:123 (ntp.ubuntu.com).
However rebinding like that does not work.
Either qeth devices should be skipped, or one should operate on the
whole group of them, simulating chzdev -d c006; chzdev -e c006 -> or
just calling that.
Note that the device id to pass to chzdev is the whever device symlink
points to, e.g. 0.0.c006 in this case:
$ ls -latr /sys/class/net/encc006/device
lrwxrwxrwx 1 root root 0 Mar 16 13:55 /sys/class/net/encc006/device -> ../../../0.0.c006
To manage notifications about this bug go to:
https://bugs.launchpad.net/netplan/+bug/1756322/+subscriptions
More information about the foundations-bugs
mailing list