xm create fails to the message 'Error: int argument required'
This is due to the 'vncdisplay' parameter not being parsed to an integer
This error relates to Xen on Fedora 8 machine (xen-3.1.2-5.fc8).
Apply the patch from Bug279581 to '/usr/lib64/python2.5/site-packages/xen/xend/image.py', and restart the xend service.
Links
https://bugzilla.redhat.com/show_bug.cgi?id=279581
Appendices
xend.log
[2011-08-09 18:12:14 23687] ERROR (xmlrpclib2:178) Internal error handling xend.domain.create
Traceback (most recent call last):
File "/usr/lib64/python2.5/site-packages/xen/util/xmlrpclib2.py", line 131, in _marshaled_dispatch
response = self._dispatch(method, params)
File "/usr/lib64/python2.5/SimpleXMLRPCServer.py", line 415, in _dispatch
return func(*params)
File "/usr/lib64/python2.5/site-packages/xen/xend/server/XMLRPCServer.py", line 72, in domain_create
info = XendDomain.instance().domain_create(config)
File "/usr/lib64/python2.5/site-packages/xen/xend/XendDomain.py", line 927, in domain_create
self._refresh()
File "/usr/lib64/python2.5/site-packages/xen/xend/XendDomain.py", line 398, in _refresh
self._refreshTxn(txn, refresh_shutdown)
File "/usr/lib64/python2.5/site-packages/xen/xend/XendDomain.py", line 414, in _refreshTxn
new_dom = XendDomainInfo.recreate(dom, False)
File "/usr/lib64/python2.5/site-packages/xen/xend/XendDomainInfo.py", line 191, in recreate
vm.image = image.create(vm, vm.info)
File "/usr/lib64/python2.5/site-packages/xen/xend/image.py", line 44, in create
return findImageHandlerClass(vmConfig)(vm, vmConfig)
File "/usr/lib64/python2.5/site-packages/xen/xend/image.py", line 236, in __init__
ImageHandler.__init__(self, vm, vmConfig)
File "/usr/lib64/python2.5/site-packages/xen/xend/image.py", line 75, in __init__
self.configure(vmConfig)
File "/usr/lib64/python2.5/site-packages/xen/xend/image.py", line 250, in configure
self.dmargs = self.parseDeviceModelArgs(vmConfig)
File "/usr/lib64/python2.5/site-packages/xen/xend/image.py", line 419, in parseDeviceModelArgs
ret.append("%s:%d%s" % (vnclisten, vncdisplay, vncopts))
TypeError: int argument required
xend-debug.log
Traceback (most recent call last):
File "/usr/lib64/python2.5/site-packages/xen/web/httpserver.py", line 141, in process
return self.render(resource)
File "/usr/lib64/python2.5/site-packages/xen/web/httpserver.py", line 188, in render
self.resultErr(ex)
File "/usr/lib64/python2.5/site-packages/xen/web/httpserver.py", line 181, in render
val = resource.render(self)
File "/usr/lib64/python2.5/site-packages/xen/web/resource.py", line 59, in render
return meth(req)
File "/usr/lib64/python2.5/site-packages/xen/xend/server/SrvDomainDir.py", line 167, in render_GET
self._list(req, 'detail' in req.args and req.args['detail'] == ['1'])
File "/usr/lib64/python2.5/site-packages/xen/xend/server/SrvDomainDir.py", line 173, in _list
self.ls_domain(req, detail, True)
File "/usr/lib64/python2.5/site-packages/xen/xend/server/SrvDomainDir.py", line 195, in ls_domain
sxp.show(self.xd.list_names(state), out=req)
File "/usr/lib64/python2.5/site-packages/xen/xend/XendDomain.py", line 821, in list_names
return [d.getName() for d in self.list_sorted(state)]
File "/usr/lib64/python2.5/site-packages/xen/xend/XendDomain.py", line 809, in list_sorted
doms = self.list(state)
File "/usr/lib64/python2.5/site-packages/xen/xend/XendDomain.py", line 779, in list
self._refresh(refresh_shutdown = False)
File "/usr/lib64/python2.5/site-packages/xen/xend/XendDomain.py", line 398, in _refresh
self._refreshTxn(txn, refresh_shutdown)
File "/usr/lib64/python2.5/site-packages/xen/xend/XendDomain.py", line 414, in _refreshTxn
new_dom = XendDomainInfo.recreate(dom, False)
File "/usr/lib64/python2.5/site-packages/xen/xend/XendDomainInfo.py", line 191, in recreate
vm.image = image.create(vm, vm.info)
File "/usr/lib64/python2.5/site-packages/xen/xend/image.py", line 44, in create
return findImageHandlerClass(vmConfig)(vm, vmConfig)
File "/usr/lib64/python2.5/site-packages/xen/xend/image.py", line 236, in __init__
ImageHandler.__init__(self, vm, vmConfig)
File "/usr/lib64/python2.5/site-packages/xen/xend/image.py", line 75, in __init__
self.configure(vmConfig)
File "/usr/lib64/python2.5/site-packages/xen/xend/image.py", line 250, in configure
self.dmargs = self.parseDeviceModelArgs(vmConfig)
File "/usr/lib64/python2.5/site-packages/xen/xend/image.py", line 419, in parseDeviceModelArgs
ret.append("%s:%d%s" % (vnclisten, vncdisplay, vncopts))
TypeError: int argument required

