Martin Peřina has uploaded a new change for review.

Change subject: core: Refresh number of in/out migrations in HostMonitoring
......................................................................

core: Refresh number of in/out migrations in HostMonitoring

Refreshes number of incoming and outgoing migrations in HostMonitoring.

Change-Id: I1a1ef858a6faf861678245cc02006f40dd230602
Bug-Url: https://bugzilla.redhat.com/1113664
Signed-off-by: Martin Perina <[email protected]>
---
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HostMonitoring.java
1 file changed, 31 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/25/38325/1

diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HostMonitoring.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HostMonitoring.java
index da4038d..59b8570 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HostMonitoring.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/HostMonitoring.java
@@ -119,6 +119,7 @@
             }
             beforeFirstRefreshTreatment(isVdsUpOrGoingToMaintenance);
             refreshCommitedMemory();
+            refreshInOutMigrations();
         } catch (VDSRecoveringException e) {
             // if PreparingForMaintenance and vds is in install failed keep to
             // move vds to maintenance
@@ -761,6 +762,36 @@
         }
     }
 
+    void refreshInOutMigrations() {
+        if (!vdsManager.getRefreshStatistics()) {
+            return;
+        }
+
+        int incomingMigrations = 0;
+        int outgoingMigrations = 0;
+
+        for (Pair<VM, VmInternalData> pair : vdsManager.getLastVmsList()) {
+            VmInternalData vdsmVm = pair.getSecond();
+            if (vdsmVm != null) {
+                if (vdsmVm.getVmDynamic().getStatus() == 
VMStatus.MigratingFrom) {
+                    outgoingMigrations++;
+                }
+                if (vdsmVm.getVmDynamic().getStatus() == VMStatus.MigratingTo) 
{
+                    incomingMigrations++;
+                }
+            }
+        }
+
+        if (incomingMigrations != vds.getIncomingMigrations()) {
+            vds.setIncomingMigrations(incomingMigrations);
+            saveVdsDynamic = true;
+        }
+        if (outgoingMigrations != vds.getOutgoingMigrations()) {
+            vds.setOutgoingMigrations(outgoingMigrations);
+            saveVdsDynamic = true;
+        }
+    }
+
     protected void auditLog(AuditLogableBase auditLogable, AuditLogType 
logType) {
         AuditLogDirector.log(auditLogable, logType);
     }


-- 
To view, visit https://gerrit.ovirt.org/38325
To unsubscribe, visit https://gerrit.ovirt.org/settings

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

Reply via email to