I found if we retore snapshot, memory cannot be restored, I test it with 
ovirt-4.1.2、vdsm-4.17.0 and libvirt-3.0.0, 
and i get some errors in [1],it seems vm not paused in creating snapshot, but 
self._underlyingCont() called in vm starting,
so error occurs, then vm is started in libvirt but shutdowned in vdsm, changes 
in [2], then it works well.

2018-02-12 19:39:23,830+0800 ERROR (vm/d7be0fde) [virt.vm] 
(vmId='d7be0fde-f9b9-4447-a250-2453482faef9') The vm start process failed 
Traceback (most recent call last):
  File "/usr/share/vdsm/virt/vm.py", line 607, in _startUnderlyingVm
  File "/usr/share/vdsm/virt/vm.py", line 3268, in _completeIncomingMigration
  File "/usr/share/vdsm/virt/vm.py", line 1128, in cont
  File "/usr/share/vdsm/virt/vm.py", line 3368, in _underlyingCont
  File "/usr/lib/python2.7/dist-packages/vdsm/virt/virdomain.py", line 69, in f
    ret = attr(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/vdsm/libvirtconnection.py", line 123, 
in wrapper
    ret = f(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/vdsm/utils.py", line 926, in wrapper
    return func(inst, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 1905, in resume
    if ret == -1: raise libvirtError ('virDomainResume() failed', dom=self)
libvirtError: Requested operation is not valid: domain is already running

--- a/Linx_Node/node_iso/install_script/py/vdsm/vdsm/virt/vm.py
+++ b/Linx_Node/node_iso/install_script/py/vdsm/vdsm/virt/vm.py
@@ -3677,6 +3677,8 @@ class Vm(object):
             snapFlags |= libvirt.VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY
+        self._underlyingPause()
         # When creating memory snapshot libvirt will pause the vm
         should_freeze = not (memoryParams or frozen)
@@ -3734,6 +3736,8 @@ class Vm(object):
             if memoryParams:
+        self._underlyingCont()
         # Returning quiesce to notify the manager whether the guest agent
         # froze and flushed the filesystems or not.
         quiesce = should_freeze and freezed["status"]["code"] == 0
Users mailing list

Reply via email to