Author: croberts
Date: 2013-02-11 21:10:39 +0000 (Mon, 11 Feb 2013)
New Revision: 5682
Modified:
branches/elephant/cumin/model/cumin.xml
branches/elephant/cumin/model/rosemary.xml
branches/elephant/cumin/python/cumin/gridhadoop/datanode.py
branches/elephant/cumin/python/cumin/gridhadoop/hadoop.py
branches/elephant/cumin/python/cumin/gridhadoop/hadoopobjectframe.py
branches/elephant/cumin/python/cumin/gridhadoop/jobtracker.py
branches/elephant/cumin/python/cumin/gridhadoop/main.py
branches/elephant/cumin/python/cumin/gridhadoop/namenode.py
branches/elephant/cumin/python/cumin/gridhadoop/scheduler.py
branches/elephant/cumin/python/cumin/gridhadoop/tasktracker.py
branches/elephant/cumin/python/cumin/user/hadoop/main.py
Log:
Starting to use the actual API data where available. Also, now passing the
"module" into the frames on creation so that they will have that information
available when creating links to other frames (this solves the admin vs user module
issue).
Modified: branches/elephant/cumin/model/cumin.xml
===================================================================
--- branches/elephant/cumin/model/cumin.xml 2013-02-11 18:25:59 UTC (rev 5681)
+++ branches/elephant/cumin/model/cumin.xml 2013-02-11 21:10:39 UTC (rev 5682)
@@ -53,7 +53,7 @@
<property name="State" type="sstr"/>
<property name="Uptime" type="sstr"/>
<property name="Owner" type="sstr"/>
- <property name="Location" type="sstr"/>
+ <property name="Http" type="sstr"/>
</class>
<class name="DataNode" storage="none">
<property name="Id" type="sstr"/>
@@ -80,7 +80,7 @@
<property name="State" type="sstr"/>
<property name="Uptime" type="sstr"/>
<property name="Owner" type="sstr"/>
- <property name="Location" type="sstr"/>
+ <property name="Http" type="sstr"/>
</class>
<class name="Scheduler" storage="none">
<property name="Id" type="sstr"/>
Modified: branches/elephant/cumin/model/rosemary.xml
===================================================================
--- branches/elephant/cumin/model/rosemary.xml 2013-02-11 18:25:59 UTC (rev 5681)
+++ branches/elephant/cumin/model/rosemary.xml 2013-02-11 21:10:39 UTC (rev 5682)
@@ -55,8 +55,8 @@
<property name="Owner">
<title>Owner</title>
</property>
- <property name="Location">
- <title>Location</title>
+ <property name="Http">
+ <title>Interface location</title>
</property>
</class>
@@ -121,8 +121,8 @@
<property name="Owner">
<title>Owner</title>
</property>
- <property name="Location">
- <title>Location</title>
+ <property name="Http">
+ <title>Interface location</title>
</property>
</class>
<class name="Scheduler">
Modified: branches/elephant/cumin/python/cumin/gridhadoop/datanode.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/datanode.py 2013-02-11 18:25:59 UTC
(rev 5681)
+++ branches/elephant/cumin/python/cumin/gridhadoop/datanode.py 2013-02-11 21:10:39 UTC
(rev 5682)
@@ -23,15 +23,17 @@
return results
class DataNodeSelector(ObjectSelector):
- def __init__(self, app, name, check_owner=False):
+ def __init__(self, app, name, module, check_owner=False):
cls = app.model.com_redhat_cumin_grid_hadoop.DataNode
super(DataNodeSelector, self).__init__(app, name, cls)
+
+ self.module = module
self.add_search_filter(self.table.id_col)
self.table.adapter = DataNodeAdapter(app, cls, check_owner)
- task = DataNodeCreate(app, name + ".create")
+ task = DataNodeCreate(app, name + ".create", self.module)
link = TaskLink(app, "dataNode_create", task)
self.links.add_child(link)
@@ -64,10 +66,7 @@
class DataNodeColumn(ObjectLinkColumn):
def render_cell_href(self, session, record):
id = unescape_entity(record[self.id_field.index])
- #need to make this work for user/grid-hadoop path too somehow
- # this is way less than ideal
- frame = self.frame.children_by_name[self.frame_path]
-
+ frame = self.frame.children_by_name[self.frame_path]
return frame.get_href(session, id, frame.parent.host.get(session))
class DataNodeDelete(ObjectSelectorTask):
@@ -107,10 +106,12 @@
return "Remove data nodes"
class DataNodeCreate(Task):
- def __init__(self, app, name):
+ def __init__(self, app, name, module):
super(DataNodeCreate, self).__init__(app, name)
cls = app.model.com_redhat_cumin_grid_hadoop.DataNode
+ self.module = module
+
self.form = DataNodeCreateForm(app, self.name + ".createform", self,
cls)
self.invoc = None
@@ -144,13 +145,15 @@
self.form.id.set(form_session, obj._id)
## TODO find a better way to do this
- self.form.nn_id.set(form_session,
self.app.gridhadoop.frame.children_by_name["gridhadoop.ghschedframe"].children_by_name["gridhadoop.ghschedframe.namenodeframe"].id.get(session))
+ self.form.hadoophost.set(form_session,
self.module.frame.children_by_name[self.module.frame.name +
".ghschedframe"].host.get(session))
+ self.form.nn_id.set(form_session,
self.module.frame.children_by_name[self.module.frame.name + ".ghschedframe"]\
+ .children_by_name[self.module.frame.name +
".ghschedframe.namenodeframe"].id.get(session))
self.form.return_url.set(form_session, session.marshal())
self.form.show(form_session)
self.do_enter(session, obj, form_session)
return form_session
-
+
def get_href(self, session, obj):
return self.enter(session, obj).marshal()
@@ -166,8 +169,8 @@
self.count = self.CountField(app, name + ".count")
self.add_field(self.count)
- self.hadoophost = HadoopHostField(app, name + ".hadoophost")
- self.add_field(self.hadoophost)
+ self.hadoophost = Parameter(app, "hadoophost")
+ self.add_parameter(self.hadoophost)
self.nn_id = Parameter(app, "nn_id")
self.add_parameter(self.nn_id)
@@ -204,8 +207,8 @@
return "Number of data nodes to start"
class DataNodeFrame(HadoopObjectFrame):
- def __init__(self, app, name):
- super(DataNodeFrame, self).__init__(app, name)
+ def __init__(self, app, name, module):
+ super(DataNodeFrame, self).__init__(app, name, module)
self.view = DataNodeObjectView(app, "view", self.object)
self.replace_child(self.view)
@@ -214,21 +217,23 @@
self.view.add_tab(self.overview)
def get_title(self, session):
- retval = ""
- try:
- retval = "Data node:'%s' (%s)" %
(xml_escape(self.object.get(session).name), xml_escape(self.object.get(session).id))
- except Exception, e:
- pass
+ retval = "Data node:'%s' (%s)" %
(xml_escape(self.object.get(session).Name), xml_escape(self.object.get(session).Id))
return retval
def get_object(self, session, id):
class Object(object):
pass
fake = Object()
- fake.name = id
- fake.id = id
+ fake.Name = id
+ fake.Id = id
return fake
+# def get_object(self, session, id):
+# host = self.frame.host.get(session)
+# response = self.app.remote.get_data_node(self.frame.host.get(session), [id])
+# obj = HadoopObject(response,
self.app.model.com_redhat_cumin_grid_hadoop.DataNode)
+# return obj
+
class DataNodeObjectView(HadoopObjectView):
def add_details_tab(self):
self.add_tab(DataNodeDetails(self.app, self.name + ".details",
self.object))
@@ -236,7 +241,7 @@
def render_title(self, session):
obj = self.object.get(session)
if obj is not None:
- return "Data node: %s" % xml_escape(obj.id)
+ return "Data node: %s" % xml_escape(obj.Id)
else:
return ""
@@ -258,4 +263,4 @@
def render_name(self, session):
'''sample....would only be called if DataNodeDetails display was
overridden to say {name}'''
obj = self.object.get(session)
- return obj.name
\ No newline at end of file
+ return obj.Name
\ No newline at end of file
Modified: branches/elephant/cumin/python/cumin/gridhadoop/hadoop.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/hadoop.py 2013-02-11 18:25:59 UTC (rev
5681)
+++ branches/elephant/cumin/python/cumin/gridhadoop/hadoop.py 2013-02-11 21:10:39 UTC (rev
5682)
@@ -7,12 +7,16 @@
from cumin.qmfadapter import ObjectQmfAdapter
from cumin.task import Task, TaskLink
+from datetime import datetime
+
from sage.util import MethodResult
from wooly import Session, Widget
from wooly.datatable import *
from wooly.util import StringCatalog, xml_escape
+from rosemary.model import RosemaryObject
+
strings = StringCatalog(__file__)
def compareHadoopIds(x, y):
@@ -239,3 +243,24 @@
hours = (value / 3600) - (days * 24)
minutes = (value / 60) - (days * 1440) - (hours * 60)
return '%02d:%02d:%02d' % (days, hours, minutes)
+
+class HadoopObject(RosemaryObject):
+ def __init__(self, aviary_response, cls):
+ self._class = cls
+ self._save_time = datetime.now()
+ properties = [prop for prop in cls._properties]
+ for prop in properties:
+ try:
+ if prop.name.lower() in ["id", "ipc"]:
+ setattr(self, prop.name,
aviary_response[1][0]["ref"][prop.name.lower()])
+ else:
+ setattr(self, prop.name, aviary_response[1][0][prop.name.lower()])
+ except AttributeError, e:
+ print "Attribute error %s" % e
+ self.Name = self.Ipc
+ self._id = self.Id
+
+ def __repr__(self):
+ name = self.__class__.__name__
+ args = (name, self._class, self._id, self._save_time)
+ return "%s(%s,%s,%s)" % args
\ No newline at end of file
Modified: branches/elephant/cumin/python/cumin/gridhadoop/hadoopobjectframe.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/hadoopobjectframe.py 2013-02-11
18:25:59 UTC (rev 5681)
+++ branches/elephant/cumin/python/cumin/gridhadoop/hadoopobjectframe.py 2013-02-11
21:10:39 UTC (rev 5682)
@@ -1,14 +1,17 @@
from cumin.widgets import *
from cumin.parameters import *
from cumin.objectframe import ObjectView
+from hadoop import HadoopObject
class HadoopObjectFrame(CuminFrame):
'''
This frame houses the view page for a hadoop object
'''
- def __init__(self, app, name):
+ def __init__(self, app, name, module):
super(HadoopObjectFrame, self).__init__(app, name)
+ self.module = module
+
# This will hold the id of the object that should be assigned
# to self.object. The id and the object are typically determined during
# the "process" pass before a page is rendered.
@@ -47,12 +50,11 @@
self.object.set(session, obj)
super(HadoopObjectFrame, self).do_process(session)
-
class HadoopObjectView(ObjectView):
def render_title(self, session):
obj = self.object.get(session)
if obj is not None:
- return "%s" % xml_escape(obj.id)
+ return "%s" % xml_escape(obj.Id)
else:
return ""
Modified: branches/elephant/cumin/python/cumin/gridhadoop/jobtracker.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/jobtracker.py 2013-02-11 18:25:59 UTC
(rev 5681)
+++ branches/elephant/cumin/python/cumin/gridhadoop/jobtracker.py 2013-02-11 21:10:39 UTC
(rev 5682)
@@ -25,7 +25,7 @@
return results
class JobTrackerSelector(ObjectSelector):
- def __init__(self, app, name, check_owner=False):
+ def __init__(self, app, name, module, check_owner=False):
cls = app.model.com_redhat_cumin_grid_hadoop.JobTracker
super(JobTrackerSelector, self).__init__(app, name, cls)
@@ -136,7 +136,21 @@
def get_title(self, session, x):
return "Create a job tracker"
+ def enter(self, session, obj):
+ form_session = wooly.Session(self.app.form_page)
+ if obj:
+ self.form.id.set(form_session, obj._id)
+
+ ## TODO find a better way to do this
+ self.form.hadoophost.set(form_session,
self.app.gridhadoop.frame.children_by_name["gridhadoop.ghschedframe"].host.get(session))
+ self.form.return_url.set(form_session, session.marshal())
+ self.form.show(form_session)
+
+ self.do_enter(session, obj, form_session)
+ return form_session
+
+
class JobTrackerCreateForm(HadoopNodeCreateForm):
def __init__(self, app, name, task, cls):
super(JobTrackerCreateForm, self).__init__(app, name, task, cls)
@@ -147,8 +161,8 @@
self.binfile = BinFileLoc(app, "binfile")
self.add_field(self.binfile)
- self.hadoophost = HadoopHostField(app, "hadoophost")
- self.add_field(self.hadoophost)
+ self.hadoophost = Parameter(app, "hadoophost")
+ self.add_parameter(self.hadoophost)
def process_display(self, session):
self.scheduler.validate(session)
@@ -172,13 +186,13 @@
return "Create a job tracker"
class JobTrackerFrame(HadoopObjectFrame):
- def __init__(self, app, name):
- super(JobTrackerFrame, self).__init__(app, name)
-
+ def __init__(self, app, name, module):
+ super(JobTrackerFrame, self).__init__(app, name, module)
+
self.view = JobTrackerObjectView(app, "view", self.object)
self.replace_child(self.view)
- self.task_tracker_frame = TaskTrackerFrame(app, "tasktrackerframe")
+ self.task_tracker_frame = TaskTrackerFrame(app, "tasktrackerframe",
module)
self.add_mode(self.task_tracker_frame)
self.overview = JobTrackerOverview(app, self.name + ".jtoverview",
self.object)
@@ -187,7 +201,7 @@
def get_title(self, session):
retval = ""
try:
- retval = "Job tracker:'%s' (%s)" %
(xml_escape(self.object.get(session).name), xml_escape(self.object.get(session).id))
+ retval = "Job tracker:'%s' (%s)" %
(xml_escape(self.object.get(session).Name), xml_escape(self.object.get(session).Id))
except Exception, e:
pass
return retval
@@ -196,8 +210,8 @@
class Object(object):
pass
fake = Object()
- fake.name = id
- fake.id = id
+ fake.Name = id
+ fake.Id = id
return fake
class JobTrackerObjectView(HadoopObjectView):
Modified: branches/elephant/cumin/python/cumin/gridhadoop/main.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/main.py 2013-02-11 18:25:59 UTC (rev
5681)
+++ branches/elephant/cumin/python/cumin/gridhadoop/main.py 2013-02-11 21:10:39 UTC (rev
5682)
@@ -25,7 +25,7 @@
def init(self):
super(Module, self).init()
- self.frame = GridHadoopFrame(self.app, "gridhadoop")
+ self.frame = GridHadoopFrame(self.app, "gridhadoop", self)
self.frame.cumin_module = self.name
self.app.main_page.main.gridhadoop = self.frame
@@ -33,13 +33,15 @@
class GridHadoopFrame(CuminFrame):
- def __init__(self, app, name, check_owner=False):
+ def __init__(self, app, name, module, check_owner=False):
super(GridHadoopFrame, self).__init__(app, name)
+ self.module = module
+
self.view = GridHadoopView(app, name + ".view", check_owner)
self.add_mode(self.view)
- self.scheduler_frame = HadoopSchedulerFrame(app, name +
".ghschedframe", check_owner)
+ self.scheduler_frame = HadoopSchedulerFrame(app, name +
".ghschedframe", check_owner, self.module)
self.add_mode(self.scheduler_frame)
# self.name_node_frame = NameNodeFrame(app, name + ".namenodeframe")
Modified: branches/elephant/cumin/python/cumin/gridhadoop/namenode.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/namenode.py 2013-02-11 18:25:59 UTC
(rev 5681)
+++ branches/elephant/cumin/python/cumin/gridhadoop/namenode.py 2013-02-11 21:10:39 UTC
(rev 5682)
@@ -23,7 +23,7 @@
return results
class NameNodeSelector(ObjectSelector):
- def __init__(self, app, name, check_owner=False):
+ def __init__(self, app, name, module, check_owner=False):
cls = app.model.com_redhat_cumin_grid_hadoop.NameNode
super(NameNodeSelector, self).__init__(app, name, cls)
@@ -31,7 +31,7 @@
self.add_search_filter(self.table.id_col)
self.table.adapter = NameNodeAdapter(app, cls, check_owner)
- task = NameNodeCreate(app, name + ".create")
+ task = NameNodeCreate(app, name + ".create", module)
link = TaskLink(app, "nameNode_create", task)
self.links.add_child(link)
@@ -72,9 +72,11 @@
return frame.get_href(session, id, frame.parent.host.get(session))
class NameNodeCreate(Task):
- def __init__(self, app, name):
+ def __init__(self, app, name, module):
super(NameNodeCreate, self).__init__(app, name)
cls = app.model.com_redhat_cumin_grid_hadoop.NameNode
+
+ self.module = module
self.form = NameNodeCreateForm(app, self.name, self, cls)
self.invoc = None
@@ -92,7 +94,20 @@
def get_title(self, session, x):
return "Create a name node"
+ def enter(self, session, obj):
+ form_session = wooly.Session(self.app.form_page)
+ if obj:
+ self.form.id.set(form_session, obj._id)
+
+ self.form.hadoophost.set(form_session,
self.module.frame.children_by_name[self.module.frame.name +
".ghschedframe"].host.get(session))
+ self.form.return_url.set(form_session, session.marshal())
+ self.form.show(form_session)
+
+ self.do_enter(session, obj, form_session)
+ return form_session
+
+
class NameNodeCreateForm(HadoopNodeCreateForm):
def __init__(self, app, name, task, cls):
super(NameNodeCreateForm, self).__init__(app, name, task, cls)
@@ -100,8 +115,8 @@
self.binfile = BinFileLoc(app, "binfile")
self.add_field(self.binfile)
- self.hadoophost = HadoopHostField(app, "hadoophost")
- self.add_field(self.hadoophost)
+ self.hadoophost = Parameter(app, "hadoophost")
+ self.add_parameter(self.hadoophost)
def process_display(self, session):
self.scheduler.validate(session)
@@ -157,42 +172,36 @@
return "Remove name nodes"
class NameNodeFrame(HadoopObjectFrame):
- def __init__(self, app, name):
- super(NameNodeFrame, self).__init__(app, name)
+ def __init__(self, app, name, module):
+ super(NameNodeFrame, self).__init__(app, name, module)
self.view = NameNodeObjectView(app, "view", self.object)
self.replace_child(self.view)
- self.data_node_frame = DataNodeFrame(app, "datanodeframe")
+ self.data_node_frame = DataNodeFrame(app, "datanodeframe", module)
self.add_mode(self.data_node_frame)
- self.overview = NameNodeOverview(app, self.name + ".nnoverview",
self.object)
+ self.overview = NameNodeOverview(app, self.name + ".nnoverview",
self.object, self.module)
self.view.add_tab(self.overview)
def get_title(self, session):
- retval = ""
- try:
- retval = "Name node:'%s' (%s)" %
(xml_escape(self.object.get(session).name), xml_escape(self.object.get(session).id))
- except Exception, e:
- pass
+ retval = "Name node:'%s' (%s)" %
(xml_escape(self.object.get(session).Name), xml_escape(self.object.get(session).Id))
return retval
def get_object(self, session, id):
- class Object(object):
- pass
- fake = Object()
- fake.name = id
- fake.id = id
- return fake
+ host = self.frame.host.get(session)
+ response = self.app.remote.get_name_node(self.frame.host.get(session), [id])
+ obj = HadoopObject(response,
self.app.model.com_redhat_cumin_grid_hadoop.NameNode)
+ return obj
class NameNodeObjectView(HadoopObjectView):
def add_details_tab(self):
self.add_tab(NameNodeDetails(self.app, self.name + ".details",
self.object))
class NameNodeOverview(Widget):
- def __init__(self, app, name, node):
+ def __init__(self, app, name, node, module):
super(NameNodeOverview, self).__init__(app, name)
- self.add_child(DataNodeSelector(app, self.name + ".dnfornn", False))
+ self.add_child(DataNodeSelector(app, self.name + ".dnfornn", module,
False))
def render_title(self, session):
return "Data nodes"
Modified: branches/elephant/cumin/python/cumin/gridhadoop/scheduler.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/scheduler.py 2013-02-11 18:25:59 UTC
(rev 5681)
+++ branches/elephant/cumin/python/cumin/gridhadoop/scheduler.py 2013-02-11 21:10:39 UTC
(rev 5682)
@@ -71,30 +71,30 @@
class HadoopSchedulerFrame(HadoopObjectFrame):
- def __init__(self, app, name, check_owner):
- super(HadoopSchedulerFrame, self).__init__(app, name)
+ def __init__(self, app, name, check_owner, module):
+ super(HadoopSchedulerFrame, self).__init__(app, name, module)
- self.name_node_frame = NameNodeFrame(app, name + ".namenodeframe")
+ self.name_node_frame = NameNodeFrame(app, name + ".namenodeframe",
self.module)
self.add_mode(self.name_node_frame)
- self.job_tracker_frame = JobTrackerFrame(app, name +
".jobtrackerframe")
+ self.job_tracker_frame = JobTrackerFrame(app, name +
".jobtrackerframe", self.module)
self.add_mode(self.job_tracker_frame)
- self.view.add_tab(NameNodeSelector(app, name + ".namenodes",
check_owner))
- self.view.add_tab(JobTrackerSelector(app, name + ".jobtrackers",
check_owner))
+ self.view.add_tab(NameNodeSelector(app, name + ".namenodes",
self.module, check_owner))
+ self.view.add_tab(JobTrackerSelector(app, name + ".jobtrackers",
self.module, check_owner))
def get_object(self, session, id):
class Object(object):
pass
sched = Object()
- sched.name = id
- sched.id = id
+ sched.Name = id
+ sched.Id = id
return sched
def get_title(self, session):
retval = ""
try:
- retval = "Hadoop scheduler:'%s'" %
(xml_escape(self.object.get(session).name))
+ retval = "Hadoop scheduler:'%s'" %
(xml_escape(self.object.get(session).Name))
except Exception, e:
pass
return retval
Modified: branches/elephant/cumin/python/cumin/gridhadoop/tasktracker.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/tasktracker.py 2013-02-11 18:25:59 UTC
(rev 5681)
+++ branches/elephant/cumin/python/cumin/gridhadoop/tasktracker.py 2013-02-11 21:10:39 UTC
(rev 5682)
@@ -135,6 +135,7 @@
self.form.id.set(form_session, obj._id)
## TODO find a better way to do this
+ self.form.hadoophost.set(form_session,
self.app.gridhadoop.frame.children_by_name["gridhadoop.ghschedframe"].host.get(session))
self.form.jt_id.set(form_session,
self.app.gridhadoop.frame.children_by_name["gridhadoop.ghschedframe"].children_by_name["gridhadoop.ghschedframe.jobtrackerframe"].id.get(session))
self.form.return_url.set(form_session, session.marshal())
self.form.show(form_session)
@@ -156,8 +157,8 @@
self.count = self.CountField(app, "count")
self.add_field(self.count)
- self.hadoophost = HadoopHostField(app, "hadoophost")
- self.add_field(self.hadoophost)
+ self.hadoophost = Parameter(app, "hadoophost")
+ self.add_parameter(self.hadoophost)
self.jt_id = Parameter(app, "jt_id")
self.add_parameter(self.jt_id)
@@ -262,8 +263,8 @@
class TaskTrackerFrame(HadoopObjectFrame):
- def __init__(self, app, name):
- super(TaskTrackerFrame, self).__init__(app, name)
+ def __init__(self, app, name, module):
+ super(TaskTrackerFrame, self).__init__(app, name, module)
self.view = TaskTrackerObjectView(app, "view", self.object)
self.replace_child(self.view)
@@ -274,7 +275,7 @@
def get_title(self, session):
retval = ""
try:
- retval = "Task tracker:'%s' (%s)" %
(xml_escape(self.object.get(session).name), xml_escape(self.object.get(session).id))
+ retval = "Task tracker:'%s' (%s)" %
(xml_escape(self.object.get(session).Name), xml_escape(self.object.get(session).Id))
except Exception, e:
pass
return retval
@@ -283,8 +284,8 @@
class Object(object):
pass
fake = Object()
- fake.name = id
- fake.id = id
+ fake.Name = id
+ fake.Id = id
return fake
class TaskTrackerObjectView(HadoopObjectView):
@@ -294,7 +295,7 @@
def render_title(self, session):
obj = self.object.get(session)
if obj is not None:
- return "Task tracker: %s" % xml_escape(obj.id)
+ return "Task tracker: %s" % xml_escape(obj.Id)
else:
return ""
@@ -316,4 +317,4 @@
def render_name(self, session):
'''sample....would only be called if TaskTrackerDetails display was
overridden to say {name}'''
obj = self.object.get(session)
- return obj.name
\ No newline at end of file
+ return obj.Name
\ No newline at end of file
Modified: branches/elephant/cumin/python/cumin/user/hadoop/main.py
===================================================================
--- branches/elephant/cumin/python/cumin/user/hadoop/main.py 2013-02-11 18:25:59 UTC (rev
5681)
+++ branches/elephant/cumin/python/cumin/user/hadoop/main.py 2013-02-11 21:10:39 UTC (rev
5682)
@@ -20,7 +20,7 @@
# CuminModule classes will add themselves to "app" as an attribute
# during intialization so we can use that to check...
if hasattr(self.app, "user") and self.app.user:
- self.frame = GridHadoopFrame(self.app, "userhadoop",
check_owner=True)
+ self.frame = GridHadoopFrame(self.app, "userhadoop", self,
check_owner=True)
self.frame.cumin_module = self.name
self.app.user.add_to_view(self.frame)
else: