Live migration was not backwards compatible, so virtual machines could not be migrated between hosts with older VDSM versions and 3.3 beta hosts. This has been fixed, so live migration works as expected.
DescriptionFederico Simoncelli
2013-09-24 15:51:03 UTC
Description of problem:
Unable to migrate VM between 3.3 hosts.
Version-Release number of selected component (if applicable):
vdsm-4.12.0-127.gitedb88bf.el6ev.x86_64.rpm (is14)
How reproducible:
100%
Steps to Reproduce:
1. Start a vm using a previous vdsm version (e.g. vdsm-4.12.0-105.git0da1561.el6ev.x86_64.rpm is13)
2. Live migrate the VM to an host with the new version (is14)
Actual results:
Thread-1306::ERROR::2013-09-23 16:02:42,422::BindingXMLRPC::993::vds::(wrapper) unexpected error
Traceback (most recent call last):
File "/usr/share/vdsm/BindingXMLRPC.py", line 979, in wrapper
res = f(*args, **kwargs)
File "/usr/share/vdsm/BindingXMLRPC.py", line 211, in vmDestroy
return vm.destroy()
File "/usr/share/vdsm/API.py", line 323, in destroy
res = v.destroy()
File "/usr/share/vdsm/vm.py", line 4326, in destroy
response = self.releaseVm()
File "/usr/share/vdsm/vm.py", line 4292, in releaseVm
self._cleanup()
File "/usr/share/vdsm/vm.py", line 2750, in _cleanup
self._cleanupDrives()
File "/usr/share/vdsm/vm.py", line 2482, in _cleanupDrives
drive, exc_info=True)
File "/usr/lib64/python2.6/logging/__init__.py", line 1329, in error
self.logger.error(msg, *args, **kwargs)
File "/usr/lib64/python2.6/logging/__init__.py", line 1082, in error
self._log(ERROR, msg, args, **kwargs)
File "/usr/lib64/python2.6/logging/__init__.py", line 1082, in error
self._log(ERROR, msg, args, **kwargs)
File "/usr/lib64/python2.6/logging/__init__.py", line 1173, in _log
self.handle(record)
File "/usr/lib64/python2.6/logging/__init__.py", line 1183, in handle
self.callHandlers(record)
File "/usr/lib64/python2.6/logging/__init__.py", line 1220, in callHandlers
hdlr.handle(record)
File "/usr/lib64/python2.6/logging/__init__.py", line 679, in handle
self.emit(record)
File "/usr/lib64/python2.6/logging/handlers.py", line 780, in emit
msg = self.format(record)
File "/usr/lib64/python2.6/logging/__init__.py", line 654, in format
return fmt.format(record)
File "/usr/lib64/python2.6/logging/__init__.py", line 436, in format
record.message = record.getMessage()
File "/usr/lib64/python2.6/logging/__init__.py", line 306, in getMessage
msg = msg % self.args
File "/usr/share/vdsm/vm.py", line 107, in __str__
if not a.startswith('__')]
File "/usr/share/vdsm/vm.py", line 1344, in hasVolumeLeases
if self.shared != DRIVE_SHARED_TYPE.EXCLUSIVE:
AttributeError: 'Drive' object has no attribute 'shared'
Expected results:
Live migration should be successful.
VM migration between host with vdsm version is13 (vdsm-4.12.0-105.git0da1561.el6ev.x86_64) to host with vdsm version is20 (vdsm-4.13.0-0.5.beta1.el6ev.x86_64) succeeded.
The VM was first started on is13 vdsm and then migrated to is20 vdsm.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
http://rhn.redhat.com/errata/RHBA-2014-0040.html
Description of problem: Unable to migrate VM between 3.3 hosts. Version-Release number of selected component (if applicable): vdsm-4.12.0-127.gitedb88bf.el6ev.x86_64.rpm (is14) How reproducible: 100% Steps to Reproduce: 1. Start a vm using a previous vdsm version (e.g. vdsm-4.12.0-105.git0da1561.el6ev.x86_64.rpm is13) 2. Live migrate the VM to an host with the new version (is14) Actual results: Thread-1306::ERROR::2013-09-23 16:02:42,422::BindingXMLRPC::993::vds::(wrapper) unexpected error Traceback (most recent call last): File "/usr/share/vdsm/BindingXMLRPC.py", line 979, in wrapper res = f(*args, **kwargs) File "/usr/share/vdsm/BindingXMLRPC.py", line 211, in vmDestroy return vm.destroy() File "/usr/share/vdsm/API.py", line 323, in destroy res = v.destroy() File "/usr/share/vdsm/vm.py", line 4326, in destroy response = self.releaseVm() File "/usr/share/vdsm/vm.py", line 4292, in releaseVm self._cleanup() File "/usr/share/vdsm/vm.py", line 2750, in _cleanup self._cleanupDrives() File "/usr/share/vdsm/vm.py", line 2482, in _cleanupDrives drive, exc_info=True) File "/usr/lib64/python2.6/logging/__init__.py", line 1329, in error self.logger.error(msg, *args, **kwargs) File "/usr/lib64/python2.6/logging/__init__.py", line 1082, in error self._log(ERROR, msg, args, **kwargs) File "/usr/lib64/python2.6/logging/__init__.py", line 1082, in error self._log(ERROR, msg, args, **kwargs) File "/usr/lib64/python2.6/logging/__init__.py", line 1173, in _log self.handle(record) File "/usr/lib64/python2.6/logging/__init__.py", line 1183, in handle self.callHandlers(record) File "/usr/lib64/python2.6/logging/__init__.py", line 1220, in callHandlers hdlr.handle(record) File "/usr/lib64/python2.6/logging/__init__.py", line 679, in handle self.emit(record) File "/usr/lib64/python2.6/logging/handlers.py", line 780, in emit msg = self.format(record) File "/usr/lib64/python2.6/logging/__init__.py", line 654, in format return fmt.format(record) File "/usr/lib64/python2.6/logging/__init__.py", line 436, in format record.message = record.getMessage() File "/usr/lib64/python2.6/logging/__init__.py", line 306, in getMessage msg = msg % self.args File "/usr/share/vdsm/vm.py", line 107, in __str__ if not a.startswith('__')] File "/usr/share/vdsm/vm.py", line 1344, in hasVolumeLeases if self.shared != DRIVE_SHARED_TYPE.EXCLUSIVE: AttributeError: 'Drive' object has no attribute 'shared' Expected results: Live migration should be successful.