Bug 22534 - Übernahme der libvirt-Patches für 3.0
Summary: Übernahme der libvirt-Patches für 3.0
Status: CLOSED FIXED
Alias: None
Product: UCS
Classification: Unclassified
Component: Virtualization - UVMM
Version: UCS 2.4
Hardware: Other Linux
: P5 normal
Target Milestone: UCS 3.0 - RC
Assignee: Philipp Hahn
QA Contact: Stefan Gohmann
URL:
Keywords:
Depends on:
Blocks: 24504
  Show dependency treegraph
 
Reported: 2011-05-16 15:49 CEST by Moritz Muehlenhoff
Modified: 2011-12-13 15:46 CET (History)
4 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):
Customer ID:
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Moritz Muehlenhoff univentionstaff 2011-05-16 15:49:07 CEST

    
Comment 1 Moritz Muehlenhoff univentionstaff 2011-05-16 15:51:15 CEST
libvirt 0.9.1 wurde aus sid importiert. Die folgenden Patches aus 2.4-2 müssen geprüft und ggf. übernommen werden:

10_fix-deps.patch
11_depends_gettext.patch
20_python-all.patch
25_xen-default.patch
35_event-python.patch
40_mkinstalldirs.patch
58_gnutls-md5.patch
59_bootorder.patch
60_quoting.patch
61_pool.patch
62_event-lock.patch
63_lsb-guest-init.patch
63_lsb-guest-init.patch.OLD
64_xen-hypervisor-reopen.patch
65_CVE-2011-1146.patch
66_snapshots-edit.patch
67_qemu_retry_monitor_cont.patch
68_xen_tap2.patch
71_cpu-kvm32.patch
80_restore-device-order.patch
Comment 2 Markus Groß univentionstaff 2011-06-01 09:14:52 CEST
Sobald libvirt 0.9.2 released wurde, sollte dieses importiert werden, da dort einige Verbesserungen im libxl-Treiber vorhanden sind.

Unter anderem:
- Save/Restore
- CoreDump
- Laufwerke Ein- und Aushängen
usw.
Comment 3 Moritz Muehlenhoff univentionstaff 2011-09-06 15:22:50 CEST
Ausserdem diese hier:

libvirt/2.4-0-0-ucs/0.8.7-1-ucs2.4-3/77_fix_mediachange_error.patch
libvirt/2.4-0-0-ucs/0.8.7-1-ucs2.4-3/76_snapshot_migrate.patch
Comment 4 Philipp Hahn univentionstaff 2011-10-18 08:57:14 CEST
Für UCS-3.0 wurde libvirt-0.9.6 paketiert. Etliche Patches sind überflüssig geworden, allerdings sind auch einige neue hinzugekommen, von denen aber schon ein Großteil upstream (git) angenommen ist.

