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?
cheers,
mengkuan