[Bug 1756322] Re: 'netplan apply' fails when trying to activate another interface on another QETH device ...
Dimitri John Ledkov
launchpad at surgut.co.uk
Fri Mar 16 17:57:08 UTC 2018
** Description changed:
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.
- even if a prior test with 'netplan --debug generate' seemed to pass:
+ 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.
- sudo netplan --debug generate
- DEBUG:command generate: running ['/lib/netplan/generate']
- ** (generate:4221): DEBUG: 06:34:45.072: Processing input file //etc/netplan/01-netcfg.yaml..
- ** (generate:4221): DEBUG: 06:34:45.072: starting new processing pass
- ** (generate:4221): DEBUG: 06:34:45.072: encc003: setting default backend to 1
- ** (generate:4221): DEBUG: 06:34:45.072: encc000.2653: setting default backend to 1
- ** (generate:4221): DEBUG: 06:34:45.072: encc003.2653: setting default backend to 1
- ** (generate:4221): DEBUG: 06:34:45.072: encc000: setting default backend to 1
- ** (generate:4221): DEBUG: 06:34:45.072: Generating output files..
- ** (generate:4221): DEBUG: 06:34:45.072: NetworkManager: definition encc003 is not for us (backend 1)
- ** (generate:4221): DEBUG: 06:34:45.072: NetworkManager: definition encc000.2653 is not for us (backend 1)
- ** (generate:4221): DEBUG: 06:34:45.072: NetworkManager: definition encc003.2653 is not for us (backend 1)
- ** (generate:4221): DEBUG: 06:34:45.072: NetworkManager: definition encc000 is not for us (backend 1)
+ 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
- After this failure the QETH device is no longer online, but was online
- prior to the apply:
+ $ echo 'encc006' | sudo tee driver/unbind
+ encc006
+ tee: driver/unbind: No such device
- lszdev c003
- TYPE ID ON PERS NAMES
- qeth 0.0.c003:0.0.c004:0.0.c005 no yes
+ $ echo 'cdev0' | sudo tee driver/unbind
+ cdev0
+ tee: driver/unbind: No such device
- However, after a reboot everything is fine and the interface up and
- running.
+ $ 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).
- Detailed steps (also to reproduce) are attached as well as the syslog.
- System is left as it is and can be used for further testing ...
- (contact 'jfh' on IRC)
+ 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
** Changed in: systemd (Ubuntu)
Status: New => Invalid
** Changed in: netplan.io (Ubuntu)
Status: New => Confirmed
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
Matching subscriptions: foundations-bugs
https://bugs.launchpad.net/bugs/1756322
Title:
'netplan apply' fails when trying to activate another interface on
another QETH device ...
Status in netplan:
New
Status in Ubuntu on IBM z Systems:
New
Status in netplan.io package in Ubuntu:
Confirmed
Status in systemd package in Ubuntu:
Invalid
Bug description:
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