the webpages for "define rmc events" and "monstart" are added; and update the css and js code to main.css and xcat.js

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@3947 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
mxi1 2009-08-05 16:23:52 +00:00
parent 3d2f4dd877
commit e7992be5c2
8 changed files with 260 additions and 53 deletions

View File

@ -105,10 +105,10 @@ var xStart = function(){
myBar.addScript("hoverIntent.js");
myBar.addScript("superfish.js");
myBar.addScript("jquery-ui-all.min.js");
myBar.addScript("xcat.js");
myBar.addScript("xcat.js");
myBar.addScript("xcatauth.js");
myBar.addScript("config.js");
myBar.addScript("jquery.tablesorter.js");
myBar.addScript("jquery.tablesorter.js");
myBar.run();
};
//Called on click reset button

View File

@ -327,5 +327,59 @@ function changeProf(){
} // so yeah, all these }'s and )'s really suck. I hope you never have to
// debug this. If you do, please make this code easier to read.
}
//added for display the tree for
function init_ositree(){
//display all the nodes with OSI type
nrtree = new tree_component(); //-tree begin
nrtree.init($("#ositree"),{
rules: { multiple: "Ctrl" },
ui: { animation: 250 },
data : {
type: "json",
async: "true",
url: "monitor/osi_source.php"
}
});
}
//node_stat_control() can enable/disable nodestatmon for the selected plugin
function node_stat_control(plugin)
{
//get the label of the button
var action = $("#node_stat span").text();
if(action=='Enable') {
//enable node_stat_monitor
$.get("monitor/control_node_stat.php",{name:plugin, action:"enable"},function(data) {
if(data=='successful') {
//change the label to "Disable"
$("#node_stat span").text("Disable");
}
});
}else if(action=='Disable') {
//disable node_stat_monitor
$.get("monitor/control_node_stat.php",{name:plugin, action:"disable"},function(data) {
if(data=='successful') {
//change the label to "enable"
$("#node_stat span").text("Enable");
}
})
//then, change the label to "Enable""
}
}
function goto_next()
{
var str = location.href;
var plugin=str.slice(str.indexOf("name")+5);//get the argument from "?name=xxxxx"
if(plugin == "rmcmon") {
loadMainPage("monitor/rmc_event_define.php");
}else {
//TODO
//for the others, there's no web page to define evnets/performance now'
loadMainPage("monitor/monstart.php?name="+plugin);
}
}
// load progress bar
myBar.loaded('xcat.js');

View File

