WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

Re: [Xen-users] 2.6.18.8 xen.org dom0 kernel w/RHEL 5 PV on HVM guests

To: Pasi Kärkkäinen <pasik@xxxxxx>
Subject: Re: [Xen-users] 2.6.18.8 xen.org dom0 kernel w/RHEL 5 PV on HVM guests
From: Andrew Evans <andrewe@xxxxxxxxxxxxx>
Date: Mon, 22 Mar 2010 12:41:14 -0700
Cc: xen-users@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 22 Mar 2010 12:42:54 -0700
Domainkey-signature: a=rsa-sha1; s=serpent; d=yahoo-inc.com; c=nofws; q=dns; h=message-id:date:from:user-agent:mime-version:to:cc:subject: references:in-reply-to:content-type:content-transfer-encoding; b=XX7Qq/NLIkRDC5+SxF0uDNl/a2s7Tnjx2Y0yf0GYUJNWm4JW8Myt6EdOgffHpicn
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20100322182251.GN1878@xxxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
References: <4BA28303.8030605@xxxxxxxxxxxxx> <20100318213810.GA1878@xxxxxxxxxxx> <4BA2A73D.6060805@xxxxxxxxxxxxx> <20100318223239.GB1878@xxxxxxxxxxx> <4BA7B357.6020409@xxxxxxxxxxxxx> <20100322182251.GN1878@xxxxxxxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.8) Gecko/20100308 Thunderbird/3.0.3
On 03/22/10 11:22, Pasi Kärkkäinen wrote:
> On Mon, Mar 22, 2010 at 11:13:43AM -0700, Andrew Evans wrote:
>   
>> On 03/18/10 15:32, Pasi Kärkkäinen wrote:
>>     
>>> Hmm.. can you try with the RHEL5 default hypervisor (3.1.2) ?
>>> (and the 2.6.18-xen dom0 kernel) 
>>>
>>> Would be good to know if it makes any difference.
>>>   
>>>       
>> I installed the xen-3.0.3 RPM (xm dmesg/xm info says 3.1.2 -- what the
>> heck is up with Red Hat's version numbering?)
>>
>>     
> Xen hypervisor in RHEL5 comes in the kernel rpm together with the dom0 kernel.
>
> RHEL5 currently has Xen 3.1.2 (+patches) hypervisor, but the userland
> tools (xen rpm) are based on 3.0.3. 
>
> That is because RHEL5 is an enterprise distro, and they need to keep
> the ABI stable.. RHEL 5.0 first shipped with Xen 3.0.3 so they cannot
> change versions and break things just like that.
>   

Ah, that makes sense. I realize RHEL makes ABI backward compatibility
guarantees, but I hadn't guessed that was the issue here.

>> but am getting the dreaded
>> "Hotplug scripts not working" errors. Looks like a TUN/TAP problem:
>>
>> $ cat qemu-dm.4910.log
>> domid: 2
>> qemu: the number of cpus is 7
>> Change xvda to look like hda
>> Change xvdb to look like hdb
>> Change xvdc to look like hdc
>> Watching /local/domain/2/logdirty/next-active
>> Watching /local/domain/0/device-model/2/command
>> /etc/xen/qemu-ifup: could not launch network script
>> Could not initialize device 'tap'
>>
>> $ cat xend-debug.log.1
>> Xend started at Thu Mar 18 23:25:38 2010.
>> Nothing to flush.
>> Nothing to flush.
>> can't add tap0 to bridge eth0: Operation not supported
>> can't add tap0 to bridge eth0: Operation not supported
>>
>> $ cat /etc/xen/qemu-ifup
>> #!/bin/sh
>>
>> #. /etc/rc.d/init.d/functions
>> #ulimit -c unlimited
>>
>> echo 'config qemu network with xen bridge for ' $*
>>
>> ifconfig $1 0.0.0.0 up
>> brctl addif $2 $1
>>
>> strace of `brctl addif eth0 tap0` shows:
>>
>> ioctl(4, 0x89a2, 0x7fff724c1e50)        = -1 EOPNOTSUPP (Operation not
>> supported)
>> ioctl(4, SIOCDEVPRIVATE, 0x7fff724c1e50) = -1 EOPNOTSUPP (Operation not
>> supported)
>> write(2, "can't add tap0 to bridge eth0: O"..., 55can't add tap0 to
>> bridge eth0: Operation not supported
>> ) = 55
>> exit_group(1)                           = ?
>>
>> I think the RHEL 5 2.6.18 dom0 kernel must support this ioctl, while the
>> xen.org 2.6.18.8 dom0 kernel must not. So RHEL 5's Xen 3.1.2 package on
>> xen.org 2.6.18.8 dom0 kernel looks like a dead end.
>>     
> Do you have a bridge called 'eth0' for real? Try "brctl show" to verify.
> RHEL5 as a default creates 'xenbr0', not 'eth0'.
>   

Well spotted! I don't have such a bridge, and I can't create one because
eth0 is already an existing network interface name. I've changed my
libvirt domU config to use xenbr0 instead of eth0. Not sure why this
works with Xen 3.4.2 though.

My domU *still* isn't starting, though. xend-debug.log shows this traceback:

Traceback (most recent call last):
  File "/usr/lib64/python2.4/SocketServer.py", line 463, in
process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib64/python2.4/SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib64/python2.4/SocketServer.py", line 521, in __init__
    self.handle()
  File "/usr/lib64/python2.4/BaseHTTPServer.py", line 316, in handle
    self.handle_one_request()
  File "/usr/lib64/python2.4/BaseHTTPServer.py", line 310, in
handle_one_request
    method()
  File "/usr/lib64/python2.4/site-packages/xen/util/xmlrpclib2.py", line
66, in do_POST
    self.send_response(200)
  File "/usr/lib64/python2.4/BaseHTTPServer.py", line 367, in send_response
    self.wfile.write("%s %d %s\r\n" %
  File "/usr/lib64/python2.4/socket.py", line 256, in write
    self.flush()
  File "/usr/lib64/python2.4/socket.py", line 243, in flush
    self._sock.sendall(buffer)
error: (32, 'Broken pipe')

No idea if it's relevant or not. Certainly doesn't look good though.

xend.log contains everyone's favorite, "Hotplug scripts not working":

[2010-03-22 19:28:38 xend 4863] ERROR (SrvBase:88) Request
wait_for_devices 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/SrvDomain.py", line
72, in op_wait_for_devices
    return self.dom.waitForDevices()
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
line 2330, in waitForDevices
    self.waitForDevices_(c)
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
line 1422, in waitForDevices_
    return self.getDeviceController(deviceClass).waitForDevices()
  File
"/usr/lib64/python2.4/site-packages/xen/xend/server/DevController.py",
line 160, in waitForDevices
    return map(self.waitForDevice, self.deviceIDs())
  File
"/usr/lib64/python2.4/site-packages/xen/xend/server/DevController.py",
line 170, in waitForDevice
    raise VmError("Device %s (%s) could not be connected. "
VmError: Device 0 (vif) could not be connected. Hotplug scripts not working.

Device model log:

$ cat qemu-dm.16544.log
domid: 4
qemu: the number of cpus is 7
Change xvda to look like hda
Change xvdb to look like hdb
Change xvdc to look like hdc
Watching /local/domain/4/logdirty/next-active
Watching /local/domain/0/device-model/4/command
xs_read(): vncpasswd get error.
/vm/51711672-9512-4bd8-91ea-a1d542bbda92/vncpasswd.
char device redirected to /dev/pts/1
qemu_map_cache_init nr_buckets = 10000
shared page at pfn effff
buffered io page at pfn efffd
xs_read(/vm/51711672-9512-4bd8-91ea-a1d542bbda92/rtc/timeoffset): read error
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
Triggered log-dirty buffer switch
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0

Current domU config (libvirt XML):

<domain type='xen'>
  <name>foo</name>
  <memory>7340032</memory>
  <currentMemory>7340032</currentMemory>
  <vcpu>7</vcpu>
  <os>
    <type arch='x86_64' machine='xenfv'>hvm</type>
    <loader>/usr/lib/xen/boot/hvmloader</loader>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
    <disk type='block' device='disk'>
      <driver name='phy'/>
      <source dev='/dev/sys/lv0'/>
      <target dev='xvda' bus='xen'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='phy'/>
      <source dev='/dev/sys/lv1'/>
      <target dev='xvdb' bus='xen'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='phy'/>
      <source dev='/dev/sys/lv2'/>
      <target dev='xvdc' bus='xen'/>
    </disk>
    <interface type='bridge'>
      <mac address='00:50:56:0f:dd:02'/>
      <source bridge='xenbr0'/>
      <script path='vif-bridge'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes'/>
  </devices>
</domain>

thanks,

-Andrew


_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users