Arik Hadas has uploaded a new change for review.

Change subject: core: major refactoring
......................................................................

core: major refactoring

Change-Id: I55b4365d9a71a47b4a72f98bae649a363f43ef03
Signed-off-by: Arik Hadas <[email protected]>
---
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/MigrateVDSCommand.java
1 file changed, 42 insertions(+), 34 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/02/25602/1

diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/MigrateVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/MigrateVDSCommand.java
index d0e1520..2731db8 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/MigrateVDSCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/MigrateVDSCommand.java
@@ -1,10 +1,14 @@
 package org.ovirt.engine.core.vdsbroker;
 
+import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VMStatus;
+import org.ovirt.engine.core.common.businessentities.VmDynamic;
+import org.ovirt.engine.core.common.businessentities.VmExitStatus;
 import org.ovirt.engine.core.common.vdscommands.MigrateVDSCommandParameters;
 import org.ovirt.engine.core.common.vdscommands.VDSReturnValue;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.dao.VmDynamicDAO;
 import org.ovirt.engine.core.utils.log.Log;
 import org.ovirt.engine.core.utils.log.LogFactory;
 import org.ovirt.engine.core.utils.transaction.TransactionMethod;
@@ -21,41 +25,45 @@
 
     @Override
     protected void executeVdsIdCommand() {
-        MigrateVDSCommandParameters parameters = getParameters();
-        if (_vdsManager != null) {
-            VMStatus retval;
-            MigrateBrokerVDSCommand<MigrateVDSCommandParameters> command =
-                    new MigrateBrokerVDSCommand<>(parameters);
-            command.execute();
-            VDSReturnValue vdsReturnValue = command.getVDSReturnValue();
-
-            final VM vm = 
DbFacade.getInstance().getVmDao().get(parameters.getVmId());
-
-            if (vdsReturnValue.getSucceeded()) {
-                retval = VMStatus.MigratingFrom;
-                ResourceManager.getInstance().InternalSetVmStatus(vm, 
VMStatus.MigratingFrom);
-                vm.setMigratingToVds(parameters.getDstVdsId());
-                
ResourceManager.getInstance().AddAsyncRunningVm(parameters.getVmId());
-            } else {
-                retval = vm.getStatus();
-                log.error("Failed Vm migration");
-                getVDSReturnValue().setSucceeded(false);
-                getVDSReturnValue().setVdsError(vdsReturnValue.getVdsError());
-                
getVDSReturnValue().setExceptionString(vdsReturnValue.getExceptionString());
-                
getVDSReturnValue().setExceptionObject(vdsReturnValue.getExceptionObject());
-            }
-
-            TransactionSupport.executeInNewTransaction(new 
TransactionMethod<Void>() {
-                @Override
-                public Void runInTransaction() {
-                    
DbFacade.getInstance().getVmDynamicDao().update(vm.getDynamicData());
-                    return null;
-                }
-            });
-
-            getVDSReturnValue().setReturnValue(retval);
-        } else {
+        if (_vdsManager == null) {
             getVDSReturnValue().setSucceeded(false);
+            return;
         }
+
+        MigrateBrokerVDSCommand<?> command = new 
MigrateBrokerVDSCommand<>(getParameters());
+        command.execute();
+        VDSReturnValue vdsReturnValue = command.getVDSReturnValue();
+
+        final VmDynamic vmDynamic = 
getVmDynamicDAO().get(getParameters().getVmId());
+
+        if (vdsReturnValue.getSucceeded()) {
+            vmDynamic.setStatus(VMStatus.MigratingFrom);
+            vmDynamic.setMigratingToVds(getParameters().getDstVdsId());
+            vmDynamic.setExitStatus(VmExitStatus.Normal);
+            vmDynamic.setExitMessage(StringUtils.EMPTY);
+            
ResourceManager.getInstance().AddAsyncRunningVm(getParameters().getVmId());
+            getVDSReturnValue().setReturnValue(VMStatus.MigratingFrom);
+        } else {
+            log.error("Failed Vm migration");
+            getVDSReturnValue().setSucceeded(false);
+            getVDSReturnValue().setReturnValue(vmDynamic.getStatus());
+            getVDSReturnValue().setVdsError(vdsReturnValue.getVdsError());
+            
getVDSReturnValue().setExceptionString(vdsReturnValue.getExceptionString());
+            
getVDSReturnValue().setExceptionObject(vdsReturnValue.getExceptionObject());
+        }
+
+        TransactionSupport.executeInNewTransaction(new 
TransactionMethod<Void>() {
+            @Override
+            public Void runInTransaction() {
+                getVmDynamicDAO().update(vmDynamic);
+                return null;
+            }
+        });
     }
+
+    private VmDynamicDAO getVmDynamicDAO() {
+        return DbFacade.getInstance().getVmDynamicDao();
+    }
+
+    
 }


-- 
To view, visit http://gerrit.ovirt.org/25602
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I55b4365d9a71a47b4a72f98bae649a363f43ef03
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Arik Hadas <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to