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

[Xen-devel] Re: Live Migration problems using xenapi with xm



I've managed to track this down to being a bug in HVM migration using XenAPI.

It seems that restore is trying to restore a PV guest, while save is trying to save an HVM guest... so the protocol of how many mytes to read on the socket is off, and naturally fails when it tries to read much more data than the max batch size allows.

Tracing this back, it seems to come down to the "is_hvm" method of the XendConfig class, which checks the "HVM_boot_policy" parameter. For some reason, it seems this parameter is not being preserved during domain creation with xenapi, because by the time migration occurs, the dictionary item no longer exists.

I'll continue to dig further, but if anyone has any thoughts on this, I'd welcome pointers.



Ben Guthro wrote:
I am seeing a problem when live migrating a guest under unstable when I have xm configured to XenAPI.

If my xm-config.xml file has the XenAPI stuff commented out - live migrate (xm migrate --live <domid> <dest IP>) seems to be working in my test environment.

However, if I enable it - I get failures when migrating the same guest (see dump from xend.log below.) They obviously go down quite different code paths in these two cases.

Being somewhat new to the xm, and xenapi control stacks - I was hoping someone might point me in the right direction to track down what might be happening here...

Any help is appreciated.

Ben

Xend log snippet:

2007-11-07 09:01:35 15422] DEBUG (XendCheckpoint:88) [xc_save]: /usr/lib64/xen/bin/xc_save 20 2 0 0 5 [2007-11-07 09:01:35 15422] INFO (XendCheckpoint:362) Saving memory pages: iter 1 0%ERROR Internal error: Error when writing to state file (5) (errno 104)
[2007-11-07 09:01:35 15422] INFO (XendCheckpoint:362) Save exit rc=1
[2007-11-07 09:01:36 15422] ERROR (XendCheckpoint:140) Save failed on domain VS022 (2).
Traceback (most recent call last):
File "/usr/lib64/python/xen/xend/XendCheckpoint.py", line 108, in save
  forkHelper(cmd, fd, saveInputHandler, False)
File "/usr/lib64/python/xen/xend/XendCheckpoint.py", line 350, in forkHelper
  raise XendError("%s failed" % string.join(cmd))
XendError: /usr/lib64/xen/bin/xc_save 20 2 0 0 5 failed
[2007-11-07 09:01:36 15422] DEBUG (XendDomainInfo:1856) XendDomainInfo.resumeDomain(2) [2007-11-07 09:01:36 15422] ERROR (xmlrpclib2:166) Internal error handling VM.migrate
Traceback (most recent call last):
File "/usr/lib64/python/xen/util/xmlrpclib2.py", line 131, in _marshaled_dispatch
  response = self._dispatch(method, params)
File "/usr/lib64/python2.4/SimpleXMLRPCServer.py", line 406, in _dispatch
  return func(*params)
File "/usr/lib64/python/xen/xend/XendAPI.py", line 221, in f
  return func(self, *args, **kwargs)
File "/usr/lib64/python/xen/xend/XendAPI.py", line 256, in check_session
  return func(self, session, *args, **kwargs)
File "/usr/lib64/python/xen/xend/XendAPI.py", line 312, in <lambda>
  'VM', func, *args, **kwargs)
File "/usr/lib64/python/xen/xend/XendAPI.py", line 268, in _check_ref
  return func(api, session, ref, *args, **kwargs)
File "/usr/lib64/python/xen/xend/XendAPI.py", line 1763, in VM_migrate
  bool(live), resource, port)
File "/usr/lib64/python/xen/xend/XendDomain.py", line 1282, in domain_migrate
  XendCheckpoint.save(sock.fileno(), dominfo, True, live, dst)
File "/usr/lib64/python/xen/xend/XendCheckpoint.py", line 142, in save
  dominfo.resumeDomain()
File "/usr/lib64/python/xen/xend/XendDomainInfo.py", line 1885, in resumeDomain
  if self.is_hvm():
File "/usr/lib64/python/xen/xend/XendDomainInfo.py", line 2139, in __getattr__
  raise AttributeError()
AttributeError





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


 


Rackspace

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