(In reply to comment #1)
In angepasster Form übernommen ohne IMHO Chance auf Upstream:
> 10_fix-deps.patch
> 25_xen-default.patch
> 58_gnutls-md5.patch
> 64_xen-hypervisor-reopen.patch
> 71_cpu-kvm32.patch


In Upstream-0.9.6 enthalten und damit obsolete:
> 11_depends_gettext.patch
> 20_python-all.patch
> 40_mkinstalldirs.patch
> 60_quoting.patch
> 61_pool.patch
> 62_event-lock.patch
> 65_CVE-2011-1146.patch
> 67_qemu_retry_monitor_cont.patch
> 77_fix_mediachange_error.patch


In 0.9.6 bzw. git enthalten, aber ggf. Folgeänderungen notwendig:
> 35_event-python.patch
3501-example-Fix-argument-handling.patch
3502-example-Redirect-help-output-to-stdout-stderr.patch
3503-example-Support-debug-output-and-loop-switch.patch

> 59_bootorder.patch
→ univention-virtual-machine-manager-node-common

> 63_lsb-guest-init.patch
> 63_lsb-guest-init.patch.OLD
6301-add-slash-screen-support.patch

> 66_snapshots-edit.patch
> 76_snapshot_migrate.patch
1001-snapshot-add-REVERT_FORCE-to-API.patch
1002-snapshot-use-qemu-img-on-disks-in-use-at-time-of-sna.patch
1003-snapshot-enforce-REVERT_FORCE-on-qemu.patch
1004-qemuDomainAttach-Initialize-pidfile-variable.patch
1005-snapshot-avoid-accidental-renames-with-snapshot-edit.patch


Backports aus git:
> 59_bootorder.patch
> 68_xen_tap2.patch
> 80_restore-device-order.patch
0001-xen-add-error-handling-to-UUID-parsing.patch
0002-xenParseXM-don-t-dereference-NULL-pointer-when-scrip.patch
0003-xen_xs-Guard-against-set-but-empty-kernel-argument.patch
2001-tests-Add-support-for-skipping-tests.patch
2002-Xen-move-versions-to-struct.patch
2003-Xen-Fake-versions-in-xencapstest.patch

svn*, libvirt_0.9.6-1.101.201110180821

ChangeLog:
\item \ucsName{libvirt} is updated to version 0.9.6 (\ucsBug{22534}).
Comment 5 Stefan Gohmann univentionstaff 2011-11-10 08:08:22 CET
Installation mit einer aktuellen 3.0 DVD:


2011-11-10 07:39:22,080 - uvmmd.unix - ERROR - [15] Exception: Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/univention/uvmm/unix.py", line 150, in handle_command
    res = cmd(self, command)
  File "/usr/lib/pymodules/python2.6/univention/uvmm/commands.py", line 369, in STORAGE_POOLS
    pools = storage.storage_pools(node_stat)
  File "/usr/lib/pymodules/python2.6/univention/uvmm/storage.py", line 295, in storage_pools
    raise StorageError(_('Error listing pools at "%(uri)s": %(error)s'), uri=node.pd.uri, error='no connection')
StorageError: Error listing pools at "qemu://xen16.deadlock116.local/system": no connection

2011-11-10 07:39:22,081 - uvmmd.unix - ERROR - [16] Exception: Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/univention/uvmm/unix.py", line 150, in handle_command
    res = cmd(self, command)
  File "/usr/lib/pymodules/python2.6/univention/uvmm/commands.py", line 369, in STORAGE_POOLS
    pools = storage.storage_pools(node_stat)
  File "/usr/lib/pymodules/python2.6/univention/uvmm/storage.py", line 295, in storage_pools
    raise StorageError(_('Error listing pools at "%(uri)s": %(error)s'), uri=node.pd.uri, error='no connection')
StorageError: Error listing pools at "qemu://xen16.deadlock116.local/system": no connection

2011-11-10 07:39:42,117 - uvmmd.command - DEBUG - DOMAIN_LIST qemu://xen16.deadlock116.local/system *
2011-11-10 07:40:06,375 - uvmmd.node - DEBUG - timer_callback: qemu://xen16.deadlock116.local/system
2011-11-10 07:40:06,396 - uvmmd.node - WARNING - 'qemu://xen16.deadlock116.local/system' broken? next check in 0:04:00.000. Unable to read TLS confirmation: Input/output error
Comment 6 Philipp Hahn univentionstaff 2011-11-10 10:15:51 CET
Bug im Listener:

# LIBVIRT_DEBUG=1 virsh -c qemu://xen16.deadlock116.local/system list
# libvirtd -l
10:11:09.933: 22287: error : virNetTLSContextCheckCertDNWhitelist:376 : Client's Distinguished Name is not on the list of allowed clients (tls_allowed_dn_list).  Use 'certtool -i --infile clientcert.pem' to view theDistinguished Name field in the client certificate,or run this daemon with --verbose option.
10:11:09.933: 22287: warning : virNetTLSContextCheckCertificate:1091 : Certificate check failed Client's Distinguished Name is not on the list of allowed clients (tls_allowed_dn_list).  Use 'certtool -i --infile clientcert.pem' to view theDistinguished Name field in the client certificate,or run this daemon with --verbose option.
10:11:09.933: 22287: error : virNetTLSContextCheckCertificate:1094 : authentication failed: Failed to verify peer's certificate

# grep tls_allowed_dn_list /etc/libvirt/libvirtd.conf
tls_allowed_dn_list = []
# ucr get uvmm/managers
# udm computers/domaincontroller_master list --filter service=KVM\ Host | grep ^DN
DN: cn=xen16,cn=dc,cn=computers,dc=deadlock116,dc=local
# find /var/lib/univention-directory-listener
/var/lib/univention-directory-listener
/var/lib/univention-directory-listener/cache.db
/var/lib/univention-directory-listener/handlers
/var/lib/univention-directory-listener/cache.db.lock
/var/lib/univention-directory-listener/notifier_id
#
Comment 7 Stefan Gohmann univentionstaff 2011-11-12 00:19:41 CET
Nach dem Update von isala und boksel kann ich meine VMs nicht mehr starten. die VMs waren vorher suspendet:

stefan@boksel:~$ vs stefan_WinXP-77.11
error: Failed to start domain stefan_WinXP-77.11
error: Unable to read from monitor: Connection reset by peer

stefan@boksel:~$ vs stefan_WinXP-77.11
error: Failed to start domain stefan_WinXP-77.11
error: Unable to read from monitor: Connection reset by peer

stefan@boksel:~$ vs stefan_Master-2.4-4-18.1
error: Failed to start domain stefan_Master-2.4-4-18.1
error: Unable to read from monitor: Connection reset by peer

error: Failed to start domain stefan_UCS-3.0_6.5
error: internal error process exited while connecting to monitor: qemu: warning: error while loading state for instance 0x0 of device 'ram'
load of migration failed


error: Failed to start domain stefan_UCS-3.0_6.6
error: internal error process exited while connecting to monitor: qemu: warning: error while loading state for instance 0x0 of device 'ram'
load of migration failed


error: Failed to start domain stefan_UCS-3.0-5.10-AD-w2k38r2
error: Unable to read from monitor: Connection reset by peer

error: Failed to start domain stefan_UCS-3.0-5.3-Windows7
error: internal error process exited while connecting to monitor: qemu: warning: error while loading state for instance 0x0 of device 'ram'
load of migration failed
Comment 8 Philipp Hahn univentionstaff 2011-11-14 16:34:45 CET
Beim Starten per Kommandozeile enthält man ein paar mehr Informationen:

# LC_ALL=C PATH=/sbin:/bin:/usr/sbin:/usr/bin QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp 1,sockets=1,cores=1,threads=1 -name andreas_241-demo-241 -uuid 6783cdfd-498b-3f45-2286-fbc79c7359a9 -nodefconfig -nodefaults -chardev stdio,id=charmonitor -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -drive file=/var/lib/libvirt/images/andreas_241-demo-241.qcow2,if=none,id=drive-virtio-disk0,format=qcow2 -device virtio-blk-pci,bus=pci.0,multifunction=on,addr=0x5.0x0,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev user,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:6d:1f:08,bus=pci.0,multifunction=on,addr=0x3.0x0 -usb -device usb-tablet,id=input0 -vnc 0.0.0.0:5950 -k de -vga cirrus -incoming 'exec: dd bs=4k skip=1 if=/var/lib/libvirt/qemu/save/andreas_241-demo-241.save' -device virtio-balloon-pci,id=balloon0,bus=pci.0,multifunction=on,addr=0x4.0x0 -snapshot 

{"QMP": {"version": {"qemu": {"micro": 1, "minor": 15, "major": 0}, "package": " (qemu-kvm-0.15.1 Debian 0.15.1+dfsg-1.15.201110240954)"}, "capabilities": []}}

Unknown savevm section or instance 'kvmclock' 0
load of migration failed


Wichtig ist das Anpassen der folgenden Optionen:
 -chardev stdio,id=charmonitor
 -netdev user,...
 -incoming 'exec: dd  bs=4k skip=1 if=...'
 -snapshot
Comment 9 Philipp Hahn univentionstaff 2011-11-16 11:23:52 CET
Für UCS-3.0 wurde nach den Problemen mit dem Wiederherstellen von Snapshots und ManagedSave wieder die alte Version aus UCS-2.4-3 übernommen. Eine neuere Version wird vermutlich dann mit 3.x geliefert.

Lediglich die Build-Abhängigkeiten wurden an Squeeze / UCS-3.0 angepasst:
-hal, +libudev, -xen-3.4, +libxen-dev, +libcap-ng-dev, +virtualbox-ose, +libnl

svn9924, svn9925, libvirt_0.8.7-1.103.201111161105

ChangeLog: wurde entfernt (svn10900)
Comment 10 Philipp Hahn univentionstaff 2011-11-29 10:18:50 CET
Beim Update trat das Problem auf, das libvirtd nicht mehr reagierte. Einiger Thread:
(gdb) thread apply all bt

Thread 1 (Thread 0x7fe1d54f47c0 (LWP 30824)):
#0  0x00007fe1d29290d8 in poll () from /lib/libc.so.6
#1  0x00007fe1d1b7fca0 in ?? () from /lib/libdbus-1.so.3
#2  0x00007fe1d1b7e0bd in ?? () from /lib/libdbus-1.so.3
#3  0x00007fe1d1b6a49e in ?? () from /lib/libdbus-1.so.3
#4  0x00007fe1d1b6ac52 in ?? () from /lib/libdbus-1.so.3
#5  0x00007fe1d1b6c7a1 in ?? () from /lib/libdbus-1.so.3
#6  0x00007fe1d1b6be76 in dbus_connection_send_with_reply_and_block () from /lib/libdbus-1.so.3
#7  0x00007fe1d1b66b18 in dbus_bus_register () from /lib/libdbus-1.so.3
#8  0x00007fe1d1b66f76 in ?? () from /lib/libdbus-1.so.3
#9  0x00007fe1d2feaf8a in avahi_client_new () from /usr/lib/libavahi-client.so.3
#10 0x00000000004337ab in ?? ()
#11 0x000000000041f5a1 in ?? ()
#12 0x0000000000420618 in ?? ()
#13 0x00007fe1d2883c4d in __libc_start_main () from /lib/libc.so.6
#14 0x0000000000418f09 in ?? ()
#15 0x00007fffce5a7048 in ?? ()
#16 0x000000000000001c in ?? ()
#17 0x0000000000000002 in ?? ()
#18 0x00007fffce5a8f82 in ?? ()
#19 0x00007fffce5a8f95 in ?? ()
#20 0x0000000000000000 in ?? ()

Von daher wurde in den release-Notes jetzt folgender Hinweis ergänzt: svn11212
\subsection{Behandlung virtueller Maschinen während des Updates}

Virtuelle Maschinen auf Virtualisierungsservern sollten vor dem UCS-Update vollständig beendet oder auf andere Server migriert werden. Ein Pausieren der virtuellen Maschinen wird nicht empfohlen.
Comment 11 Stefan Gohmann univentionstaff 2011-11-29 14:54:32 CET
Das funktioniert soweit, alles weitere an dem Xen 4.1 und KVM Update Bug.
Comment 12 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:41:08 CET
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden:
"Clone This Bug"