[haizea-commit] r601 - branches/TP2.0/src/haizea/core

haizea-commit at mailman.cs.uchicago.edu haizea-commit at mailman.cs.uchicago.edu
Mon Jul 6 12:23:33 CDT 2009


Author: borja
Date: 2009-07-06 12:23:31 -0500 (Mon, 06 Jul 2009)
New Revision: 601

Modified:
   branches/TP2.0/src/haizea/core/leases.py
Log:
Added SoftwareEnvironment class + related code.

Modified: branches/TP2.0/src/haizea/core/leases.py
===================================================================
--- branches/TP2.0/src/haizea/core/leases.py	2009-07-06 17:22:50 UTC (rev 600)
+++ branches/TP2.0/src/haizea/core/leases.py	2009-07-06 17:23:31 UTC (rev 601)
@@ -98,8 +98,7 @@
         self.start = start
         self.duration = duration
         self.end = None
-        #self.diskimage_id = diskimage_id
-        #self.diskimage_size = diskimage_size
+        self.software = software
         self.requested_resources = requested_resources
         self.preemptible = preemptible
 
@@ -139,6 +138,7 @@
         self.logger.log(loglevel, "Duration       : %s" % self.duration)
         self.logger.log(loglevel, "State          : %s" % Lease.state_str[self.get_state()])
         self.logger.log(loglevel, "Resource req   : %s" % self.requested_resources)
+        self.logger.log(loglevel, "Software       : %s" % self.software)
         self.logger.log(loglevel, "Disk image map : %s" % pretty_nodemap(self.diskimagemap))
         self.logger.log(loglevel, "Mem image map  : %s" % pretty_nodemap(self.memimagemap))
         self.print_rrs(loglevel)
@@ -235,8 +235,16 @@
         
         preemptible = bool(element.get("preemptible"))
         
-        software = None
+        software = element.find("software")
         
+        if software.find("none") != None:
+            software = UnmanagedSoftwareEnvironment()
+        elif software.find("disk-image") != None:
+            disk_image = software.find("disk-image")
+            image_id = disk_image.get("id")
+            image_size = int(disk_image.get("size"))
+            software = DiskImageSoftwareEnvironment(image_id, image_size)
+        
         return Lease(submit_time, requested_resources, start, duration, 
                      deadline, preemptible, software)
 
@@ -383,6 +391,19 @@
     def __repr__(self):
         return "REQ: %s  |  ACC: %s  |  ACT: %s  |  KNW: %s" % (self.requested, self.accumulated, self.actual, self.known)
     
+class SoftwareEnvironment(object):
+    def __init__(self):
+        pass
+
+class UnmanagedSoftwareEnvironment(SoftwareEnvironment):
+    def __init__(self):
+        pass
+
+class DiskImageSoftwareEnvironment(SoftwareEnvironment):
+    def __init__(self, image_id, image_size):
+        self.image_id = image_id
+        self.image_size = image_size
+
     
 class LeaseWorkload(object):
     def __init__(self, inittime, site = None):



More information about the Haizea-commit mailing list