[haizea-commit] r817 - branches/1.1/src/haizea/core/scheduler

haizea-commit at mailman.cs.uchicago.edu haizea-commit at mailman.cs.uchicago.edu
Mon Jun 28 19:40:58 CDT 2010


Author: borja
Date: 2010-06-28 19:40:58 -0500 (Mon, 28 Jun 2010)
New Revision: 817

Modified:
   branches/1.1/src/haizea/core/scheduler/vm_scheduler.py
Log:
Fixed bug when determining the "first start" of a VMRR. Shouldn't include the migration RRs.

Modified: branches/1.1/src/haizea/core/scheduler/vm_scheduler.py
===================================================================
--- branches/1.1/src/haizea/core/scheduler/vm_scheduler.py	2010-06-26 00:28:03 UTC (rev 816)
+++ branches/1.1/src/haizea/core/scheduler/vm_scheduler.py	2010-06-29 00:40:58 UTC (rev 817)
@@ -1153,11 +1153,11 @@
             all_vnodes = []
             for (pnode,vnodes) in node_mappings.items():
                 num_vnodes = len(vnodes)
-                r = Capacity([constants.RES_CPU,constants.RES_MEM,constants.RES_DISK])
+                r = Capacity([constants.RES_MEM,constants.RES_DISK])
                 mem = 0
                 for vnode in vnodes:
                     mem += vmrr.lease.requested_resources[vnode].get_quantity(constants.RES_MEM)
-                r.set_quantity(constants.RES_CPU, 100) # TODO: Need to get the same quantity as pnode
+                #r.set_quantity(constants.RES_CPU, 100) # TODO: Need to get the same quantity as pnode
                 r.set_quantity(constants.RES_MEM, mem * num_vnodes)
                 r.set_quantity(constants.RES_DISK, mem * num_vnodes)
                 suspres[pnode] = self.slottable.create_resource_tuple_from_capacity(r)          
@@ -1214,11 +1214,11 @@
             all_vnodes = []
             for (pnode,vnodes) in node_mappings.items():
                 num_vnodes = len(vnodes)
-                r = Capacity([constants.RES_CPU,constants.RES_MEM,constants.RES_DISK])
+                r = Capacity([constants.RES_MEM,constants.RES_DISK])
                 mem = 0
                 for vnode in vnodes:
                     mem += vmrr.lease.requested_resources[vnode].get_quantity(constants.RES_MEM)
-                r.set_quantity(constants.RES_CPU, 100) # TODO: Need to get the same quantity as pnode                    
+                #r.set_quantity(constants.RES_CPU, 100) # TODO: Need to get the same quantity as pnode                    
                 r.set_quantity(constants.RES_MEM, mem * num_vnodes)
                 r.set_quantity(constants.RES_DISK, mem * num_vnodes)
                 resmres[pnode] = self.slottable.create_resource_tuple_from_capacity(r)
@@ -1613,7 +1613,7 @@
         if len(self.pre_rrs) == 0:
             return self.start
         else:
-            return self.pre_rrs[0].start
+            return [rr for rr in self.pre_rrs if not isinstance(rr, MemImageMigrationResourceReservation)][0].start
 
     def get_final_end(self):
         if len(self.post_rrs) == 0:
@@ -1622,7 +1622,7 @@
             return self.post_rrs[-1].end
 
     def is_resuming(self):
-        return len(self.pre_rrs) > 0 and isinstance(self.pre_rrs[0], ResumptionResourceReservation)
+        return len(self.pre_rrs) > 0 and (isinstance(self.pre_rrs[0], ResumptionResourceReservation) or isinstance(self.pre_rrs[0], MemImageMigrationResourceReservation))
 
     def is_suspending(self):
         return len(self.post_rrs) > 0 and isinstance(self.post_rrs[0], SuspensionResourceReservation)



More information about the Haizea-commit mailing list