Univention Bugzilla – Bug 47701
Automatically reconnect VMs to bridge (4.4)
Last modified: 2019-06-07 13:24:22 CEST
If any UCRV interfaces/* changes, the network is re-configured and restarted. With Qemu/KVM this removes and re-adds the bridge. All VMs will loose their network connection until /usr/lib/univention-virtual-machine-manager-node-kvm/ucs-kvm-reconnect-bridge is manually invoked. UCS should do this automatically: ucr set interfaces/br0/options/65535='post-up /usr/lib/univention-virtual-machine-manager-node-kvm/ucs-kvm-reconnect-bridge -b $IFACE'
The network sometimes is also restarted during an upgrade. Yes, we recommend to migrate VMs away to update the host, but it also has happened during the installation on an errata update. And as UVMM / UCS has no feature to do automatically update a cluster of KVM nodes by migrating VMs away from one host, update it, and migrate VMs back before updating the next one, this is a bug.
again 2018-11-05: phahn_piuparts1 @ sparka
(In reply to Philipp Hahn from comment #0) > UCS should do this automatically: > ucr set interfaces/br0/options/65535='post-up /usr/lib/univention-virtual-machine-manager-node-kvm/ucs-kvm-reconnect-bridge -b $IFACE' This does not work as then the script is executed during the initial boot process when libvirtd is not yet running - libvirtd.service is started AFTER networking.service. So the script must check that libvirtd is running and/or exit cleanly if it is not.
again 2018-11-30: phahn_piuparts1 @ sparka
again 2019-04-02: phahn_piuparts1 @ sparka
again: https://help.univention.com/t/11645
again at customer site during automatic errata updates: all VMs were unreachable; which included business critical VMs!
This bug is triggered by "univention-base-files", which does a "ucr register" in its postinst script, which includes something similar to "ucr commit" on all files and handlers provided by the package.
[4.4-0] 65322aef82 Bug #47701 uvmm: Re-connect VMs to bridges on network restart .../univention-virtual-machine-manager-node.yaml | 10 ++++ .../debian/changelog | 6 +++ .../debian/control | 1 + ...ivention-virtual-machine-manager-node-kvm.if-up | 55 ++++++++++++++++++++++ 4 files changed, 72 insertions(+) Package: univention-virtual-machine-manager-node Version: 7.0.1-4A~4.4.0.201906061438 Branch: ucs_4.4-0 Scope: errata4.4-0 [4.4-0] 87e66ab613 Bug #47701: univention-virtual-machine-manager-node 7.0.1-4A~4.4.0.201906061438 doc/errata/staging/univention-virtual-machine-manager-node.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) QA: 1. ifdown -a ; ifup -a: All VMs are re-connected 2. apt install univention-base-{files,packages}: dito 3. reboot: network is started, afterwards libvirt starts VMs.
b0cc9f6d update yaml, fix version OK: /etc/network/if-up.d/univention-virtual-machine-manager-node-kvm OK: use existing reconnect-kvm-bridge script OK: executed per interface, if it is a bridge OK: only run and try to connect when libvirt is running (interfaces are queried from libvirt) OK: reconnect works for different scenarios, * ucr set interface/<name>/<something> * u-base-files package update * ifdown + ifup OK: Network on restarted VMs after hypervisor reboot OK: yaml Verified
<http://errata.software-univention.de/ucs/4.4/143.html>