Michael Kublin has uploaded a new change for review.

Change subject: engine: Host life cycle improvement - InitVdsOnUp
......................................................................

engine: Host life cycle improvement - InitVdsOnUp

InitVdsOnUp is called from VdsManager.OnTimer, vds object can be passed directly
we don't need to pass id and after that retrieve an object again from DB.
Less queries we use - much faster we run.

Change-Id: I4b3e883dd365d9f036a1103a44b771e14116bcbf
Signed-off-by: Michael Kublin <mkub...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/HostStoragePoolParametersBase.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java
5 files changed, 19 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/16/12016/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java
index 17258ae..0c46999 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java
@@ -14,7 +14,6 @@
 import org.ovirt.engine.core.common.action.HostStoragePoolParametersBase;
 import org.ovirt.engine.core.common.action.ReconstructMasterParameters;
 import org.ovirt.engine.core.common.action.SetNonOperationalVdsParameters;
-import org.ovirt.engine.core.common.action.StoragePoolParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.businessentities.FenceActionType;
 import org.ovirt.engine.core.common.businessentities.FenceStatusReturnValue;
@@ -58,15 +57,16 @@
  */
 @SuppressWarnings("serial")
 @NonTransactiveCommandAttribute
-public class InitVdsOnUpCommand<T extends StoragePoolParametersBase> extends 
StorageHandlingCommandBase<T> {
+public class InitVdsOnUpCommand extends 
StorageHandlingCommandBase<HostStoragePoolParametersBase> {
     private boolean _fenceSucceeded = true;
     private boolean _vdsProxyFound;
     private boolean _connectStorageSucceeded, _connectPoolSucceeded;
     private boolean _glusterPeerListSucceeded, _glusterPeerProbeSucceeded;
     private FenceStatusReturnValue _fenceStatusReturnValue;
 
-    public InitVdsOnUpCommand(T parameters) {
+    public InitVdsOnUpCommand(HostStoragePoolParametersBase parameters) {
         super(parameters);
+        setVds(parameters.getVds());
     }
 
     @Override
@@ -126,7 +126,6 @@
 
     private boolean InitializeStorage() {
         boolean returnValue = false;
-        setStoragePoolId(getVds().getStoragePoolId());
 
         // if no pool or pool is uninitialized or in maintenance mode no need 
to
         // connect any storage
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
index cd79c47..394e48c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
@@ -15,6 +15,7 @@
 import org.ovirt.engine.core.bll.storage.StoragePoolStatusHandler;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.action.FenceVdsActionParameters;
+import org.ovirt.engine.core.common.action.HostStoragePoolParametersBase;
 import org.ovirt.engine.core.common.action.MigrateVmToServerParameters;
 import 
org.ovirt.engine.core.common.action.PowerClientMigrateOnConnectCheckParameters;
 import org.ovirt.engine.core.common.action.ReconstructMasterParameters;
@@ -22,7 +23,6 @@
 import org.ovirt.engine.core.common.action.SetNonOperationalVdsParameters;
 import org.ovirt.engine.core.common.action.SetStoragePoolStatusParameters;
 import org.ovirt.engine.core.common.action.StorageDomainPoolParametersBase;
-import org.ovirt.engine.core.common.action.StoragePoolParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
@@ -136,10 +136,9 @@
     }
 
     @Override
-    public boolean vdsUpEvent(final Guid vdsId) {
-        StoragePoolParametersBase tempVar = new 
StoragePoolParametersBase(Guid.Empty);
-        tempVar.setVdsId(vdsId);
-        boolean isSucceeded = 
Backend.getInstance().runInternalAction(VdcActionType.InitVdsOnUp, 
tempVar).getSucceeded();
+    public boolean vdsUpEvent(final VDS vds) {
+        HostStoragePoolParametersBase params = new 
HostStoragePoolParametersBase(vds);
+        boolean isSucceeded = 
Backend.getInstance().runInternalAction(VdcActionType.InitVdsOnUp, 
params).getSucceeded();
         if (isSucceeded) {
             ThreadPoolUtil.execute(new Runnable() {
                 @Override
@@ -148,13 +147,13 @@
                         // migrate vms that its their default vds and failback
                         // is on
                         List<VmStatic> vmsToMigrate =
-                                
DbFacade.getInstance().getVmStaticDao().getAllWithFailbackByVds(vdsId);
+                                
DbFacade.getInstance().getVmStaticDao().getAllWithFailbackByVds(vds.getId());
                         java.util.ArrayList<VdcActionParametersBase> 
vmToServerParametersList = Helper.ToList(LinqUtils
                                 .foreach(vmsToMigrate, new Function<VmStatic, 
VdcActionParametersBase>() {
                                     @Override
                                     public VdcActionParametersBase 
eval(VmStatic vm) {
                                         MigrateVmToServerParameters parameters 
=
-                                            new 
MigrateVmToServerParameters(false, vm.getId(), vdsId);
+                                            new 
MigrateVmToServerParameters(false, vm.getId(), vds.getId());
                                         parameters.setShouldBeLogged(false);
                                         return parameters;
                                     }
@@ -170,17 +169,17 @@
                         // instead of power client. this is a possible use case
                         // to fasten the inital boot, then live migrate to 
power
                         // client on spice connect.
-                        List<VM> vms = 
DbFacade.getInstance().getVmDao().getAllForDedicatedPowerClientByVds(vdsId);
+                        List<VM> vms = 
DbFacade.getInstance().getVmDao().getAllForDedicatedPowerClientByVds(vds.getId());
                         if (vms.size() != 0) {
                             if (Config
                                     .<Boolean> 
GetValue(ConfigValues.PowerClientDedicatedVmLaunchOnVdsWhilePowerClientStarts)) 
{
                                 
Backend.getInstance().runInternalAction(VdcActionType.RunVmOnDedicatedVds,
-                                        new RunVmParams(vms.get(0).getId(), 
vdsId),
+                                        new RunVmParams(vms.get(0).getId(), 
vds.getId()),
                                         
ExecutionHandler.createInternalJobContext());
                             } else {
                                 ThreadUtils.sleep(10000);
                                 
Backend.getInstance().runInternalAction(VdcActionType.RunVmOnPowerClient,
-                                        new RunVmParams(vms.get(0).getId(), 
vdsId),
+                                        new RunVmParams(vms.get(0).getId(), 
vds.getId()),
                                         
ExecutionHandler.createInternalJobContext());
                             }
                         }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/HostStoragePoolParametersBase.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/HostStoragePoolParametersBase.java
index 7296310..8a69237 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/HostStoragePoolParametersBase.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/HostStoragePoolParametersBase.java
@@ -9,6 +9,11 @@
     private VDS vds;
     private storage_pool storagePool;
 
+    public HostStoragePoolParametersBase(VDS vds) {
+        super(vds.getStoragePoolId(), vds.getId());
+        this.vds = vds;
+    }
+
     public HostStoragePoolParametersBase(storage_pool storage_pool, VDS vds) {
         super(storage_pool.getId(), vds.getId());
         this.vds = vds;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java
index 218b04b..092c452 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java
@@ -30,7 +30,7 @@
      */
     void processOnVmStop(Guid vmId);
 
-    boolean vdsUpEvent(Guid vdsId);
+    boolean vdsUpEvent(VDS vds);
 
     void processOnClientIpChange(VDS vds, Guid vmId);
 
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java
index bab9869..a5ce436 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsUpdateRunTimeInfo.java
@@ -386,7 +386,7 @@
                     }
                     
_vdsManager.setIsSetNonOperationalExecuted(!ResourceManager.getInstance()
                             .getEventListener()
-                            .vdsUpEvent(_vds.getId()));
+                            .vdsUpEvent(_vds));
 
                     // Check hardware capabilities in case VDS moved to up
                     processHardwareCapsNeeded = true;


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4b3e883dd365d9f036a1103a44b771e14116bcbf
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Michael Kublin <mkub...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to