rhmessaging commits: r3343 - mgmt/trunk/cumin/python/cumin/grid.
by rhmessaging-commits@lists.jboss.org
Author: eallen
Date: 2009-04-29 10:24:38 -0400 (Wed, 29 Apr 2009)
New Revision: 3343
Modified:
mgmt/trunk/cumin/python/cumin/grid/pool.py
mgmt/trunk/cumin/python/cumin/grid/pool.strings
Log:
Changed pool status text to number of slots available (Unclaimed and Idle)
Modified: mgmt/trunk/cumin/python/cumin/grid/pool.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/grid/pool.py 2009-04-28 19:57:33 UTC (rev 3342)
+++ mgmt/trunk/cumin/python/cumin/grid/pool.py 2009-04-29 14:24:38 UTC (rev 3343)
@@ -411,14 +411,14 @@
def render_status(self, session, pool):
action = self.app.model.pool.poolstatus
record = action.get_stat_record(session, pool)
- if record and ("idl" in record) and ("all" in record):
- if record["idl"] and record["all"]: # not None
+ if record and ("available" in record) and ("all" in record):
+ if record["available"] and record["all"]: # not None
writer = Writer()
self.item_tmpl.render(writer, session, record)
return writer.to_string()
- def render_idle(self, session, record):
- return record["idl"]
+ def render_available(self, session, record):
+ return record["available"]
def render_total(self, session, record):
return record["all"]
Modified: mgmt/trunk/cumin/python/cumin/grid/pool.strings
===================================================================
--- mgmt/trunk/cumin/python/cumin/grid/pool.strings 2009-04-28 19:57:33 UTC (rev 3342)
+++ mgmt/trunk/cumin/python/cumin/grid/pool.strings 2009-04-29 14:24:38 UTC (rev 3343)
@@ -42,7 +42,7 @@
[PoolStatus.status_html]
<div>
- <span>{idle}</span> of <span>{total}</span> slots idle
+ <span>{available}</span> of <span>{total}</span> slots available
</div>
[PoolStats.css]
16 years, 11 months
rhmessaging commits: r3342 - in mgmt/trunk: cumin/resources and 1 other directories.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2009-04-28 15:57:33 -0400 (Tue, 28 Apr 2009)
New Revision: 3342
Modified:
mgmt/trunk/cumin/python/cumin/usergrid/main.py
mgmt/trunk/cumin/python/cumin/usergrid/submission.py
mgmt/trunk/cumin/resources/app.css
mgmt/trunk/mint/python/mint/model.py
Log:
Initial submit form
Modified: mgmt/trunk/cumin/python/cumin/usergrid/main.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/usergrid/main.py 2009-04-28 19:16:26 UTC (rev 3341)
+++ mgmt/trunk/cumin/python/cumin/usergrid/main.py 2009-04-28 19:57:33 UTC (rev 3342)
@@ -5,6 +5,8 @@
from submission import *
+from wooly.widgets import *
+
strings = StringCatalog(__file__)
class MainPage(CuminPage, ModeSet):
@@ -15,6 +17,9 @@
self.add_mode(self.main)
self.set_default_frame(self.main)
+ self.submission_add = SubmissionForm(app, "submissionadd")
+ self.add_mode(self.submission_add)
+
def render_title(self, session):
return "MRG Grid"
@@ -42,12 +47,19 @@
def __init__(self, app, name):
super(SubmissionFrame, self).__init__(app, name)
- form = SubmissionForm(app, "form")
- self.add_child(form)
+ link = self.SubmissionAddLink(app, "add")
+ self.add_child(link)
def render_title(self, session):
return "Submissions"
+ class SubmissionAddLink(Link):
+ def render_content(self, session):
+ return "Create New Submission"
+
+ def edit_session(self, session):
+ self.page.submission_add.show(session)
+
class TemplateFrame(Widget):
def render_title(self, session):
return "Templates"
Modified: mgmt/trunk/cumin/python/cumin/usergrid/submission.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/usergrid/submission.py 2009-04-28 19:16:26 UTC (rev 3341)
+++ mgmt/trunk/cumin/python/cumin/usergrid/submission.py 2009-04-28 19:57:33 UTC (rev 3342)
@@ -11,12 +11,56 @@
def __init__(self, app, name):
super(SubmissionForm, self).__init__(app, name)
+ self.template = self.TemplateField(app, "template")
+ self.add_field(self.template)
+
self.description = self.DescriptionField(app, "description")
+ self.description.input.size = 50
self.add_field(self.description)
self.command = self.CommandField(app, "command")
+ self.command.input.size = 50
self.add_field(self.command)
+ self.args = self.ArgumentsField(app, "args")
+ self.args.input.size = 50
+ self.add_field(self.args)
+
+ self.inputs = self.InputsField(app, "inputs")
+ self.add_field(self.inputs)
+
+ self.outputs = self.OutputsField(app, "outputs")
+ self.add_field(self.outputs)
+
+ self.options = self.OptionsField(app, "options")
+ self.add_field(self.options)
+
+ def render_title(self, session):
+ return "Create submission to pool 'wingspan'"
+
+ class TemplateField(FormField):
+ def __init__(self, app, name):
+ super(SubmissionForm.TemplateField, self).__init__(app, name)
+
+ param = Parameter(app, "param")
+ self.add_parameter(param)
+
+ self.input = self.TemplateSet(app, "inputs", param)
+ self.add_child(self.input)
+
+ def render_title(self, session):
+ return "Template"
+
+ class TemplateSet(OptionInputSet):
+ def do_get_items(self, session):
+ return ("Standard scene render", "Experimental")
+
+ def render_item_value(self, session, item):
+ return item
+
+ def render_item_content(self, session, item):
+ return item
+
class DescriptionField(StringField):
def render_title(self, session):
return "Description"
@@ -24,3 +68,33 @@
class CommandField(StringField):
def render_title(self, session):
return "Command"
+
+ class ArgumentsField(StringField):
+ def render_title(self, session):
+ return "Arguments"
+
+ class InputsField(MultilineStringField):
+ def render_title(self, session):
+ return "Inputs"
+
+ class OutputsField(MultilineStringField):
+ def render_title(self, session):
+ return "Outputs"
+
+ class OptionsField(CheckboxField):
+ def __init__(self, app, name):
+ super(SubmissionForm.OptionsField, self).__init__(app, name)
+
+ self.add_option(self.SaveAsTemplate(app, "template"))
+ self.add_option(self.UseCloud(app, "cloud"))
+
+ def render_title(self, session):
+ return "Options"
+
+ class SaveAsTemplate(CheckboxFieldOption):
+ def render_title(self, session):
+ return "Save as template"
+
+ class UseCloud(CheckboxFieldOption):
+ def render_title(self, session):
+ return "Use cloud"
Modified: mgmt/trunk/cumin/resources/app.css
===================================================================
--- mgmt/trunk/cumin/resources/app.css 2009-04-28 19:16:26 UTC (rev 3341)
+++ mgmt/trunk/cumin/resources/app.css 2009-04-28 19:57:33 UTC (rev 3342)
@@ -182,6 +182,8 @@
width: 50em;
border: 1px solid #ddd;
background-color: #fff;
+ -moz-border-radius: 0.4em;
+ -webkit-border-radius: 0.4em;
}
form.mform fieldset {
@@ -201,7 +203,9 @@
form.mform .head {
font-weight: bold;
color: white;
- background-color: #685b8a;
+ background-color: #87a;
+ -moz-border-radius: 0.3em 0.3em 0 0;
+ -webkit-border-radius: 0.3em 0.3em 0 0;
/* background-color: #564979; */
}
Modified: mgmt/trunk/mint/python/mint/model.py
===================================================================
--- mgmt/trunk/mint/python/mint/model.py 2009-04-28 19:16:26 UTC (rev 3341)
+++ mgmt/trunk/mint/python/mint/model.py 2009-04-28 19:57:33 UTC (rev 3342)
@@ -371,7 +371,7 @@
def methodResponse(self, broker, seq, response):
# XXX don't do this via the update thread?
- if not self.updateThread.isAlive():
+ if not self.app.updateThread.isAlive():
return
mbroker = self.getMintBrokerByQmfBroker(broker)
16 years, 11 months
rhmessaging commits: r3341 - mgmt/trunk/wooly/python/wooly.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2009-04-28 15:16:26 -0400 (Tue, 28 Apr 2009)
New Revision: 3341
Modified:
mgmt/trunk/wooly/python/wooly/__init__.py
Log:
Remove a method impl that interferes with multiple inheritance
Modified: mgmt/trunk/wooly/python/wooly/__init__.py
===================================================================
--- mgmt/trunk/wooly/python/wooly/__init__.py 2009-04-28 18:34:44 UTC (rev 3340)
+++ mgmt/trunk/wooly/python/wooly/__init__.py 2009-04-28 19:16:26 UTC (rev 3341)
@@ -386,9 +386,6 @@
def show(self, session):
pass
- def show_child(self, session, child):
- pass
-
def save_session(self, session):
pass
16 years, 11 months
rhmessaging commits: r3340 - mgmt/trunk/wooly/python/wooly.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2009-04-28 14:34:44 -0400 (Tue, 28 Apr 2009)
New Revision: 3340
Modified:
mgmt/trunk/wooly/python/wooly/forms.py
mgmt/trunk/wooly/python/wooly/forms.strings
Log:
New form inputs and fields
Modified: mgmt/trunk/wooly/python/wooly/forms.py
===================================================================
--- mgmt/trunk/wooly/python/wooly/forms.py 2009-04-28 13:49:37 UTC (rev 3339)
+++ mgmt/trunk/wooly/python/wooly/forms.py 2009-04-28 18:34:44 UTC (rev 3340)
@@ -181,6 +181,19 @@
self.size = 30
+class MultilineStringInput(StringInput):
+ def __init__(self, app, name):
+ super(MultilineStringInput, self).__init__(app, name)
+
+ self.rows = 4
+ self.columns = 32
+
+ def render_rows(self, session, *args):
+ return self.rows
+
+ def render_columns(self, session, *args):
+ return self.columns
+
class PasswordInput(StringInput):
pass
@@ -332,6 +345,13 @@
self.input = StringInput(app, "input")
self.add_child(self.input)
+class MultilineStringField(ScalarField):
+ def __init__(self, app, name):
+ super(MultilineStringField, self).__init__(app, name, None)
+
+ self.input = MultilineStringInput(app, "input")
+ self.add_child(self.input)
+
class PasswordField(ScalarField):
def __init__(self, app, name):
super(PasswordField, self).__init__(app, name, None)
@@ -399,6 +419,29 @@
class RadioFieldOption(RadioInput):
pass
+class CheckboxField(FormField):
+ def __init__(self, app, name):
+ super(CheckboxField, self).__init__(app, name)
+
+ self.options = list()
+
+ def add_option(self, option):
+ assert isinstance(option, CheckboxFieldOption)
+
+ self.options.append(option)
+ self.add_child(option)
+
+ def render_inputs(self, session, *args):
+ writer = Writer()
+
+ for option in self.options:
+ writer.write(option.render(session))
+
+ return writer.to_string()
+
+class CheckboxFieldOption(CheckboxInput):
+ pass
+
class ButtonForm(Form):
def __init__(self, app, name):
super(ButtonForm. self).__init__(app, name)
Modified: mgmt/trunk/wooly/python/wooly/forms.strings
===================================================================
--- mgmt/trunk/wooly/python/wooly/forms.strings 2009-04-28 13:49:37 UTC (rev 3339)
+++ mgmt/trunk/wooly/python/wooly/forms.strings 2009-04-28 18:34:44 UTC (rev 3340)
@@ -31,6 +31,9 @@
[ScalarInput.html]
<input type="text" name="{name}" value="{value}" tabindex="{tab_index}" {disabled_attr} size="{size}"/>
+[MultilineStringInput.html]
+<textarea name="{name}" tabindex="{tab_index}" {disabled_attr} rows="{rows}" cols="{columns}">{value}</textarea>
+
[PasswordInput.html]
<input type="password" name="{name}" value="{value}" tabindex="{tab_index}" {disabled_attr} size="{size}"/>
@@ -128,3 +131,10 @@
tabindex="{tab_index}" {checked_attr} {disabled_attr}/>
<label for="{id}">{title}</label>
</div>
+
+[CheckboxFieldOption.html]
+<div>
+ <input type="checkbox" name="{name}" id="{id}" value="{value}"
+ tabindex="{tab_index}" {checked_attr} {disabled_attr}/>
+ <label for="{id}">{title}</label>
+</div>
16 years, 11 months
rhmessaging commits: r3339 - mgmt/trunk/cumin/resources.
by rhmessaging-commits@lists.jboss.org
Author: eallen
Date: 2009-04-28 09:49:37 -0400 (Tue, 28 Apr 2009)
New Revision: 3339
Modified:
mgmt/trunk/cumin/resources/app.js
Log:
Save and restore the scroll position when a widget is fullpaged/restored.
Modified: mgmt/trunk/cumin/resources/app.js
===================================================================
--- mgmt/trunk/cumin/resources/app.js 2009-04-28 13:35:40 UTC (rev 3338)
+++ mgmt/trunk/cumin/resources/app.js 2009-04-28 13:49:37 UTC (rev 3339)
@@ -25,23 +25,23 @@
this.refreshTime = function(src) {
var sep = src.lastIndexOf(";");
var time = new Date().getTime();
-
+
if (isNaN(parseInt(src.substring(sep + 1)))) {
src = src + ";" + time;
} else {
src = src.substring(0, sep) + ";" + time;
}
-
+
return src;
}
-
+
this.updateChart = function(id) {
var chart = wooly.doc().elembyid(id);
-
+
var img = chart.elem("img")
var src = img.getattr("src");
src = cumin.refreshTime(src);
-
+
img.setattr("src", src);
}
@@ -119,7 +119,7 @@
outer.appendChild(titleBar);
outer.appendChild(icon);
outer.appendChild(container);
-
+
var parent = element.parentNode;
outer.originalParent = parent;
container.appendChild(element);
@@ -167,20 +167,21 @@
oBack.style.display = "none";
oFullPage.id = "";
oFullPage.className = "fullpageable";
-
+
document.body.style.height = "auto";
oFullPage.originalParent.appendChild(oFullPage);
oFullPage.getElement("p.fullpageIcon").setProperty("title", "Full Page");
setFullpageParam(false, oFullPage);
var onrestore = oFullPage.onrestore;
if (onrestore) onrestore();
+ window.scrollTo(oFullPage.origScroll.x, oFullPage.origScroll.y);
} else {
// make it full page
oBack.style.display = "block";
oBack.style.height = Math.max($(document.body).getCoordinates().height, window.getScrollSize().y) + "px";
oFullPage.id = "fullpage";
oFullPage.className = "fullpaged";
-
+
document.body.style.height = "100%";
document.body.appendChild(oFullPage);
oFullPage.getElement("p.fullpageIcon").setProperty("title", "Restore");
@@ -189,6 +190,9 @@
var coords = $(oFullPage).getCoordinates();
var height = Math.min(Math.max(window.getSize().y - 100, 200), 600);
if (onfullpage) onfullpage(coords.width, height);
+ var curScroll = window.getScroll();
+ oFullPage.origScroll = curScroll;
+ window.scrollTo(0,0);
}
}
16 years, 11 months
rhmessaging commits: r3338 - mgmt/trunk/cumin/python/cumin/grid.
by rhmessaging-commits@lists.jboss.org
Author: eallen
Date: 2009-04-28 09:35:40 -0400 (Tue, 28 Apr 2009)
New Revision: 3338
Modified:
mgmt/trunk/cumin/python/cumin/grid/pool.strings
Log:
Put fullpageable charts in their own container so they retain their relative position after being fullpaged.
Modified: mgmt/trunk/cumin/python/cumin/grid/pool.strings
===================================================================
--- mgmt/trunk/cumin/python/cumin/grid/pool.strings 2009-04-27 21:18:28 UTC (rev 3337)
+++ mgmt/trunk/cumin/python/cumin/grid/pool.strings 2009-04-28 13:35:40 UTC (rev 3338)
@@ -62,9 +62,9 @@
{grid_stats}
</div>
<div class="col2">
- {pool_slot_map}
- {jobs}
- {slots}
+ <div>{pool_slot_map}</div>
+ <div>{jobs}</div>
+ <div>{slots}</div>
</div>
</div>
<div style="clear:left;"><!-- --></div>
16 years, 11 months
rhmessaging commits: r3337 - mgmt/trunk/cumin/python/cumin/grid.
by rhmessaging-commits@lists.jboss.org
Author: eallen
Date: 2009-04-27 17:18:28 -0400 (Mon, 27 Apr 2009)
New Revision: 3337
Modified:
mgmt/trunk/cumin/python/cumin/grid/pool.py
Log:
Use collector stats on pool overview page instead of fake pool stats
Modified: mgmt/trunk/cumin/python/cumin/grid/pool.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/grid/pool.py 2009-04-27 21:05:58 UTC (rev 3336)
+++ mgmt/trunk/cumin/python/cumin/grid/pool.py 2009-04-27 21:18:28 UTC (rev 3337)
@@ -288,7 +288,7 @@
def __init__(self, app, name):
super(PoolStats, self).__init__(app, name)
- stats = PoolStatSet(app, "slot_stats", "general")
+ stats = self.CollectorStatSet(app, "slot_stats", "general")
self.add_child(stats)
stats = self.GridStats(app, "grid_stats")
@@ -318,6 +318,10 @@
pool = self.frame.get_args(session)[0]
return Collector.select("pool='%s'" % pool.id)
+ class CollectorStatSet(StatSet):
+ def get_args(self, session):
+ return self.parent.get_collector_args(session)
+
class JobStackedChart(StatStackedChart):
def render_title(self, session, *args):
return "Job Status"
@@ -385,22 +389,6 @@
def render_slot_clip_size(self, session, *args):
return 400
-class PoolStatSet(StatSet):
- def render_rate_text(self, session, *args):
- return "Percentage"
-
- def do_get_items(self, session, pool):
- stats = super(PoolStatSet, self).do_get_items(session, pool)
-
- action = self.app.model.pool.fakestats
- record = action.get_stat_record(session, pool)
-
- fake_stats = list()
- for stat in stats:
- fake_stats.append((stat[0], record))
-
- return fake_stats
-
class PoolJobStats(CuminTable):
def render_sql_where(self, session, pool):
elems = list()
16 years, 11 months
rhmessaging commits: r3336 - mgmt/trunk/cumin/python/cumin/grid.
by rhmessaging-commits@lists.jboss.org
Author: eallen
Date: 2009-04-27 17:05:58 -0400 (Mon, 27 Apr 2009)
New Revision: 3336
Modified:
mgmt/trunk/cumin/python/cumin/grid/pool.py
mgmt/trunk/cumin/python/cumin/grid/pool.strings
Log:
Added in Collector charts
Modified: mgmt/trunk/cumin/python/cumin/grid/pool.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/grid/pool.py 2009-04-27 21:05:26 UTC (rev 3335)
+++ mgmt/trunk/cumin/python/cumin/grid/pool.py 2009-04-27 21:05:58 UTC (rev 3336)
@@ -297,6 +297,16 @@
slot_map = self.PoolSlotMap(app, "pool_slot_map")
self.add_child(slot_map)
+ chart = self.JobStackedChart(app, "jobs")
+ chart.duration.param.default = "3600"
+ chart.stats = ("RunningJobs", "IdleJobs")
+ self.add_child(chart)
+
+ chart = self.SlotStackedChart(app, "slots")
+ chart.duration.param.default = "3600"
+ chart.stats = ("HostsClaimed", "HostsUnclaimed", "HostsOwner")
+ self.add_child(chart)
+
def render_title(self, session):
return "Overview"
@@ -304,6 +314,24 @@
pool = self.frame.get_args(session)[0]
return pool.name
+ def get_collector_args(self, session):
+ pool = self.frame.get_args(session)[0]
+ return Collector.select("pool='%s'" % pool.id)
+
+ class JobStackedChart(StatStackedChart):
+ def render_title(self, session, *args):
+ return "Job Status"
+
+ def get_args(self, session):
+ return self.parent.get_collector_args(session)
+
+ class SlotStackedChart(StatStackedChart):
+ def render_title(self, session, *args):
+ return "Slot State"
+
+ def get_args(self, session):
+ return self.parent.get_collector_args(session)
+
class GridStats(Widget):
def __init__(self, app, name):
super(PoolStats.GridStats, self).__init__(app, name)
Modified: mgmt/trunk/cumin/python/cumin/grid/pool.strings
===================================================================
--- mgmt/trunk/cumin/python/cumin/grid/pool.strings 2009-04-27 21:05:26 UTC (rev 3335)
+++ mgmt/trunk/cumin/python/cumin/grid/pool.strings 2009-04-27 21:05:58 UTC (rev 3336)
@@ -63,6 +63,8 @@
</div>
<div class="col2">
{pool_slot_map}
+ {jobs}
+ {slots}
</div>
</div>
<div style="clear:left;"><!-- --></div>
16 years, 11 months
rhmessaging commits: r3335 - mgmt/trunk/cumin/python/cumin.
by rhmessaging-commits@lists.jboss.org
Author: eallen
Date: 2009-04-27 17:05:26 -0400 (Mon, 27 Apr 2009)
New Revision: 3335
Modified:
mgmt/trunk/cumin/python/cumin/visualizations.strings
Log:
Style sheet tweaks
Modified: mgmt/trunk/cumin/python/cumin/visualizations.strings
===================================================================
--- mgmt/trunk/cumin/python/cumin/visualizations.strings 2009-04-27 20:09:20 UTC (rev 3334)
+++ mgmt/trunk/cumin/python/cumin/visualizations.strings 2009-04-27 21:05:26 UTC (rev 3335)
@@ -1214,9 +1214,12 @@
[SlotLegend.css]
div.slot_legend {
- margin-top: 1em;
+ margin-top: 0.1em;
}
+div.slot_legend h3 {
+ margin-top: 0;
+}
div.slot_states, div.slot_activities {
float: left;
margin-left: 2em;
@@ -1225,6 +1228,7 @@
div.slot_states ul, div.slot_activities ul {
margin-top: 0.5em;
margin-left: 0.5em;
+ margin-bottom: 0.5em;
font-size: 0.8em;
}
16 years, 11 months
rhmessaging commits: r3334 - mgmt/trunk/cumin/python/cumin/grid.
by rhmessaging-commits@lists.jboss.org
Author: eallen
Date: 2009-04-27 16:09:20 -0400 (Mon, 27 Apr 2009)
New Revision: 3334
Modified:
mgmt/trunk/cumin/python/cumin/grid/pool.py
mgmt/trunk/cumin/python/cumin/grid/pool.strings
Log:
Added stats and charts for Grid
Modified: mgmt/trunk/cumin/python/cumin/grid/pool.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/grid/pool.py 2009-04-27 20:08:56 UTC (rev 3333)
+++ mgmt/trunk/cumin/python/cumin/grid/pool.py 2009-04-27 20:09:20 UTC (rev 3334)
@@ -288,15 +288,68 @@
def __init__(self, app, name):
super(PoolStats, self).__init__(app, name)
- stats = PoolStatSet(app, "general", "general")
+ stats = PoolStatSet(app, "slot_stats", "general")
self.add_child(stats)
- self.slot_map = self.PoolSlotMap(app, "pool_slot_map")
- self.add_child(self.slot_map)
+ stats = self.GridStats(app, "grid_stats")
+ self.add_child(stats)
+ slot_map = self.PoolSlotMap(app, "pool_slot_map")
+ self.add_child(slot_map)
+
def render_title(self, session):
- return "Statistics"
+ return "Overview"
+ def render_pool_name(self, session):
+ pool = self.frame.get_args(session)[0]
+ return pool.name
+
+ class GridStats(Widget):
+ def __init__(self, app, name):
+ super(PoolStats.GridStats, self).__init__(app, name)
+
+ stats = self.GridStatSet(app, "stats", "general")
+ self.add_child(stats)
+
+ chart = self.GridJobChart(app, "jobs_chart")
+ chart.stats = ("NumJobs", "RunningJobs", "IdleJobs")
+ self.add_child(chart)
+
+ chart = self.GridSubmitChart(app, "submit_chart")
+ chart.stats = ("SubmitsAllowed", "SubmitsQueued", "SubmitsInProgress")
+ self.add_child(chart)
+
+ def get_grid_args(self, session):
+ pool = self.frame.get_args(session)[0]
+ return Grid.select("pool='%s'" % pool.id)
+
+ def render_grid_name(self, session):
+ grid = self.get_grid_args(session)[0]
+ return grid.Name
+
+ def render(self, session):
+ grid = self.get_grid_args(session)
+ if grid.count() > 0:
+ return super(PoolStats.GridStats, self).render(session)
+
+ class GridJobChart(StatValueChart):
+ def render_title(self, session, object):
+ return "Grid Jobs"
+
+ def get_args(self, session):
+ return self.parent.get_grid_args(session)
+
+ class GridSubmitChart(StatValueChart):
+ def render_title(self, session, object):
+ return "Grid Submits"
+
+ def get_args(self, session):
+ return self.parent.get_grid_args(session)
+
+ class GridStatSet(StatSet):
+ def get_args(self, session):
+ return self.parent.get_grid_args(session)
+
class PoolSlotMap(SlotMap):
def get_title_name(self, session, pool):
return pool.name
@@ -305,7 +358,7 @@
return 400
class PoolStatSet(StatSet):
- def render_rate_text(self, session, args):
+ def render_rate_text(self, session, *args):
return "Percentage"
def do_get_items(self, session, pool):
Modified: mgmt/trunk/cumin/python/cumin/grid/pool.strings
===================================================================
--- mgmt/trunk/cumin/python/cumin/grid/pool.strings 2009-04-27 20:08:56 UTC (rev 3333)
+++ mgmt/trunk/cumin/python/cumin/grid/pool.strings 2009-04-27 20:09:20 UTC (rev 3334)
@@ -45,14 +45,32 @@
<span>{idle}</span> of <span>{total}</span> slots idle
</div>
+[PoolStats.css]
+div#poolStats div.col1, div#poolStats div.col2 {
+ float: left;
+ width: 47%;
+}
+div#poolStats div.col1 {
+ padding-right: 2em;
+}
+
[PoolStats.html]
-<div style="width: 40%; float: left;">
- <h2>General</h2>
- <div>
- {general}
- </div>
+<div id="poolStats">
+<div class="col1">
+ <h2>Stats for Pool {pool_name}</h2>
+ {slot_stats}
+ {grid_stats}
</div>
-<div style="float: left; margin-left: 4em;">
+<div class="col2">
{pool_slot_map}
</div>
+</div>
<div style="clear:left;"><!-- --></div>
+
+[GridStats.html]
+ <h2>Stats for Grid {grid_name}</h2>
+ {stats}
+ <blockquote>
+ {jobs_chart}
+ {submit_chart}
+ </blockquote>
\ No newline at end of file
16 years, 11 months