Martin Sivák has uploaded a new change for review.

Change subject: [WIP] core: Log filtering progress in scheduling
......................................................................

[WIP] core: Log filtering progress in scheduling

This logs the filtering step for each Host removal during the
scheduling operation to make debuggin easier.

Change-Id: I4edcc33b0d280ab92e3c98d8d5a7a75386592e32
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1002005
Signed-off-by: Martin Sivak <msi...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
1 file changed, 23 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/13/19213/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
index c31b91e..d49d958 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
@@ -188,6 +188,7 @@
                         memoryChecker)) {
                     return destHostId;
                 } else if (vm.getMigrationSupport() == 
MigrationSupport.PINNED_TO_HOST) {
+                    log.info("VM "+ vm.getId().toString()+" cannot be migrated 
because it is pinned to host");
                     return null;
                 }
             }
@@ -348,6 +349,15 @@
         return hostList;
     }
 
+    private void logFilterActions(List<VDS> oldList, List<VDS> newList, String 
actionName) {
+        Set<VDS> newSet = new HashSet<VDS>(newList); // to get O(1) membership 
check
+        for (VDS host: oldList) {
+            if (!newSet.contains(host)) {
+                log.info("Candidate host "+host.getId().toString()+" was 
filtered out by "+actionName);
+            }
+        }
+    }
+
     private List<VDS> runInternalFilters(ArrayList<PolicyUnitImpl> filters,
             List<VDS> hostList,
             VM vm,
@@ -360,10 +370,21 @@
                     break;
                 }
                 filterPolicyUnit.setMemoryChecker(memoryChecker);
-                hostList = filterPolicyUnit.filter(hostList, vm, parameters, 
messages);
+                List<VDS> newHostList = filterPolicyUnit.filter(hostList, vm, 
parameters, messages);
+                logFilterActions(hostList, newHostList, "internal filter 
"+filterPolicyUnit.getName());
+                hostList = newHostList;
             }
         }
         return hostList;
+    }
+
+    private void logFilterActionsWithGuid(List<VDS> oldList, List<Guid> 
newList, String actionName) {
+        Set<Guid> newSet = new HashSet<Guid>(newList); // to get O(1) 
membership check
+        for (VDS host: oldList) {
+            if (!newSet.contains(host.getId())) {
+                log.info("Candidate host "+host.getId().toString()+" was 
filtered out by "+actionName);
+            }
+        }
     }
 
     private List<VDS> runExternalFilters(ArrayList<PolicyUnitImpl> filters,
@@ -383,6 +404,7 @@
             }
             filteredIDs =
                     
ExternalSchedulerFactory.getInstance().runFilters(filterNames, hostIDs, 
vm.getId(), parameters);
+            logFilterActionsWithGuid(hostList, filteredIDs, "external 
filter(s)");
         }
 
         return intersectHosts(hostList, filteredIDs);


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4edcc33b0d280ab92e3c98d8d5a7a75386592e32
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Sivák <msi...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to