Bug 37215 - uvmm-node-kvm failed to install from DVD: missing "modprobe bridge"
uvmm-node-kvm failed to install from DVD: missing "modprobe bridge"
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Virtualization - KVM
UCS 4.0
Other Linux
: P5 normal (vote)
: UCS 4.0-0-errata
Assigned To: Philipp Hahn
Erik Damrose
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-12-05 17:11 CET by Philipp Hahn
Modified: 2015-01-29 11:40 CET (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Hahn univentionstaff 2014-12-05 17:11:38 CET
During a test installation of UCS-4.0-0+errata with all components selected the installation go stuck while running the univention-bind join script. Further investigation showed that the VM no longer had an IP address configured.
1. The VM got its initial IP address via DHCP.
2. The UCRV interfaces/ for bridging were successfully converted.
3. eth0 no longer had an address.
4. The bridge br0 was not configured yet.


It is a bug in "univention-virtual-machine-manager-node-kvm.postinst" running "ucs-kvm-setup-bridge".

# grep interfaces/ /var/log/univention/config-registry.replog 
2014-12-05 14:49:57: set interfaces/eth0/type=dhcp old:[Previously undefined]
2014-12-05 14:54:05: set --force interfaces/restart/auto=no old:[Previously undefined]
2014-12-05 14:54:34: unset --force 'interfaces/restart/auto' old:no
2014-12-05 14:54:35: set interfaces/restart/auto=false old:[Previously undefined]
2014-12-05 14:54:35: set interfaces/eth0/broadcast=10.200.17.15 old:[Previously undefined]
2014-12-05 14:54:35: set interfaces/eth0/address=10.200.17.15 old:[Previously undefined]
2014-12-05 14:54:35: set interfaces/eth0/netmask=255.255.255.0 old:[Previously undefined]
2014-12-05 14:54:35: set interfaces/eth0/network=10.200.17.0 old:[Previously undefined]
2014-12-05 14:54:36: set interfaces/restart/auto=true old:false
2014-12-05 14:56:37: set interfaces/handler=ifplugd old:[Previously undefined]

2014-12-05 15:04:20: unset 'interfaces/eth0/broadcast' old:10.200.17.15
2014-12-05 15:04:20: set interfaces/br0/options/1='bridge_ports eth0' old:[Previously undefined]
2014-12-05 15:04:20: set interfaces/br0/type=dhcp old:[Previously undefined]
2014-12-05 15:04:20: unset 'interfaces/eth0/netmask' old:255.255.255.0
2014-12-05 15:04:20: set interfaces/br0/netmask=255.255.255.0 old:[Previously undefined]
2014-12-05 15:04:20: set interfaces/eth0/start=true old:[Previously undefined]
2014-12-05 15:04:20: set interfaces/eth0/type=manual old:dhcp
2014-12-05 15:04:20: set interfaces/br0/options/0='bridge_fd 0' old:[Previously undefined]
2014-12-05 15:04:20: unset 'interfaces/eth0/network' old:10.200.17.0
2014-12-05 15:04:20: set interfaces/br0/broadcast=10.200.17.15 old:[Previously undefined]
2014-12-05 15:04:20: unset 'interfaces/eth0/address' old:10.200.17.15
2014-12-05 15:04:20: set interfaces/br0/network=10.200.17.0 old:[Previously undefined]
2014-12-05 15:04:20: set interfaces/br0/address=10.200.17.15 old:[Previously undefined]

# grep dhcl syslog 
Dec  5 13:51:51 in-target: File: /etc/dhcp/dhclient.conf
Dec  5 13:51:51 in-target: Create dhclient/options/timeout
Dec  5 13:51:51 in-target: Create dhclient/options/retry
Dec  5 13:51:51 in-target: File: /etc/dhcp/dhclient.conf
Dec  5 13:54:33 in-target: File: /etc/dhcp/dhclient.conf

Dec  5 14:54:34 dhclient: Internet Systems Consortium DHCP Client 4.2.2
Dec  5 14:54:34 dhclient: Copyright 2004-2011 Internet Systems Consortium.
Dec  5 14:54:34 dhclient: All rights reserved.
Dec  5 14:54:34 dhclient: For info, please visit https://www.isc.org/software/dhcp/
Dec  5 14:54:34 dhclient: 
Dec  5 14:54:35 dhclient: Listening on LPF/eth0/52:54:00:0b:69:9f
Dec  5 14:54:35 dhclient: Sending on   LPF/eth0/52:54:00:0b:69:9f
Dec  5 14:54:35 dhclient: Sending on   Socket/fallback
Dec  5 14:54:35 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5
Dec  5 14:54:35 dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Dec  5 14:54:35 dhclient: DHCPOFFER from 192.168.0.135
Dec  5 14:54:35 dhclient: DHCPACK from 192.168.0.135
Dec  5 14:54:35 dhclient: bound to 10.200.17.15 -- renewal in 16743 seconds.
Dec  5 13:54:40 main-menu[1242]: (process:24621): File: /etc/dhcp/dhclient.conf
Dec  5 13:54:40 main-menu[1242]: (process:24621): File: /etc/dhcp/dhclient.conf

Dec  5 15:04:20 dhclient: Internet Systems Consortium DHCP Client 4.2.2
Dec  5 15:04:20 dhclient: Copyright 2004-2011 Internet Systems Consortium.
Dec  5 15:04:20 dhclient: All rights reserved.
Dec  5 15:04:20 dhclient: For info, please visit https://www.isc.org/software/dhcp/
Dec  5 15:04:20 dhclient: 
Dec  5 15:04:20 dhclient: Listening on LPF/eth0/52:54:00:0b:69:9f
Dec  5 15:04:20 dhclient: Sending on   LPF/eth0/52:54:00:0b:69:9f
Dec  5 15:04:20 dhclient: Sending on   Socket/fallback
Dec  5 15:04:20 dhclient: DHCPRELEASE on eth0 to 192.168.0.135 port 67
Dec  5 15:04:21 dhclient: Internet Systems Consortium DHCP Client 4.2.2
Dec  5 15:04:21 dhclient: Copyright 2004-2011 Internet Systems Consortium.
Dec  5 15:04:21 dhclient: All rights reserved.
Dec  5 15:04:21 dhclient: For info, please visit https://www.isc.org/software/dhcp/
Dec  5 15:04:21 dhclient: 
Dec  5 15:04:22 dhclient: Bind socket to interface: No such device

# cat /etc/network/run/ifstate 
lo=lo
eth0=eth0


I was able to glimpse an error message by delaying "ucs-kvm-setup-bridge" from being called during postinst:
  CTRL-ALT-F2
  chroot /target bin/bash
  pkill -STOP main-menu
  ucr set uvmm/kvm/bridge/autostart=xxx uvmm/kvm/bridge/interface=null
  ... continue with install here ...
  ifdown eth0
  ifup eth0
  ucr unset uvmm/kvm/bridge/interface
  ucr set uvmm/kvm/bridge/autostart=no
  /usr/lib/univention-virtual-machine-manager-node-kvm/ucs-kvm-setup-bridge -v
  ifup br0
...
File: /etc/dhcp&dhclient.conf
add bridge failed: ackage not installed
run-parts: /etc7network/if-pre-up.d/bridge exited with return code 1
...
Cannot find device "br0"
File: /etc/resolv.conf
Bind socket to interface: No such device
Failed to bring up br0.
...


The kernel module "bridge" was not loaded and fails to auto-load.
Doing it manually made "ifup br0" work.

Doing a "chroot /target modprobe bridge" manualy before "uvnm-node-kvm" is configured fixes the problem.
We should manually load the module to make the interface restart works as expected.
Comment 1 Philipp Hahn univentionstaff 2014-12-08 12:14:26 CET
r56544 | Bug #37215 KVM: Load kernel module 'bridge'
 postinst: modprobe bridge

Package: univention-virtual-machine-manager-node
Version: 3.0.3-3.86.201412081208
Branch: ucs_4.0-0
Scope: errata4.0-0

r56545 | Bug #37215 KVM: Load kernel module 'bridge' YAML
 2014-12-08-univention-virtual-machine-manager-node.yaml
Comment 2 Erik Damrose univentionstaff 2015-01-22 16:20:36 CET
OK: load bridge module in postinst
OK: Installation from DVD
OK: YAML
-> Verified
Comment 3 Janek Walkenhorst univentionstaff 2015-01-29 11:40:57 CET
<http://errata.univention.de/ucs/4.0/54.html>