Package: openvswitch-switch
Version: 2.15.0+ds1-2+deb11u1
Severity: normal

Dear Maintainer,

today we noticed on several hosts that the upgrade of openvswitch-switch
left the network configuration in a broken state. This doesn't happen
every time, but it is easily reproducible. We're using an OVSBridge with
two physical interfaces and an internal port. The config looks like this:

  allow-vmbr2 ens19
  iface ens19 inet manual
        ovs_type OVSPort
        ovs_bridge vmbr2

  allow-vmbr2 ens20
  iface ens20 inet manual
        ovs_type OVSPort
        ovs_bridge vmbr2

  allow-vmbr2 stor0
  iface stor0 inet static
        address 172.25.42.80
        netmask 255.255.255.0
        ovs_type OVSIntPort
        ovs_bridge vmbr2

  auto vmbr2
  iface vmbr2 inet manual
        ovs_type OVSBridge
        ovs_ports stor0 ens19 ens20

The starting situation looks like this:

  3: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master 
ovs-system state UP group default qlen 1000
      link/ether 02:a7:4d:e2:1e:50 brd ff:ff:ff:ff:ff:ff
  4: ens20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master 
ovs-system state UP group default qlen 1000
      link/ether b2:b6:81:92:b6:05 brd ff:ff:ff:ff:ff:ff
  26: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group 
default qlen 1000
      link/ether ba:20:fd:9e:fa:66 brd ff:ff:ff:ff:ff:ff
  27: vmbr2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state 
UNKNOWN group default qlen 1000
      link/ether 66:b7:9e:3e:48:4c brd ff:ff:ff:ff:ff:ff
  28: stor0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state 
UNKNOWN group default qlen 1000
      link/ether e6:da:c8:f2:58:f4 brd ff:ff:ff:ff:ff:ff
      inet 172.25.42.80/24 brd 172.25.42.255 scope global stor0
         valid_lft forever preferred_lft forever

and after running 'dpkg-reconfigure openvswitch-switch' several times to
reproduce the problem, it looks like this:

  3: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master 
ovs-system state UP group default qlen 1000
      link/ether 02:a7:4d:e2:1e:50 brd ff:ff:ff:ff:ff:ff
  4: ens20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master 
ovs-system state UP group default qlen 1000
      link/ether b2:b6:81:92:b6:05 brd ff:ff:ff:ff:ff:ff
  26: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group 
default qlen 1000
      link/ether ba:20:fd:9e:fa:66 brd ff:ff:ff:ff:ff:ff
  29: stor0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default 
qlen 1000
      link/ether e6:da:c8:f2:58:f4 brd ff:ff:ff:ff:ff:ff
  30: vmbr2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default 
qlen 1000
      link/ether 66:b7:9e:3e:48:4c brd ff:ff:ff:ff:ff:ff

Note that both stor0 and vmbr2 have gotten new interface numbers,
their state is now DOWN, and the IP address of stor0 is gone.

According to ifupdown, the interfaces are configured. The issue can be
fixed by calling 'ifdown vmbr2; ifup vmbr2', where ifdown outputs:

  RTNETLINK answers: Cannot assign requested address

We've tested this with 2.15.0+ds1-2+deb11u1, 2.15.0+ds1-8~bpo11+1 and
2.15.0+ds1-10, and they all exibit the same behaviour. It may be relevant
that we're using ifupdown 0.8.36.

Obviously it is inconvenient to get updates and then find networking
in an inconsistent state. I can provide more information if necessary,
and since we've been able to reproduce this we can also run things with
debugging or test patches, but some direction about what you need would
be appreciated.

Best regards,

Roel

-- System Information:
Debian Release: 11.3
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.4.140-1-pve (SMP w/2 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages openvswitch-switch depends on:
ii  kmod                28-1
ii  lsb-base            11.1.0
ii  netbase             6.3
ii  openvswitch-common  2.15.0+ds1-2+deb11u1
ii  procps              2:3.3.17-5
ii  uuid-runtime        2.36.1-8+deb11u1

openvswitch-switch recommends no packages.

openvswitch-switch suggests no packages.

-- no debconf information

Reply via email to