On 24 Sep 2007, at 7:49 PM, Richard W.M. Jones wrote:
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).
The patch seems to be for Xen 3.1.0.
I upgraded libvirt (to 0.3.2) but not Xen itself.
virsh # version
Compiled against library: libvir 0.3.2
Using library: libvir 0.3.2
Using API: Xen 3.0.1
Running hypervisor: Xen 3.0.0
Will try upgrading to latest Xen version and try again. Thanks!
cheers,
mengkuan