@ -56,12 +56,12 @@ function displayTips($tips)
// "Click the name of each plugin, you can get the plugin's description.",
// "You can also select one plugin, then you can set node/application status monitoring for the selected plugin.",
//}
echo '<div><ul align="left" id="tips"><h3>Tips:</h3>';
echo '<div id="tips"><p><b>Tips:</b></p>';
foreach ($tips as $tip) {
echo "<li>$tip</li>";
echo "\n";
}
echo '</ul></div>';
echo '</div>';
return 0;
}
@ -75,7 +75,7 @@ function displayDialog($id, $title)
function displayMonTable()
{
//create one table to display the monitoring plugins' list
echo '<div style="margin-right:30px;width:auto;margin-left:30px;">';
echo '<div id="monlist_table">';
echo <<<TOS1
<table id="tabTable" class="tabTable" cellspacing="1">
<thead>
@ -124,14 +124,14 @@ function display_stat_mon_table($args)
echo <<<TOS2
<table cellspacing="1" class="tabTable" id="tabTable"><tbody>
<tr class="ListLine0">
<td>Node Status Application Monitoring</td>
<td>Node Status Monitoring</td>
<td>
TOS2;
insertButtons(array('label'=>$ns_tobe, 'id'=>'node_stat', 'onclick'=>"node_stat_control(\"$name\")"));
echo '</td>';
echo '</tr>';
echo '<tr class="ListLine1">';
echo '<td>Application Status Application Monitoring</td>';
echo '<td>Application Status Monitoring</td>';
echo '<td>';
insertbuttons(array('label'=>$as_tobe, 'id'=>'app_stat', 'onclick'=>''));
echo '</td>';
@ -144,4 +144,78 @@ function displayStatus()
//tell the user that the current interface is not done yet...
echo "<div><p>This interface is still under development -use accordingly.</p></div>";
}
function displayOSITree()
{
//display the node range tree, but only with the nodes with OSI type
//this follows the function displayNrTree();
//it doesn't work on firefox!!!
echo <<<EOS3
<script type="text/javascript">
$(init_ositree());
</script>
<div id=ositree></div>
EOS3;
}
function displayAssociation()
{
echo '<div id="association">';
echo <<<TOS5
<b>Available Condition/Response Associations</b>
<table id="tabTable" class="tabTable" cellspacing="1">
<thead>
<tr class="colHeaders">
<td>Condition</td>
<td>Response</td>
<td>Node</td>
<td>State</td>
</tr>
</thead>
TOS5;
//$xml = docmd("webrun", "", array("lscondresp"));
//if(getXmlErrors($xml,$errors)) {
//echo "<p class=Error>",implode(' ', $errors), "</p>";
//exit;
//}
//get all the condition&response associations for RMC
echo <<<TOS6
<tbody>
<tr class="ListLine0">
<td>NodeReachability_H</td>
<td>UpdatexCATNodeStatus</td>
<td>hv8plus01.ppd.pok.ibm.com</td>
<td>Not active</td>
</tr>
<tr class="ListLine1">
<td>NodeReachability</td>
<td>UpdatexCATNodeStatus</td>
<td>hv8plus01.ppd.pok.ibm.com</td>
<td>Not active</td>
</tr>
</tbody>
</table>
</div>
TOS6;
return 0;
}
function displayCond($noderange)
{
//the user selects one node/noderange from the #ositree div
echo '<div id="avail_cond">';
echo '<b>Available Conditions</b>';
echo '</div>';
return 0;
}
function displayResp()
{
echo '<div id="avail_resp">';
echo '<b>Available Response</b>';
echo '</div>';
return 0;
}
?>

View File

@ -14,23 +14,25 @@ require_once "$TOPDIR/lib/monitor_display.php";
$name = $_REQUEST['name'];
$action = $_REQUEST['action'];
//TODO: right now, we can't change the contents of the xcat tables through xcatd
//if($action == 'enable') {
// //chtab name=$name monitoring.nodestatmon='yes'
// $xml=docmd("chtab",' ',array("name=$name","monitoring.nodestatmon=\'yes\'"));
// if(getXmlErrors($xml, $errors)) {
// echo "<p class=Error>",implode(' ', $errors), "</p>";
// exit;
// }
//
//}else if($action == 'disable') {
// //chtab name=$name monitoring.nodestatmon=''
// $xml=docmd("chtab",' ', array("name=$name","monitoring.nodestatmon=\'\'"));
// if(getXmlErrors($xml,$errors)) {
// echo "<p class=Error>",implode(' ', $errors), "</p>";
// exit;
// }
//}
//TODO:
//right now, we can only go through "webrun" command to run the local command through xcatd
//specially for enable/disable node status monitoring, what I can do is to edit the table "monitoring"
//This method is not suitable!
if($action == 'enable') {
//chtab name=$name monitoring.nodestatmon='yes'
$xml=docmd("webrun",'',array("chtab name=$name monitoring.nodestatmon=1"));
if(getXmlErrors($xml, $errors)) {
echo "<p class=Error>",implode(' ', $errors), "</p>";
exit;
}
}else if($action == 'disable') {
//chtab name=$name monitoring.nodestatmon=''
$xml=docmd("webrun",'', array("chtab name=$name monitoring.nodestatmon=no"));
if(getXmlErrors($xml,$errors)) {
echo "<p class=Error>",implode(' ', $errors), "</p>";
exit;
}
}
echo "successful";
?>

View File

