Bug 18668 - libvirt Stabilität
libvirt Stabilität
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Virtualization - UVMM
UCS 2.3
Other Linux
: P5 normal (vote)
: OpenDVDI MS1
Assigned To: Philipp Hahn
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-06-15 09:56 CEST by Stefan Gohmann
Modified: 2019-09-23 09:06 CEST (History)
0 users

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 Stefan Gohmann univentionstaff 2010-06-15 09:56:11 CEST
Die Kommunikation mit dem UVMMD hat einige Schwierigkeiten, gerade wenn die Last auf den Systemen erhöht wird, bspw.:

Failed to add new virtual desktop win-Np3KjBioYQ with message = "Exception: 'NoneType' object has no attribute 'getType'"

Failed to check state of virtual desktop win-C1m4833xPK with message = "Node xen://xen5.opendvdi.local/ is not available"

Das ist vor allem dann störend, wenn die Windows Desktop Instanzen per sysprep aufbereitet werden müssen.
Comment 1 Philipp Hahn univentionstaff 2010-06-15 10:12:43 CEST
Ein Grund ist, daß Xen den zu schneller Neustart einer VM verweigert:
http://lists.xensource.com/archives/html/xen-changelog/2009-04/msg00123.html

xen-3.4.3/tools/python/xen/xend/XendConstants.py:MINIMUM_RESTART_TIME = 60
Comment 2 Stefan Gohmann univentionstaff 2010-06-15 11:21:48 CEST
(In reply to comment #1)
> Ein Grund ist, daß Xen den zu schneller Neustart einer VM verweigert:
> http://lists.xensource.com/archives/html/xen-changelog/2009-04/msg00123.html
> 
> xen-3.4.3/tools/python/xen/xend/XendConstants.py:MINIMUM_RESTART_TIME = 60

Dann sollten wir den Wert auf 5 bis 10 Sekunden heruntersetzen.
Comment 3 Philipp Hahn univentionstaff 2010-06-15 14:30:09 CEST
MINIMUM_RESTART_TIME = 10 reduziert.
Für i386 bereits gebaut, amd64 steht noch aus.
Comment 4 Stefan Gohmann univentionstaff 2010-06-15 17:07:31 CEST
Ich habe den Code des sysprep-Vorgangs etwas angepasst und prüfe jetzt alle 10 Sekunden den Status:

Open connection to UVVMd
Push desktop description to UVMMd
new uuid: b9c3ad9b-8905-135b-5cad-5942966003b8
Running ...
Running ...
Running ...
Running ...
Running ...
Check (1) failed ...
 Message="Hypervisor "xen://xen5.opendvdi.local/" is unavailable."
Check (2) failed ...
 Message="Hypervisor "xen://xen5.opendvdi.local/" is unavailable."
Check (3) failed ...
 Message="Hypervisor "xen://xen5.opendvdi.local/" is unavailable."
Check (4) failed ...
 Message="Hypervisor "xen://xen5.opendvdi.local/" is unavailable."
Check (5) failed ...
 Message="Hypervisor "xen://xen5.opendvdi.local/" is unavailable."
Check (6) failed ...
 Message="Hypervisor "xen://xen5.opendvdi.local/" is unavailable."
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...
Running ...

Scheinbar ist libvirt hier nicht sehr stabil. Wir könnten libvirt automatisch per runsv starten?
Comment 5 Philipp Hahn univentionstaff 2010-06-16 10:38:24 CEST
libvirt wird nun im u-v-m-m-node-common Paket per runit gestartet.

Es scheint, als ob da ein Problem im Xend, libvirtd oder dazwischen ist:
Scheinbar crashed die Xen-Domain, von dem libvirt aber zu wenig mitbekommt, so daß beim UNPAUSE dann nicht die Domain-ID übergeben wird, sondern dein None-Wert.

root@xen4:~# export XEND_DEBUG=1
root@xen4:~# xend trace_start
...
[xend.XendDomainInfo] DEBUG (XendDomainInfo:1629) Storing domain details: {'console/port': '3', 'name': 'win-RkSIyrr4Wd', 'console/limit': '1048576', 'store/port': '2', 'vm': '/vm/4781645a-883b-3d5b-0afc-baf0e0dde273', 'domid': '2', 'image/suspend-cancel': '1', 'cpu/0/availability': 'online', memory/target': '262144', 'control/platform-feature-multiprocessor-suspend': '1', store/ring-ref': '1044476', 'console/type': 'ioemu'}
[xend.XendDomainInfo] WARNING (XendDomainInfo:1893) Domain has crashed: name=win-RkSIyrr4Wd id=2.

[xend.XendDomainInfo] ERROR (XendDomainInfo:552) an integer is required
Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/xen/xend/XendDomainInfo.py", line 549, in unpause
    xc.domain_unpause(self.domid)
TypeError: an integer is required
[xend] ERROR (SrvBase:88) Request start failed.
Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/xen/web/SrvBase.py", line 85, in perform
    return op_method(op, req)
  File "/usr/lib/python2.5/site-packages/xen/xend/server/SrvDomain.py", line 77, in op_start
    return self.xd.domain_start(self.dom.getName(), paused)
  File "/usr/lib/python2.5/site-packages/xen/xend/XendDomain.py", line 1053, in domain_start
    dominfo.unpause()
  File "/usr/lib/python2.5/site-packages/xen/xend/XendDomainInfo.py", line 553, in unpause
    raise XendError("Domain unable to be unpaused: %s" % str(ex))
XendError: Domain unable to be unpaused: an integer is required
Comment 6 Philipp Hahn univentionstaff 2010-06-18 08:13:31 CEST
Die Xen-Restart-Zeit ist auf 10s reduziert und libvirt wird nun per runit überwacht. Bug zu.