[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Libvir] Remotely starting a fully-virtualized guest



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

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]