Author: croberts
Date: 2013-02-12 19:35:19 +0000 (Tue, 12 Feb 2013)
New Revision: 5690
Modified:
branches/elephant/cumin/python/cumin/gridhadoop/datanode.py
branches/elephant/cumin/python/cumin/gridhadoop/hadoop.py
branches/elephant/cumin/python/cumin/gridhadoop/jobtracker.py
branches/elephant/cumin/python/cumin/gridhadoop/namenode.py
branches/elephant/cumin/python/cumin/gridhadoop/tasktracker.py
Log:
Reworking the delete tasks to handle the implied scheduler mechanism.
Modified: branches/elephant/cumin/python/cumin/gridhadoop/datanode.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/datanode.py 2013-02-12 18:16:15 UTC
(rev 5689)
+++ branches/elephant/cumin/python/cumin/gridhadoop/datanode.py 2013-02-12 19:35:19 UTC
(rev 5690)
@@ -37,7 +37,7 @@
link = TaskLink(app, "dataNode_create", task)
self.links.add_child(link)
- DataNodeDelete(app, self, "dataNode_delete")
+ DataNodeDelete(app, self, "dataNode_delete", self.module)
self.enable_csv_export()
@@ -69,11 +69,13 @@
frame = self.frame.children_by_name[self.frame_path]
return frame.get_href(session, id, frame.parent.host.get(session))
-class DataNodeDelete(ObjectSelectorTask):
- def __init__(self, app, selector, name):
+class DataNodeDelete(HadoopNodeDeleteTask):
+ def __init__(self, app, selector, name, module):
super(DataNodeDelete, self).__init__(app, selector)
cls = app.model.com_redhat_cumin_grid_hadoop.DataNode
+ self.module = module
+
self.form = DataNodeDeleteForm(app, self.name, self, cls)
self.invoc = None
@@ -82,7 +84,6 @@
(hadoophost) = args
self.app.remote.stop_data_node(hadoophost, [float(id)], invoc.make_callback())
-
def get_title(self, session):
return "Remove data nodes"
Modified: branches/elephant/cumin/python/cumin/gridhadoop/hadoop.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/hadoop.py 2013-02-12 18:16:15 UTC (rev
5689)
+++ branches/elephant/cumin/python/cumin/gridhadoop/hadoop.py 2013-02-12 19:35:19 UTC (rev
5690)
@@ -71,8 +71,8 @@
super(HadoopNodeDeleteForm, self).__init__(app, name, task)
self.task = task
- self.hadoophost = HadoopHostField(app, "hadoophost")
- self.add_child(self.hadoophost)
+ self.hadoophost = Parameter(app, "hadoophost")
+ self.add_parameter(self.hadoophost)
def get_selection(self, session):
ids = self.ids.get(session)
@@ -87,9 +87,9 @@
# also need to render any fields by hand here since
# the usual content block gets swapped out
content = ""
- content += '''<table
class="FormFieldSet"><tbody>'''
- content += self.hadoophost.render(session)
- content += '''</tbody></table>'''
+# content += '''<table
class="FormFieldSet"><tbody>'''
+# content += self.hadoophost.render(session)
+# content += '''</tbody></table>'''
content += self.content.render(session, *args)
return content
@@ -188,9 +188,6 @@
def render_title(self, session):
return "Name node"
-
- def render_help(self, session):
- return "Attach data nodes to this name node"
class NameNodeOptions(OptionInputSet):
def do_process(self, session):
@@ -263,4 +260,11 @@
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
+ return "%s(%s,%s,%s)" % args
+
+
+class HadoopNodeDeleteTask(ObjectSelectorTask):
+ def enter(self, session):
+ form_session = super(HadoopNodeDeleteTask, self).enter(session)
+ self.form.hadoophost.set(form_session,
self.module.frame.children_by_name[self.module.frame.name +
".ghschedframe"].host.get(session))
+ return form_session
\ No newline at end of file
Modified: branches/elephant/cumin/python/cumin/gridhadoop/jobtracker.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/jobtracker.py 2013-02-12 18:16:15 UTC
(rev 5689)
+++ branches/elephant/cumin/python/cumin/gridhadoop/jobtracker.py 2013-02-12 19:35:19 UTC
(rev 5690)
@@ -28,16 +28,18 @@
def __init__(self, app, name, module, check_owner=False):
cls = app.model.com_redhat_cumin_grid_hadoop.JobTracker
+ self.module = module
+
super(JobTrackerSelector, self).__init__(app, name, cls)
self.add_search_filter(self.table.id_col)
self.table.adapter = JobTrackerAdapter(app, cls, check_owner)
- task = JobTrackerCreate(app, name + ".create")
+ task = JobTrackerCreate(app, name + ".create", self.module)
link = TaskLink(app, "jobTracker_create", task)
self.links.add_child(link)
- JobTrackerDelete(app, self, "jobTracker_delete")
+ JobTrackerDelete(app, self, "jobTracker_delete", self.module)
self.enable_csv_export()
@@ -72,10 +74,12 @@
frame = self.frame.children_by_name[self.frame.name + self.frame_path]
return frame.get_href(session, id, frame.parent.host.get(session))
-class JobTrackerDelete(ObjectSelectorTask):
- def __init__(self, app, selector, name):
+class JobTrackerDelete(HadoopNodeDeleteTask):
+ def __init__(self, app, selector, name, module):
super(JobTrackerDelete, self).__init__(app, selector)
cls = app.model.com_redhat_cumin_grid_hadoop.JobTracker
+
+ self.module = module
self.form = JobTrackerDeleteForm(app, self.name, self, cls)
self.invoc = None
@@ -107,10 +111,12 @@
return "Remove job trackers"
class JobTrackerCreate(Task):
- def __init__(self, app, name):
+ def __init__(self, app, name, module):
super(JobTrackerCreate, self).__init__(app, name)
cls = app.model.com_redhat_cumin_grid_hadoop.JobTracker
+ self.module = module
+
self.form = JobTrackerCreateForm(app, self.name, self, cls)
self.invoc = None
@@ -188,13 +194,15 @@
def __init__(self, app, name, module):
super(JobTrackerFrame, self).__init__(app, name, module)
+ self.module = module
+
self.view = JobTrackerObjectView(app, "view", self.object)
self.replace_child(self.view)
self.task_tracker_frame = TaskTrackerFrame(app, "tasktrackerframe",
module)
self.add_mode(self.task_tracker_frame)
- self.overview = JobTrackerOverview(app, self.name + ".jtoverview",
self.object)
+ self.overview = JobTrackerOverview(app, self.name + ".jtoverview",
self.object, self.module)
self.view.add_tab(self.overview)
def get_title(self, session):
@@ -218,9 +226,9 @@
self.add_tab(JobTrackerDetails(self.app, "details", self.object))
class JobTrackerOverview(Widget):
- def __init__(self, app, name, node):
+ def __init__(self, app, name, node, module):
super(JobTrackerOverview, self).__init__(app, name)
- self.add_child(TaskTrackerSelector(app, self.name + ".ttforjt",
False))
+ self.add_child(TaskTrackerSelector(app, self.name + ".ttforjt", module,
False))
def render_title(self, session):
return "Task trackers"
Modified: branches/elephant/cumin/python/cumin/gridhadoop/namenode.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/namenode.py 2013-02-12 18:16:15 UTC
(rev 5689)
+++ branches/elephant/cumin/python/cumin/gridhadoop/namenode.py 2013-02-12 19:35:19 UTC
(rev 5690)
@@ -1,5 +1,5 @@
from cumin.objectselector import ObjectSelector, ObjectLinkColumn, ObjectTable,\
- ObjectTableColumn, ObjectQmfTable, ObjectQmfSelectorTable, ObjectSelectorTaskForm,
ObjectSelectorTask
+ ObjectTableColumn, ObjectQmfTable, ObjectQmfSelectorTable, ObjectSelectorTaskForm
from cumin.objectframe import ObjectFrame, ObjectTaskForm
from cumin.util import *
from cumin.qmfadapter import ObjectQmfAdapter
@@ -35,7 +35,7 @@
link = TaskLink(app, "nameNode_create", task)
self.links.add_child(link)
- NameNodeDelete(app, self, "nodeName_delete")
+ NameNodeDelete(app, self, "nodeName_delete", module)
self.enable_csv_export()
@@ -136,11 +136,13 @@
def render_title(self, session):
return "Create a name node"
-class NameNodeDelete(ObjectSelectorTask):
- def __init__(self, app, selector, name):
+class NameNodeDelete(HadoopNodeDeleteTask):
+ def __init__(self, app, selector, name, module):
super(NameNodeDelete, self).__init__(app, selector)
cls = app.model.com_redhat_cumin_grid_hadoop.NameNode
+ self.module = module
+
self.form = NameNodeDeleteForm(app, self.name, self, cls)
self.invoc = None
Modified: branches/elephant/cumin/python/cumin/gridhadoop/tasktracker.py
===================================================================
--- branches/elephant/cumin/python/cumin/gridhadoop/tasktracker.py 2013-02-12 18:16:15 UTC
(rev 5689)
+++ branches/elephant/cumin/python/cumin/gridhadoop/tasktracker.py 2013-02-12 19:35:19 UTC
(rev 5690)
@@ -23,19 +23,21 @@
return results
class TaskTrackerSelector(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.TaskTracker
super(TaskTrackerSelector, self).__init__(app, name, cls)
+
+ self.module = module
self.add_search_filter(self.table.id_col)
self.table.adapter = TaskTrackerAdapter(app, cls, check_owner)
- task = TaskTrackerCreate(app, name + ".create")
+ task = TaskTrackerCreate(app, name + ".create", self.module)
link = TaskLink(app, "taskTracker_create", task)
self.links.add_child(link)
- TaskTrackerDelete(app, self, "taskTracker_delete")
+ TaskTrackerDelete(app, self, "taskTracker_delete", self.module)
self.enable_csv_export()
@@ -67,10 +69,12 @@
frame = self.frame.children_by_name[self.frame_path]
return frame.get_href(session, id, frame.parent.host.get(session))
-class TaskTrackerDelete(ObjectSelectorTask):
- def __init__(self, app, selector, name):
+class TaskTrackerDelete(HadoopNodeDeleteTask):
+ def __init__(self, app, selector, name, module):
super(TaskTrackerDelete, self).__init__(app, selector)
cls = app.model.com_redhat_cumin_grid_hadoop.TaskTracker
+
+ self.module = module
self.form = TaskTrackerDeleteForm(app, self.name, self, cls)
self.invoc = None
@@ -102,10 +106,12 @@
return "Remove task trackers"
class TaskTrackerCreate(Task):
- def __init__(self, app, name):
+ def __init__(self, app, name, module):
super(TaskTrackerCreate, self).__init__(app, name)
cls = app.model.com_redhat_cumin_grid_hadoop.TaskTracker
+ self.module = module
+
self.form = TaskTrackerCreateForm(app, self.name, self, cls)
self.invoc = None
@@ -265,6 +271,8 @@
def __init__(self, app, name, module):
super(TaskTrackerFrame, self).__init__(app, name, module)
+ self.module = module
+
self.view = TaskTrackerObjectView(app, "view", self.object)
self.replace_child(self.view)