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

Re: [Xen-users] Bug or PEBCAK ? Rebooting DomU with PCI-Device fails in Xen 3



Hi,

as nobody can provide an answer. Shall i fill in a bugreport for this
"maybe" issue or contact a developer over the dev list? It would be very
nice  if this issue can be resolved somehow. But i don't know what the
next step should be without stepping on anyone toes.

Thanks very much :)

best regards
Sebastian


Sebastian Himberger schrieb:


Hi List,

so far i didn't got any further with my issue. I'm not sure if it is a bug but i tried to track down the problem. First: I applied the patch located under: http://lists.xensource.com/archives/html/xen-users/2006-05/msg00224.html and also used the newest pciif.py from xen-unstable. No effect. I then did the following. I debugged the pciif.py and printed the config value in:

def get_param(config, field, default=None):

and compared them during startup and reboot. This revealed a huge difference. During the startup the config had the following values:

sxp:(dev (domain 0x0) (bus 0x02) (slot 0x05) (func 0x0))

but during restart everything was empty. So i walked up the stack and looked into XendDomainInfo.py which was next in the stacktrace. Here the method:

def restart(self, rename = False):

which seems responsible for creating the 'config' (but i'm not 100% sure) through a call to:

config = self.sxpr()

So the method 'sxpr()' seems to be in charge. sxpr() seems to round trip the old config values and overwrite some with new values from the config file (at least IMHO). But the pci configuration seems neither to be round tripped nor to be read in again. So this seems to be the cause of my problem. Now the question: Am i right or am i wrong? I'm no xen expert so there's a big chance I'm just missing the point.

please enlighten me.

best regards
Sebastian


Sebastian Himberger schrieb:

Hi Mike,

thanks very much for the help but unfortunatly it didn't worked out. I
have tried the the 3-item value for the pci-option and get the same error.

But now i found out that "xm info" will give a very detailed info of my
environment. So here it is:

release                : 2.6.16-2-xen-686
version                : #1 SMP Tue May 23 05:46:45 CEST 2006
machine                : i686
nr_cpus                : 1
nr_nodes               : 1
sockets_per_node       : 1
cores_per_socket       : 1
threads_per_core       : 1
cpu_mhz                : 2394
hw_caps                : bfebfbff:00000000:00000000:00000080:00004400
total_memory           : 479
free_memory            : 9
xen_major              : 3
xen_minor              : 0
xen_extra              : .2-2
xen_caps               : xen-3.0-x86_32
platform_params        : virt_start=0xfc000000
xen_changeset          : Tue May 16 19:52:53 2006 +0100
cc_compiler            : gcc version 3.3.5 (Debian 1:3.3.5-13)
cc_compile_by          : ultrotter@debia
cc_compile_domain      :
cc_compile_date        : Sat Jun 10 10:54:23 CEST 2006

Thanks very much

Sebastian

list user schrieb:

Sebastian Himberger wrote:

Hi List,





Hi Sebastian,


i have the Xen-kernel from backports.org running on my debian stable
machine. It works quite well but as i reboot a DomU with a physical NIC
assigned to it (using the "pci="-option) it won't restart. I did a
little googling and came across the following error:

http://lists.xensource.com/archives/html/xen-users/2006-05/msg00107.html

But this don't seem to be my exact problem since the error message in
xend.log is different. Is this a bug in xen or am i missing something.
Any hint's or help would be greatly appreciated. Maybe i'm just too dumb to get it right. I've attached my config file and a stacktrace to this mail.

Thanks very much in advance

Sebastian

------------- config file -------------

kernel = "/boot/vmlinuz-2.6.16-2-xen-686"
ramdisk="/boot/initrd.img-2.6.16-2-xen-686"
memory = 64
name = "wwwserver"
#vif = [ '' ]
pci = ['0000:02:05.0']





I seem to remember that, at that time, the python code was looking for a list of 3 items. That pci option has 4. Try "pci = ['02:05.0']" instead.

Hope that helps,

Mike Wright

disk = [
'phy:/dev/vg0/wwwserver,hda1,w','phy:/dev/vg0/wwwdata,hda2,w','phy:/dev/vg0/wwwswap,hda5,w'
]
root = "/dev/hda1 ro"
extra = "4"

--------------- /config file -----------


-------------- stacktrace ------------

[2006-06-21 19:15:45 xend.XendDomainInfo] INFO (XendDomainInfo:836)
Domain has shutdown: name=wwwserver id=1 reason=reboot.
[2006-06-21 19:15:45 xend.XendDomainInfo] DEBUG (XendDomainInfo:1335)
XendDomainInfo.destroyDomain(1)
[2006-06-21 19:15:45 xend.XendDomainInfo] DEBUG (XendDomainInfo:178)
XendDomainInfo.create(['domain', ['domid', 1], ['uuid',
'd252a115-a29a-6a47-8bb0-62820eca17db'], ['ssidref', 0
], ['vcpus', 1], ['vcpu_avail', 1], ['cpu_weight', 1.0], ['memory', 64],
['maxmem', 64], ['name', 'wwwserver'], ['on_poweroff', 'destroy'],
['on_reboot', 'restart'], ['on_crash',
'restart'], ['image', ['linux', ['kernel',
'/boot/vmlinuz-2.6.16-2-xen-686'], ['ramdisk',
'/boot/initrd.img-2.6.16-2-xen-686'], ['root', '/dev/hda1 ro'], ['args',
'4']]], ['device
', ['vbd', ['backend', 0], ['dev', 'hda1'], ['uname',
'phy:/dev/vg0/wwwserver'], ['mode', 'w']]], ['device', ['vbd',
['backend', 0], ['dev', 'hda2'], ['uname', 'phy:/dev/vg0/wwwda
ta'], ['mode', 'w']]], ['device', ['vbd', ['backend', 0], ['dev',
'hda5'], ['uname', 'phy:/dev/vg0/wwwswap'], ['mode', 'w']]], ['device',
['pci', ['backend', 0]]], ['state', '---s
--'], ['shutdown_reason', 'reboot'], ['cpu_time', 9.1634053200000007],
['online_vcpus', 1], ['up_time', '53.5487999916'], ['start_time',
'1150910092.39'], ['store_mfn', 69747], ['
console_mfn', 69746]])
[2006-06-21 19:15:45 xend.XendDomainInfo] DEBUG (XendDomainInfo:284)
parseConfig: config is ['domain', ['domid', 1], ['uuid',
'd252a115-a29a-6a47-8bb0-62820eca17db'], ['ssidref',
0], ['vcpus', 1], ['vcpu_avail', 1], ['cpu_weight', 1.0], ['memory',
64], ['maxmem', 64], ['name', 'wwwserver'], ['on_poweroff', 'destroy'],
['on_reboot', 'restart'], ['on_crash',
'restart'], ['image', ['linux', ['kernel',
'/boot/vmlinuz-2.6.16-2-xen-686'], ['ramdisk',
'/boot/initrd.img-2.6.16-2-xen-686'], ['root', '/dev/hda1 ro'], ['args',
'4']]], ['devic
e', ['vbd', ['backend', 0], ['dev', 'hda1'], ['uname',
'phy:/dev/vg0/wwwserver'], ['mode', 'w']]], ['device', ['vbd',
['backend', 0], ['dev', 'hda2'], ['uname', 'phy:/dev/vg0/wwwd
ata'], ['mode', 'w']]], ['device', ['vbd', ['backend', 0], ['dev',
'hda5'], ['uname', 'phy:/dev/vg0/wwwswap'], ['mode', 'w']]], ['device',
['pci', ['backend', 0]]], ['state', '---
s--'], ['shutdown_reason', 'reboot'], ['cpu_time', 9.1634053200000007],
['online_vcpus', 1], ['up_time', '53.5487999916'], ['start_time',
'1150910092.39'], ['store_mfn', 69747], [
'console_mfn', 69746]]
[2006-06-21 19:15:45 xend.XendDomainInfo] DEBUG (XendDomainInfo:380)
parseConfig: result is {'ssidref': 0, 'uuid':
'd252a115-a29a-6a47-8bb0-62820eca17db', 'on_crash': 'restart', '
on_reboot': 'restart', 'image': ['linux', ['kernel',
'/boot/vmlinuz-2.6.16-2-xen-686'], ['ramdisk',
'/boot/initrd.img-2.6.16-2-xen-686'], ['root', '/dev/hda1 ro'], ['args',
'4']],
'on_poweroff': 'destroy', 'cpus': None, 'name': 'wwwserver', 'backend':
[], 'vcpus': 1, 'cpu_weight': 1.0, 'vcpu_avail': 1, 'memory': 64,
'device': [('vbd', ['vbd', ['backend', 0
], ['dev', 'hda1'], ['uname', 'phy:/dev/vg0/wwwserver'], ['mode',
'w']]), ('vbd', ['vbd', ['backend', 0], ['dev', 'hda2'], ['uname',
'phy:/dev/vg0/wwwdata'], ['mode', 'w']]), ('vb
d', ['vbd', ['backend', 0], ['dev', 'hda5'], ['uname',
'phy:/dev/vg0/wwwswap'], ['mode', 'w']]), ('pci', ['pci', ['backend',
0]])], 'bootloader': None, 'cpu': None, 'maxmem': 64}
[2006-06-21 19:15:45 xend.XendDomainInfo] DEBUG (XendDomainInfo:1164)
XendDomainInfo.construct: None 0
[2006-06-21 19:15:45 xend.XendDomainInfo] DEBUG (XendDomainInfo:1196)
XendDomainInfo.initDomain: 2 1.0
[2006-06-21 19:15:46 xend] DEBUG (balloon:130) Balloon: free 6; need 65.
[2006-06-21 19:15:46 xend] DEBUG (balloon:139) Balloon: setting dom0
target to 337.
[2006-06-21 19:15:46 xend.XendDomainInfo] DEBUG (XendDomainInfo:945)
Setting memory target of domain Domain-0 (0) to 337 MiB.
[2006-06-21 19:15:46 xend] DEBUG (balloon:126) Balloon: free 87; need
65; done.
[2006-06-21 19:15:46 xend] INFO (image:135) buildDomain os=linux dom=2
vcpus=1
[2006-06-21 19:15:46 xend] DEBUG (image:173) dom            = 2
[2006-06-21 19:15:46 xend] DEBUG (image:174) image          =
/boot/vmlinuz-2.6.16-2-xen-686
[2006-06-21 19:15:46 xend] DEBUG (image:175) store_evtchn   = 1
[2006-06-21 19:15:46 xend] DEBUG (image:176) console_evtchn = 2
[2006-06-21 19:15:46 xend] DEBUG (image:177) cmdline        =
root=/dev/hda1 ro 4
[2006-06-21 19:15:46 xend] DEBUG (image:178) ramdisk        =
/boot/initrd.img-2.6.16-2-xen-686
[2006-06-21 19:15:46 xend] DEBUG (image:179) vcpus          = 1
[2006-06-21 19:15:46 xend] DEBUG (image:180) features       =
[2006-06-21 19:15:46 xend] DEBUG (DevController:103) DevController:
writing {'virtual-device': '769', 'backend-id': '0', 'state': '1',
'backend': '/local/domain/0/backend/vbd/2/76
9'} to /local/domain/2/device/vbd/769.
[2006-06-21 19:15:46 xend] DEBUG (DevController:105) DevController:
writing {'domain': 'wwwserver', 'frontend':
'/local/domain/2/device/vbd/769', 'dev': 'hda1', 'state': '1', 'par
ams': '/dev/vg0/wwwserver', 'mode': 'w', 'frontend-id': '2', 'type':
'phy'} to /local/domain/0/backend/vbd/2/769.
[2006-06-21 19:15:46 xend] DEBUG (DevController:103) DevController:
writing {'virtual-device': '770', 'backend-id': '0', 'state': '1',
'backend': '/local/domain/0/backend/vbd/2/77
0'} to /local/domain/2/device/vbd/770.
[2006-06-21 19:15:46 xend] DEBUG (DevController:105) DevController:
writing {'domain': 'wwwserver', 'frontend':
'/local/domain/2/device/vbd/770', 'dev': 'hda2', 'state': '1', 'par
ams': '/dev/vg0/wwwdata', 'mode': 'w', 'frontend-id': '2', 'type':
'phy'} to /local/domain/0/backend/vbd/2/770.
[2006-06-21 19:15:46 xend] DEBUG (DevController:103) DevController:
writing {'virtual-device': '770', 'backend-id': '0', 'state': '1',
'backend': '/local/domain/0/backend/vbd/2/77
0'} to /local/domain/2/device/vbd/770.
[2006-06-21 19:15:46 xend] DEBUG (DevController:105) DevController:
writing {'domain': 'wwwserver', 'frontend':
'/local/domain/2/device/vbd/770', 'dev': 'hda2', 'state': '1', 'par
ams': '/dev/vg0/wwwdata', 'mode': 'w', 'frontend-id': '2', 'type':
'phy'} to /local/domain/0/backend/vbd/2/770.
[2006-06-21 19:15:46 xend] DEBUG (DevController:103) DevController:
writing {'virtual-device': '773', 'backend-id': '0', 'state': '1',
'backend': '/local/domain/0/backend/vbd/2/77
3'} to /local/domain/2/device/vbd/773.
[2006-06-21 19:15:46 xend] DEBUG (DevController:105) DevController:
writing {'domain': 'wwwserver', 'frontend':
'/local/domain/2/device/vbd/773', 'dev': 'hda5', 'state': '1', 'par
ams': '/dev/vg0/wwwswap', 'mode': 'w', 'frontend-id': '2', 'type':
'phy'} to /local/domain/0/backend/vbd/2/773.
[2006-06-21 19:15:46 xend.XendDomainInfo] ERROR (XendDomainInfo:190)
Domain construction failed
Traceback (most recent call last):
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 183, in create
   vm.initDomain()
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1233, in initDomain
   self.createDevices()
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1393, in createDevices
   self.createDevice(n, c)
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1009, in createDevice
return self.getDeviceController(deviceClass).createDevice(devconfig)
 File
"/usr/lib/python2.3/site-packages/xen/xend/server/DevController.py",
line 80, in createDevice
   (devid, back, front) = self.getDeviceDetails(config)
File "/usr/lib/python2.3/site-packages/xen/xend/server/pciif.py", line
98, in getDeviceDetails
   bus  = get_param(config, 'bus')
File "/usr/lib/python2.3/site-packages/xen/xend/server/pciif.py", line
71, in get_param
   raise VmError('pci: Invalid config setting %s: %s' %
VmError: pci: Invalid config setting bus: None
[2006-06-21 19:15:47 xend.XendDomainInfo] DEBUG (XendDomainInfo:1327)
XendDomainInfo.destroy: domid=2
[2006-06-21 19:15:47 xend.XendDomainInfo] DEBUG (XendDomainInfo:1335)
XendDomainInfo.destroyDomain(2)
[2006-06-21 19:15:47 xend.XendDomainInfo] ERROR (XendDomainInfo:1499)
Failed to restart domain 1.
Traceback (most recent call last):
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1488, in restart
   new_dom = XendDomain.instance().domain_create(config)
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomain.py", line
227, in domain_create
   dominfo = XendDomainInfo.create(config)
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 183, in create
   vm.initDomain()
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1233, in initDomain
   self.createDevices()
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1393, in createDevices
   self.createDevice(n, c)
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1009, in createDevice
return self.getDeviceController(deviceClass).createDevice(devconfig)
 File
"/usr/lib/python2.3/site-packages/xen/xend/server/DevController.py",
line 80, in createDevice
   (devid, back, front) = self.getDeviceDetails(config)
File "/usr/lib/python2.3/site-packages/xen/xend/server/pciif.py", line
98, in getDeviceDetails
   bus  = get_param(config, 'bus')
File "/usr/lib/python2.3/site-packages/xen/xend/server/pciif.py", line
71, in get_param
   raise VmError('pci: Invalid config setting %s: %s' %
VmError: pci: Invalid config setting bus: None
[2006-06-21 22:09:44 xend] INFO (SrvDaemon:185) Xend stopped due to
signal 15.

-------------- /stacktrace ------------




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



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








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







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





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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.