Author: eallen
Date: 2009-11-25 12:01:47 -0500 (Wed, 25 Nov 2009)
New Revision: 3724
Modified:
mgmt/trunk/cumin/python/cumin/grid/job.py
mgmt/trunk/cumin/python/cumin/model.py
mgmt/trunk/cumin/python/cumin/parameters.py
Log:
Switch from old Scheduler.GetAds to new Job.GetAds qmf call
Modified: mgmt/trunk/cumin/python/cumin/grid/job.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/grid/job.py 2009-11-25 14:06:14 UTC (rev 3723)
+++ mgmt/trunk/cumin/python/cumin/grid/job.py 2009-11-25 17:01:47 UTC (rev 3724)
@@ -429,6 +429,9 @@
scheduler = sched
break
+ action = self.app.model.job.GetAd
+ return action.qmfcall(job)
+
if scheduler:
action = self.app.model.scheduler.GetAd
return action.qmfcall(scheduler, job.id)
@@ -566,21 +569,18 @@
return branch.marshal()
def do_get_items(self, session, args):
- job = args[0]
group = args[1]
group_items = list()
- if job:
- scheduler = self.frame.scheduler.get(session)
- all_items = super(JobAdsViewer, self).do_get_items(session, job, scheduler)
- for item in all_items:
- if "property" in item:
- property = item["property"]
- item_group = property.group
- else:
- item_group = "Other"
- if item_group == group:
- group_items.append(item)
+ all_items = super(JobAdsViewer, self).do_get_items(session)
+ for item in all_items:
+ if "property" in item:
+ property = item["property"]
+ item_group = property.group
+ else:
+ item_group = "Other"
+ if item_group == group:
+ group_items.append(item)
return group_items
Modified: mgmt/trunk/cumin/python/cumin/model.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/model.py 2009-11-25 14:06:14 UTC (rev 3723)
+++ mgmt/trunk/cumin/python/cumin/model.py 2009-11-25 17:01:47 UTC (rev 3724)
@@ -1884,21 +1884,6 @@
def get_icon_href(self, session):
return "resource?name=group-36.png"
-class Job(object):
- def __init__(self, id):
- real_id = id
- sched, sep, jid = id.partition('#')
-
- if jid:
- real_id, sep, proc = jid.partition('#')
-
- self.id = real_id
- self.name = id
-
- def get(cls, id):
- return Job(id)
- get = classmethod(get)
-
class CuminJob(CuminClass):
def __init__(self, model):
super(CuminJob, self).__init__(model, "job", Job)
@@ -2083,6 +2068,9 @@
prop = CuminProperty(self, "HoldReason")
prop.title = "Hold Reason"
+ action = self.GetAd(self, "GetAd")
+ action.navigable = False
+
def init(self):
super(CuminJob, self).init()
@@ -2095,7 +2083,7 @@
if isinstance(job, basestring):
return job
else:
- return job.name
+ return job.CustomId
def get_icon_href(self, session):
return "resource?name=job-36.png"
@@ -2104,6 +2092,16 @@
def render_status(self, session, status):
return JobStatusInfo.get_status_string(status)
+ class GetAd(CuminAction):
+ def qmfcall(self, job):
+
+ default = {'JobAd': {"":{"VALUE":"",
"TYPE":0}}}
+ qmf = QMFCaller(default)
+ job.GetAd(self.mint.model, qmf.get_completion(), None)
+ wait(qmf.done, timeout=10)
+
+ return qmf.data['JobAd']
+
class GetStartedAction(CuminAction):
def get_xml_response(self, session, object, *args):
updateTime = object.statsCurr and object.statsCurr.qmfUpdateTime \
Modified: mgmt/trunk/cumin/python/cumin/parameters.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/parameters.py 2009-11-25 14:06:14 UTC (rev 3723)
+++ mgmt/trunk/cumin/python/cumin/parameters.py 2009-11-25 17:01:47 UTC (rev 3724)
@@ -2,7 +2,7 @@
from mint import *
from model import Pool
-from model import Job
+#from model import Job
class UserAttribute(Attribute):
def get(self, session):
@@ -93,13 +93,17 @@
return str(exchange.id)
class JobParameter(Parameter):
- def do_unmarshal(self, string):
- return Job(string)
+ def do_unmarshal(self, id):
+ try:
+ return Job.select("custom_id='%s'" % id)[0]
+ except:
+ return Job.get(id)
def do_marshal(self, job):
- if isinstance(job, basestring):
- return job
- return job.id
+ try:
+ return str(job.id)
+ except:
+ return job.CustomId
class JobGroupParameter(Parameter):
def do_unmarshal(self, string):