@ -0,0 +1,19 @@
<?php
/*
* monstart.php
* to display the web page for the command "monstart" and the command "monstop" for the selected plugins
* the link looks like "monitor/monstart.php?name=rmcmon".
*/
if(!isset($TOPDIR)) { $TOPDIR="/opt/xcat/ui";}
require_once "$TOPDIR/lib/security.php";
require_once "$TOPDIR/lib/functions.php";
require_once "$TOPDIR/lib/display.php";
require_once "$TOPDIR/lib/monitor_display.php";
$name = $_REQUEST['name'];
echo $name;
return 0;
?>

View File

@ -0,0 +1,45 @@
<?php
/*
* osi_source.php
* to provide the JSON-style data to the function init_ositree();
*/
if(!isset($TOPDIR)) { $TOPDIR="/opt/xcat/ui";}
require_once "$TOPDIR/lib/functions.php";
require_once "$TOPDIR/lib/security.php";
require_once "$TOPDIR/lib/display.php";
require_once "$TOPDIR/js/jsonwrapper.php";
//get all the groups
$xml=docmd("lsdef","",array("-t", "group"));
if(getXmlErrors($xml,$errors)) {
echo "<p class=Error>",implode(' ', $errors), "</p>";
exit;
}
$groups = array();
$jdata = array();
foreach($xml->children() as $response) foreach($response->children() as $data) {
//all the groups are stored into $groups
//TODO
array_push($groups, $data);
}
//foreach($groups as $group) {
//$xml = docmd("lsdef","",array("-t", "node", "-w", "nodetype=~osi"))
//}
//print_r($groups);
//echo json_encode($jdata);
echo <<<TOS3
[
{"data":"all","attributes":{
"id":",all","rel":"group"
},"state":"closed"
},
{"data":"another","attributes":{
"id":",another","rel":"group"
},"state":"open"
}
]
TOS3;
?>

View File

@ -0,0 +1,41 @@
<?php
/*
* rmc_event_define.php
* to define the events for RMC
* the url is: monitor/rmc_event_define.php?
*/
if(!isset($TOPDIR)) { $TOPDIR="/opt/xcat/ui";}
require_once "$TOPDIR/lib/security.php";
require_once "$TOPDIR/lib/functions.php";
require_once "$TOPDIR/lib/display.php";
require_once "$TOPDIR/lib/monitor_display.php";
?>
<?php
displayMapper_mon(array('home'=>'main.php', 'monitor'=>'monitor/monlist.php'));
displayTips(array(
"All the conditions and the responses are here;",
"Use \"mkcondition\" and \"mkresponse\" to create new conditions and new responses",
"Select the noderange, select the condition, and the response,",
"then, click \"Save\" to create condition/response associations."
));
displayOSITree();
?>
<div id="condresp">
<?php
displayAssociation();
displayCond("hv8plus06");
displayResp();
?>
</div>
<?php
insertButtons(array('label'=>'Next', id=>'next', 'onclick'=>''));
?>

View File

@ -13,34 +13,6 @@ require_once "$TOPDIR/lib/monitor_display.php";
//get the name of the selected plug-in
$name = $_REQUEST['name'];
?>
<script type="text/javascript">
function node_stat_control(plugin)
{
//get the label of the button
var action = $("#node_stat span").text();
if(action=='Enable') {
//enable node_stat_monitor
$.get("monitor/control_node_stat.php",{name:plugin, action:"enable"},function(data) {
if(data=='successful') {
//change the label to "Disable"
$("#node_stat span").text("Disable");
}
});
}else if(action=='Disable') {
//disable node_stat_monitor
$.get("monitor/control_node_stat.php",{name:plugin, action:"disable"},function(data) {
if(data=='successful') {
//change the label to "enable"
$("#node_stat span").text("Enable");
}
})
//then, change the label to "Enable""
}
}
</script>
<?php
displayMapper_mon(array('home'=>'main.php', 'monitor'=>'monitor/monlist.php'));
displayTips(array(
"Enable/disable Node/App Status Monitoring by clicking the button",
@ -70,5 +42,5 @@ display_stat_mon_table(array("$name"=>
displayStatus();
insertButtons(array('label'=>'Next', id=>'next', 'onclick'=>''));
insertButtons(array('label'=>'Next', id=>'next', 'onclick'=>'goto_next()'));
?>