'netplan apply' fails when trying to activate another interface on another QETH device ...
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Netplan |
Fix Released
|
Undecided
|
Unassigned | ||
Ubuntu on IBM z Systems |
Fix Released
|
High
|
Canonical Foundations Team | ||
netplan.io (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Invalid
|
Undecided
|
Unassigned | ||
Artful |
Invalid
|
Undecided
|
Unassigned | ||
nplan (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Artful |
Won't Fix
|
Undecided
|
Unassigned | ||
systemd (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Xenial |
Invalid
|
Undecided
|
Unassigned | ||
Artful |
Invalid
|
Undecided
|
Unassigned |
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.main()
File "/usr/share/
self.
File "/usr/share/
self.func()
File "/usr/share/
self.
File "/usr/share/
self.func()
File "/usr/share/
stdout=fd, stderr=fd)
File "/usr/lib/
raise CalledProcessEr
subprocess.
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@
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 -> ../../.
lrwxrwxrwx 1 root root 0 Mar 16 13:44 driver -> ../../.
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/
lrwxrwxrwx 1 root root 0 Mar 16 13:44 cdev1 -> ../../css0/
lrwxrwxrwx 1 root root 0 Mar 16 13:44 cdev0 -> ../../css0/
-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_
-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@
Mar 16 13:52:28 s1lp14 sudo[8046]: pam_unix(
Mar 16 13:52:28 s1lp14 systemd-
Mar 16 13:52:28 s1lp14 systemd-
Mar 16 13:52:28 s1lp14 systemd-
Mar 16 13:52:28 s1lp14 systemd-
Mar 16 13:52:28 s1lp14 systemd-
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(
Mar 16 13:52:28 s1lp14 systemd-
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/
lrwxrwxrwx 1 root root 0 Mar 16 13:55 /sys/class/
description: | updated |
summary: |
- netplan apply fails when trying to add another interface with QETH - devices ... + 'netplan apply' fails when trying to activate another interface on + another QETH device ... |
Changed in ubuntu-z-systems: | |
importance: | Undecided → High |
assignee: | nobody → Canonical Foundations Team (canonical-foundations) |
description: | updated |
Changed in systemd (Ubuntu): | |
status: | New → Invalid |
Changed in netplan.io (Ubuntu): | |
status: | New → Confirmed |
Changed in ubuntu-z-systems: | |
status: | New → Confirmed |
tags: | added: id-5aac06833481524435312429 |
Changed in ubuntu-z-systems: | |
status: | Confirmed → Fix Released |
Changed in netplan: | |
status: | New → Fix Released |
description: | updated |
Changed in nplan (Ubuntu): | |
status: | New → Fix Released |
Changed in netplan.io (Ubuntu Xenial): | |
status: | New → Invalid |
Changed in netplan.io (Ubuntu Artful): | |
status: | New → Invalid |
Changed in systemd (Ubuntu Xenial): | |
status: | New → Invalid |
Changed in systemd (Ubuntu Artful): | |
status: | New → Invalid |
Netplan does not enable s390x devices; thus one needs to `chzdev -e` devices, before netplan kicks in, or apply is used.
One cannot use netplan to "create" qeth devices.