[Libvir] Remotely starting a fully-virtualized guest

Richard W.M. Jones rjones at redhat.com
Mon Sep 24 11:49:10 UTC 2007


Meng Kuan wrote:
> Hi,
> 
> I am trying to start a fully virtualized guest called "full1" remotely. 
> The connection URI I am using is "xen+ssh://root@dell1/". (Note that I 
> am able to start/stop/resume/shutdown para-virtualized guests without 
> any problems with this connection URI.)
> 
> The XML definition for the fully virtualized guest is this:
> 
>       <domain type='xen'>
>         <name>full1</name>
>         <os>
>           <type>hvm</type>
>           <loader>/usr/lib/xen/boot/hvmloader</loader>
>           <boot dev='hd'/>
>         </os>
>         <memory>1048576</memory>
>         <vcpu>2</vcpu>
>         <on_poweroff>destroy</on_poweroff>
>         <on_reboot>restart</on_reboot>
>         <on_crash>restart</on_crash>
>         <features>
>           <acpi/>
>           <apic/>
>           <pae/>
>         </features>
>         <clock offset='utc'/>
>         <devices>
>           <emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
>           <interface type='bridge'>
>             <source bridge='xenbr0'/>
>             <script path='vif-bridge'/>
>           </interface>
>           <disk type='file' device='disk'>
>             <driver name='file'/>
>             <source file='/xen/full1.img'/>
>             <target dev='hda'/>
>           </disk>
>           <graphics type='vnc' port='5904'/>
>         </devices>
>       </domain>
> 
> 
> The guest failed to start up and this is what I found in the xend.log file:
> 
> 
> [2007-09-24 18:55:46 xend.XendDomainInfo 4176] DEBUG 
> (XendDomainInfo:190) XendDomainInfo.create(['vm', ['name', 'full1']
> , ['memory', '1024'], ['maxmem', '1024'], ['vcpus', '2'], 
> ['on_poweroff', 'destroy'], ['on_reboot', 'restart'], ['on_crash
> ', 'restart'], ['image', ['hvm', ['kernel', 
> '/usr/lib/xen/boot/hvmloader'], ['device_model', 
> '/usr/lib64/xen/bin/qemu-dm
> '], ['vcpus', '2'], ['boot', 'c'], ['acpi', '1'], ['apic', '1'], ['pae', 
> '1'], ['usb', '1'], ['vnc', '1'], ['vncdisplay'
> , '4']]], ['device', ['vbd', ['dev', 'hda:disk'], ['uname', 
> 'file:/xen/full1.img'], ['mode', 'w']]], ['device', ['vif',
> ['bridge', 'xenbr0'], ['script', 'vif-bridge'], ['type', 'ioemu']]]])
> [2007-09-24 18:55:46 xend.XendDomainInfo 4176] DEBUG 
> (XendDomainInfo:296) parseConfig: config is ['vm', ['name', 'full1'
> ], ['memory', '1024'], ['maxmem', '1024'], ['vcpus', '2'], 
> ['on_poweroff', 'destroy'], ['on_reboot', 'restart'], ['on_cras
> h', 'restart'], ['image', ['hvm', ['kernel', 
> '/usr/lib/xen/boot/hvmloader'], ['device_model', '/usr/lib64/xen/bin/qemu-d
> m'], ['vcpus', '2'], ['boot', 'c'], ['acpi', '1'], ['apic', '1'], 
> ['pae', '1'], ['usb', '1'], ['vnc', '1'], ['vncdisplay
> ', '4']]], ['device', ['vbd', ['dev', 'hda:disk'], ['uname', 
> 'file:/xen/full1.img'], ['mode', 'w']]], ['device', ['vif',
> ['bridge', 'xenbr0'], ['script', 'vif-bridge'], ['type', 'ioemu']]]]
> [2007-09-24 18:55:46 xend.XendDomainInfo 4176] DEBUG 
> (XendDomainInfo:397) parseConfig: result is {'shadow_memory': None,
> 'start_time': None, 'uuid': None, 'on_crash': 'restart', 'on_reboot': 
> 'restart', 'localtime': None, 'image': ['hvm', ['
> kernel', '/usr/lib/xen/boot/hvmloader'], ['device_model', 
> '/usr/lib64/xen/bin/qemu-dm'], ['vcpus', '2'], ['boot', 'c'],
> ['acpi', '1'], ['apic', '1'], ['pae', '1'], ['usb', '1'], ['vnc', '1'], 
> ['vncdisplay', '4']], 'on_poweroff': 'destroy',
> 'bootloader_args': None, 'cpus': None, 'name': 'full1', 'backend': [], 
> 'vcpus': 2, 'cpu_weight': None, 'features': None,
> 'vcpu_avail': None, 'memory': 768, 'device': [('vbd', ['vbd', ['dev', 
> 'hda:disk'], ['uname', 'file:/xen/full1.img'], ['
> mode', 'w']]), ('vif', ['vif', ['bridge', 'xenbr0'], ['script', 
> 'vif-bridge'], ['type', 'ioemu']])], 'bootloader': None,
> 'cpu': None, 'maxmem': 768}
> [2007-09-24 18:55:46 xend.XendDomainInfo 4176] DEBUG 
> (XendDomainInfo:1264) XendDomainInfo.construct: None
> [2007-09-24 18:55:46 xend.XendDomainInfo 4176] DEBUG 
> (XendDomainInfo:1296) XendDomainInfo.initDomain: 91 1.0
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: boot, val: c
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: fda, val: None
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: fdb, val: None
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: soundhw, val: None
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: localtime, val: 
> None
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: serial, val: None
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: std-vga, val: None
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: isa, val: None
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: vcpus, val: 2
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: acpi, val: 1
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: usb, val: 1
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: usbdevice, val: 
> None
> [2007-09-24 18:55:46 xend 4176] DEBUG (image:329) args: k, val: None
> [2007-09-24 18:55:46 xend.XendDomainInfo 4176] ERROR 
> (XendDomainInfo:202) Domain construction failed
> Traceback (most recent call last):
>   File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", 
> line 195, in create
>     vm.initDomain()
>   File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", 
> line 1309, in initDomain
>     self.info['device'])
>   File "/usr/lib64/python2.4/site-packages/xen/xend/image.py", line 45, 
> in create
>     return findImageHandlerClass(imageConfig)(vm, imageConfig, 
> deviceConfig)
>   File "/usr/lib64/python2.4/site-packages/xen/xend/image.py", line 75, 
> in __init__
>     self.configure(imageConfig, deviceConfig)
>   File "/usr/lib64/python2.4/site-packages/xen/xend/image.py", line 272, 
> in configure
>     self.dmargs += self.configVNC(imageConfig)
>   File "/usr/lib64/python2.4/site-packages/xen/xend/image.py", line 383, 
> in configVNC
>     ret += ['-vnc', '%d' % vncdisplay]
> TypeError: int argument required
> [2007-09-24 18:55:46 xend.XendDomainInfo 4176] DEBUG 
> (XendDomainInfo:1463) XendDomainInfo.destroy: domid=91
> [2007-09-24 18:55:46 xend.XendDomainInfo 4176] DEBUG 
> (XendDomainInfo:1471) XendDomainInfo.destroyDomain(91)
> [2007-09-24 18:55:46 xend 4176] ERROR (SrvBase:88) Request create failed.
> Traceback (most recent call last):
>   File "/usr/lib64/python2.4/site-packages/xen/web/SrvBase.py", line 85, 
> in perform
>     return op_method(op, req)
>   File 
> "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvDomainDir.py", 
> line 82, in op_create
>     raise XendError("Error creating domain: " + str(ex))
> XendError: Error creating domain: int argument required
> 
> 
> It seems that xend got a string instead of an integer for the vnc port.
> 
> I modified the file "image.py" at line 383 from this
> 
>   ret += ['-vnc', '%d' % vncdisplay]
> 
> to this:
> 
>   ret += ['-vnc', '%s' % vncdisplay]
> 
> Restarted xend for the change to take effect and then try starting the 
> guest again. This time the guest gets created but its state does not 
> change to "running".
> 
> # xm list
> Name                                      ID Mem(MiB) VCPUs State   Time(s)
> Domain-0                                   0      451     2 r-----    356.7
> full1                                     88      773     1 ------      0.0
> 
> 
> I removed the following vnc line from the xml definition and try again:
> 
>             <graphics type='vnc' port='5904'/>
> 
> The guest gets created but again its state is not "running". According 
> to xml format documentation the <graphics> tag is required.
> 
> At this point I am stumped. Any ideas what else I can try?

I think this is an instance of bug: 
https://bugzilla.redhat.com/show_bug.cgi?id=279581

Can you try the patch in that bug please (it fixed the problem for me).

Rich.

-- 
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom.  Registered in
England and Wales under Company Registration No. 03798903
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3237 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20070924/18ab07e3/attachment-0001.bin>


More information about the libvir-list mailing list