This bug was fixed in the package netplan.io - 0.34.1

---------------
netplan.io (0.34.1) bionic; urgency=medium

  * Makefile: be more distro-agnostic, support different paths for pyflakes,
    pycodestyle, etc.
  * Makefile: allow varying install destinations.
  * Do not attempt to rebind driver 'qeth'. (LP: #1756322)
  * docs/netplan.md: clarify the behavior of 'dhcp6: yes'.
  * docs/netplan.md, docs/manpage.md: rework documentation files to generate
    the manpage with its own headers and other things that don't apply to other
    doc formats such as HTML.
  * migrate: command renamed from ifupdown-migrate, although still disabled.
  * tests: re-instate bridge-priority integration test.
  * Added .spec build rules file for building RPM packages.
  * debian/postinst: reworded "breadcrumbs" written to /etc/network/interfaces.

 -- Mathieu Trudel-Lapierre <cypher...@ubuntu.com>  Thu, 22 Mar 2018
15:09:12 -0400

** Changed in: netplan.io (Ubuntu)
       Status: Confirmed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, 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:
  New
Status in Ubuntu on IBM z Systems:
  Confirmed
Status in netplan.io package in Ubuntu:
  Fix Released
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@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@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

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to