Widgitized the output
This commit is contained in:
parent
808730e1e3
commit
4b51fc2727
@ -65,8 +65,8 @@ class Controller_Domain extends Controller_TemplateDefault {
|
||||
|
||||
Block::add(array(
|
||||
'title'=>sprintf(_('Node Information for Domain %s'),$do->DOMAIN_NAME),
|
||||
'body'=>View::factory('domain/detail')->set('do',$do)
|
||||
));
|
||||
'body'=>View::factory('domain/detail')->set('o',$do)
|
||||
));
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -65,10 +65,8 @@ class Controller_Library extends Controller_TemplateDefault {
|
||||
|
||||
Block::add(array(
|
||||
'title'=>sprintf(_('Library Information for %s'),$lo->LIBRARY_NAME),
|
||||
'body'=>View::factory('library/detail')
|
||||
->set('lo',$lo)
|
||||
->set('slots',$lo->slots())
|
||||
));
|
||||
'body'=>View::factory('library/detail')->set('o',$lo)
|
||||
));
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -65,22 +65,22 @@ class Controller_Node extends Controller_TemplateDefault {
|
||||
|
||||
Block::add(array(
|
||||
'title'=>sprintf('%s %s',_('Detailed Node Information for'),$no->NODE_NAME),
|
||||
'body'=>View::factory('node/detail')->set('node',$no),
|
||||
'body'=>View::factory('node/detail')->set('o',$no),
|
||||
));
|
||||
|
||||
Block::add(array(
|
||||
'title'=>_('Protected File System Information'),
|
||||
'body'=>View::factory('node/detail_filesystem')->set('node',$no),
|
||||
'body'=>View::factory('node/filesystems')->set('o',$no),
|
||||
));
|
||||
|
||||
Block::add(array(
|
||||
'title'=>_('Sequential Volume Usage Information'),
|
||||
'body'=>View::factory('node/detail_volumes')->set('node',$no),
|
||||
'body'=>View::factory('node/volumes')->set('o',$no),
|
||||
));
|
||||
|
||||
Block::add(array(
|
||||
'title'=>_('Schedule Information'),
|
||||
'body'=>View::factory('node/detail_schedule')->set('node',$no),
|
||||
'body'=>View::factory('node/schedule')->set('o',$no),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ class Controller_Stgpool extends Controller_TemplateDefault {
|
||||
|
||||
Block::add(array(
|
||||
'title'=>sprintf(_('Storage Pool Information for %s'),$so->STGPOOL_NAME),
|
||||
'body'=>View::factory('stgpool/detail')->set('so',$so)
|
||||
'body'=>View::factory('stgpool/detail')->set('o',$so)
|
||||
));
|
||||
}
|
||||
}
|
||||
|
@ -18,8 +18,10 @@ class Database_TSM_Show extends Database_Result {
|
||||
|
||||
$sql = strtolower($sql);
|
||||
|
||||
$start = FALSE;
|
||||
$barcodewarn = FALSE;
|
||||
$eid = $sid = FALSE;
|
||||
$ec = 0;
|
||||
|
||||
foreach ($result as $line) {
|
||||
if (! trim($line))
|
||||
continue;
|
||||
@ -28,9 +30,6 @@ class Database_TSM_Show extends Database_Result {
|
||||
$library = strtoupper(preg_replace('/^show slots /','',$sql));
|
||||
|
||||
if (preg_match('/^Slot /',$line)) {
|
||||
if ($start)
|
||||
$this->_internal_row++;
|
||||
|
||||
$slot = array();
|
||||
foreach ((preg_split('/,\s*/',$line,-1)) as $slotkey => $val)
|
||||
if (preg_match('/^element number\s+/',$val))
|
||||
@ -44,9 +43,34 @@ class Database_TSM_Show extends Database_Result {
|
||||
elseif (preg_match('/^barcode\s+/',$val))
|
||||
$slot['barcode'] = preg_replace('/^barcode /','',$val);
|
||||
|
||||
// We assume that the element numbers are sequential
|
||||
// @todo This routine would miss the first empty slots, there is no way to work this out?
|
||||
if ($eid AND $eid+1 != $slot['element']) {
|
||||
while ($eid+1 != $slot['element']) {
|
||||
if ($ec++ > $this->Slots OR $sid == $slot['slot'])
|
||||
throw new Kohana_Exception('Had a problem calculating EMPTY slots (:ec, :slots, :sid, :slot)',
|
||||
array(':ec'=>$ec,':slots'=>$this->Slots,':sid'=>$sid,':slot'=>$slot['slot'])
|
||||
);
|
||||
|
||||
$eid++;
|
||||
$sid++;
|
||||
$this->_rows[$this->_internal_row++] = new Slot(array(
|
||||
'element'=>"$eid",
|
||||
'slot'=>"$sid",
|
||||
'status'=>'Empty',
|
||||
'barcodelabel'=>'',
|
||||
'barcode'=>'',
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
$slot['library'] = $library;
|
||||
$this->_rows[$this->_internal_row] = new Slot($slot);
|
||||
$start = TRUE;
|
||||
$this->_rows[$this->_internal_row++] = new Slot($slot);
|
||||
|
||||
// Counters to keep track of empty slots
|
||||
$eid = $slot['element'];
|
||||
$sid = $slot['slot'];
|
||||
$ec++;
|
||||
|
||||
if (! $barcodewarn AND $slot['status'] == 'Allocated' AND $slot['barcode'] == 'not present') {
|
||||
SystemMessage::add(array(
|
||||
|
@ -56,7 +56,14 @@ class Model_LIBRARY extends TSM_ORM {
|
||||
|
||||
// Return the number of slots that are empty.
|
||||
public function numemptyslot() {
|
||||
return $this->slots->Slots-$this->slots->Changers-count($this->slots);
|
||||
$return = array();
|
||||
|
||||
foreach ($this->slots() as $slot)
|
||||
if ($slot->status == 'Empty')
|
||||
array_push($return,$slot->LIBVOLUME->VOLUME);
|
||||
|
||||
return count($return);
|
||||
//return $this->slots->Slots-$this->slots->Changers-count($this->slots);
|
||||
}
|
||||
|
||||
// Return the slots that are used, but not checked in.
|
||||
|
@ -25,7 +25,9 @@ class Model_LIBVOLUME extends TSM_ORM {
|
||||
|
||||
public function usage() {
|
||||
switch (strtolower($this->STATUS)) {
|
||||
case NULL: return 'empty';
|
||||
case 'scratch': return strtolower($this->STATUS);
|
||||
|
||||
case 'private':
|
||||
if ($this->VOLUME->STATUS == 'EMPTY')
|
||||
return 'empty';
|
||||
@ -58,7 +60,6 @@ class Model_LIBVOLUME extends TSM_ORM {
|
||||
switch ($this->usage()) {
|
||||
case 'data': return sprintf('%s/%s',$this->VOLUME->display('STATUS'),$this->VOLUME->display('ACCESS'));
|
||||
case 'dbbackup': return $this->VOLHISTORY->lastuse()->backupid();
|
||||
case 'empty': return _('Empty');
|
||||
|
||||
default: return '';
|
||||
}
|
||||
|
@ -45,5 +45,9 @@ class Slot {
|
||||
else
|
||||
return $this->barcodelabel;
|
||||
}
|
||||
|
||||
public function usage() {
|
||||
return $this->status == 'Empty' ? $this->status : $this->LIBVOLUME->volusage();
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -1,209 +1,29 @@
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td style="width: 100%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Nodes in this Domain</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Node</td>
|
||||
<td>Version</td>
|
||||
<td>OS</td>
|
||||
<td>Last Access</td>
|
||||
<td>Last IP Addr</td>
|
||||
<td>Client Opt</td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<td><?php echo $ctype[0]; ?></td>
|
||||
<?php } ?>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
|
||||
<td colspan="3" class="right"><?php echo $type; ?>(Vol/Fil/Dat)</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($do->NODE->find_all() as $no) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><abbr title="<?php printf('%s (%s)',$no->display('CONTACT'),$no->display('EMAIL_ADDRESS')); ?>"><?php echo HTML::anchor('node/detail/'.$no->NODE_NAME,$no->NODE_NAME); ?></abbr></td>
|
||||
<td class="data"><?php echo $no->tsmclientversion(); ?></td>
|
||||
<td class="data"><?php echo $no->platform(); ?></td>
|
||||
<td class="data"><?php echo $no->display('LASTACC_TIME'); ?></td>
|
||||
<td class="data"><?php echo $no->display('TCP_ADDRESS'); ?></td>
|
||||
<td class="data"><?php echo $no->display('OPTION_SET'); ?></td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<td class="data"><?php echo $no->hasData($btype) ? 'Y' : 'N'; ?></td>
|
||||
<?php } ?>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
|
||||
<td class="data-right"><?php echo count($no->getStorageTypeVols($type)); ?></td>
|
||||
<td class="data-right"><?php echo $no->getStorageTypeFiles($type); ?></td>
|
||||
<td class="data-right"><?php echo $no->getStorageTypeData($type); ?></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/nodes')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 100%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="15">Storage Pools used by nodes in this Domain</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">Storage Pool</td>
|
||||
<td class="right">Scr Use</td>
|
||||
<td class="right">Scr Avl</td>
|
||||
<td class="right">Access</td>
|
||||
<td class="right">Rec %</td>
|
||||
<td class="right">Util %</td>
|
||||
<td class="right">Migr %</td>
|
||||
<td class="right">High/Low</td>
|
||||
<td class="right">Next</td>
|
||||
<td class="right">Nodes</td>
|
||||
<td class="right">Vols</td>
|
||||
<td class="right">Files</td>
|
||||
<td class="right">MB</td>
|
||||
</tr>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<tr class="subhead">
|
||||
<td colspan="15"><?php echo $btype; ?></td>
|
||||
</tr>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
|
||||
<tr class="subhead">
|
||||
<td> </td>
|
||||
<td colspan="14"><?php echo $type; ?></td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($do->getStoragePoolsType($btype,$type) as $spo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td colspan="2"> </td>
|
||||
<td class="data"><?php echo HTML::anchor('stgpool/detail/'.$spo->STGPOOL_NAME,$spo->display('STGPOOL_NAME')); ?></td>
|
||||
<td class="data-right"><?php echo $spo->display('NUMSCRATCHUSED'); ?></td>
|
||||
<td class="data-right"><?php echo $spo->display('MAXSCRATCH'); ?></td>
|
||||
<td class="data-right"><?php echo $spo->display('ACCESS'); ?></td>
|
||||
<td class="data-right"><?php echo $spo->display('RECLAIM'); ?></td>
|
||||
<td class="data-right"><?php echo $spo->display('PCT_UTILIZED'); ?></td>
|
||||
<td class="data-right"><?php echo $spo->display('PCT_MIGR'); ?></td>
|
||||
<td class="data-right"><?php printf('%s/%s',$spo->HIGHMIG,$spo->LOWMIG); ?></td>
|
||||
<td class="data-right"><?php echo $spo->NEXTSTGPOOL ? HTML::anchor('stgpool/detail/'.$spo->NEXTSTGPOOL,$spo->display('NEXTSTGPOOL')) : ' '; ?></td>
|
||||
<td class="data-right"><?php echo count($do->getStorageModeNodes($btype,$type,$spo)); ?></td>
|
||||
<td class="data-right"><?php echo count($do->getStorageModeVols($ctype,$type,$spo)); ?></td>
|
||||
<td class="data-right"><?php echo $do->getStorageModeFiles($btype,$type,$spo); ?></td>
|
||||
<td class="data-right"><?php echo $do->getStorageModeData($btype,$type,$spo); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/stgpools')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 100%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="14">Sequential Volumes needed to restore Data for Nodes in this Domain</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">Volume</td>
|
||||
<td>Status</td>
|
||||
<td>Access</td>
|
||||
<td>Scr</td>
|
||||
<td class="right">Pct %</td>
|
||||
<td class="right">Rec %</td>
|
||||
<td class="right">Mounted</td>
|
||||
<td class="right">R/W Err</td>
|
||||
<td class="right">FS</td>
|
||||
<td class="right">Nodes</td>
|
||||
<td class="right">Location</td>
|
||||
</tr>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<tr class="subhead">
|
||||
<td colspan="14"><?php echo $btype; ?></td>
|
||||
</tr>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
|
||||
<tr class="subhead">
|
||||
<td> </td>
|
||||
<td colspan="13"><?php echo $type; ?></td>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($do->getStoragePoolsType($btype,$type) as $spo) { ?>
|
||||
<tr class="subhead">
|
||||
<td colspan="2"> </td>
|
||||
<td colspan="13"><?php echo $spo->DISPLAY('STGPOOL_NAME'); ?></td>
|
||||
</tr>
|
||||
<?php foreach ($do->getStorageModeVols($ctype,$type,$spo) as $vuo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td colspan="3"> </td>
|
||||
<td class="data"><?php echo $vuo->VOLUME_NAME; ?></td>
|
||||
<td class="data"><?php echo $vuo->VOLUME->display('STATUS'); ?></td>
|
||||
<td class="data"><?php echo $vuo->VOLUME->display('ACCESS'); ?></td>
|
||||
<td class="data"><?php echo $vuo->VOLUME->isScratch() ? 'Y' : 'N'; ?></td>
|
||||
<td class="data-right"><?php echo $vuo->VOLUME->display('PCT_UTILIZED'); ?></td>
|
||||
<td class="data-right"><?php echo $vuo->VOLUME->display('PCT_RECLAIM'); ?></td>
|
||||
<td class="data-right"><?php echo $vuo->VOLUME->display('TIMES_MOUNTED'); ?></td>
|
||||
<td class="data-right"><?php printf('%s/%s',$vuo->VOLUME->READ_ERRORS,$vuo->VOLUME->WRITE_ERRORS); ?></td>
|
||||
<td class="data-right"><?php echo $vuo->VOLUME->getFSOnVol($ctype); ?></td>
|
||||
<td class="data-right"><?php echo $vuo->VOLUME->getNodesOnVol($ctype); ?></td>
|
||||
<td class="data-right"><?php echo $vuo->VOLUME->location(); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/volumes')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<?php echo View::factory('node/policy')->set('domain',$do); ?>
|
||||
</td>
|
||||
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/policy')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 100%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="7">Schedules used in this Domain</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Schedule</td>
|
||||
<td>Start Time</td>
|
||||
<td>Duration</td>
|
||||
<td>Repeat</td>
|
||||
<td>Valid Day</td>
|
||||
<td>Priority</td>
|
||||
<td>Nodes</td>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($do->SCHEDULE_CLIENT->find_all() as $so) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $so->display('SCHEDULE_NAME'); ?></td>
|
||||
<td class="data"><?php echo $so->display('STARTTIME'); ?></td>
|
||||
<td class="data"><?php printf('%s %s',$so->DURATION,$so->DURUNITS); ?></td>
|
||||
<td class="data"><?php printf('%s %s',$so->PERIOD,$so->PERUNITS); ?></td>
|
||||
<td class="data"><?php echo $so->display('DAYOFWEEK'); ?></td>
|
||||
<td class="data"><?php echo $so->display('PRIORITY'); ?></td>
|
||||
<td class="data"><?php echo count($so->getNodes()); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/schedules')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
41
application/views/domain/nodes.php
Normal file
41
application/views/domain/nodes.php
Normal file
@ -0,0 +1,41 @@
|
||||
<!-- $o = ORM::factory('DOMAIN') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Nodes in this Domain</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Node</td>
|
||||
<td>Version</td>
|
||||
<td>OS</td>
|
||||
<td>Last Access</td>
|
||||
<td>Last IP Addr</td>
|
||||
<td>Client Opt</td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<td><?php echo $ctype[0]; ?></td>
|
||||
<?php } ?>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
|
||||
<td colspan="3" class="right"><?php echo $type; ?>(Vol/Fil/Dat)</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($o->NODE->find_all() as $no) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><abbr title="<?php printf('%s (%s)',$no->display('CONTACT'),$no->display('EMAIL_ADDRESS')); ?>"><?php echo HTML::anchor('node/detail/'.$no->NODE_NAME,$no->NODE_NAME); ?></abbr></td>
|
||||
<td class="data"><?php echo $no->tsmclientversion(); ?></td>
|
||||
<td class="data"><?php echo $no->platform(); ?></td>
|
||||
<td class="data"><?php echo $no->display('LASTACC_TIME'); ?></td>
|
||||
<td class="data"><?php echo $no->display('TCP_ADDRESS'); ?></td>
|
||||
<td class="data"><?php echo $no->display('OPTION_SET'); ?></td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<td class="data"><?php echo $no->hasData($btype) ? 'Y' : 'N'; ?></td>
|
||||
<?php } ?>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
|
||||
<td class="data-right"><?php echo count($no->getStorageTypeVols($type)); ?></td>
|
||||
<td class="data-right"><?php echo $no->getStorageTypeFiles($type); ?></td>
|
||||
<td class="data-right"><?php echo $no->getStorageTypeData($type); ?></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
@ -1,3 +1,4 @@
|
||||
<!-- $o = ORM::factory('DOMAIN') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Policy Settings</td>
|
||||
@ -16,7 +17,7 @@
|
||||
<td>Ver Del</td>
|
||||
<td>Frequency</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($domain->MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
|
||||
<?php $i=0; foreach ($o->MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $mco->display('CLASS_NAME'); ?><?php echo $mco->DEFAULTMC=='Yes' ? ' <sup>*</sup>' : ''; ?></td>
|
||||
<td class="data"><?php echo $mco->display('MIGDESTINATION'); ?></td>
|
||||
@ -37,7 +38,7 @@
|
||||
<td>Destination</td>
|
||||
<td>Retain</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($domain->MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
|
||||
<?php $i=0; foreach ($o->MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $mco->display('CLASS_NAME'); ?><?php echo $mco->DEFAULTMC=='Yes' ? ' <sup>*</sup>' : ''; ?></td>
|
||||
<td class="data"><?php echo $mco->COPYGROUP_AR->display('DESTINATION'); ?></td>
|
29
application/views/domain/schedules.php
Normal file
29
application/views/domain/schedules.php
Normal file
@ -0,0 +1,29 @@
|
||||
<!-- $o = ORM::factory('DOMAIN') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="7">Schedules used in this Domain</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Schedule</td>
|
||||
<td>Start Time</td>
|
||||
<td>Duration</td>
|
||||
<td>Repeat</td>
|
||||
<td>Valid Day</td>
|
||||
<td>Priority</td>
|
||||
<td>Nodes</td>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($o->SCHEDULE_CLIENT->find_all() as $so) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $so->display('SCHEDULE_NAME'); ?></td>
|
||||
<td class="data"><?php echo $so->display('STARTTIME'); ?></td>
|
||||
<td class="data"><?php printf('%s %s',$so->DURATION,$so->DURUNITS); ?></td>
|
||||
<td class="data"><?php printf('%s %s',$so->PERIOD,$so->PERUNITS); ?></td>
|
||||
<td class="data"><?php echo $so->display('DAYOFWEEK'); ?></td>
|
||||
<td class="data"><?php echo $so->display('PRIORITY'); ?></td>
|
||||
<td class="data"><?php echo count($so->getNodes()); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
53
application/views/domain/stgpools.php
Normal file
53
application/views/domain/stgpools.php
Normal file
@ -0,0 +1,53 @@
|
||||
<!-- $o = ORM::factory('DOMAIN') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="15">Storage Pools used by nodes in this Domain</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">Storage Pool</td>
|
||||
<td class="right">Scr Use</td>
|
||||
<td class="right">Scr Avl</td>
|
||||
<td class="right">Access</td>
|
||||
<td class="right">Rec %</td>
|
||||
<td class="right">Util %</td>
|
||||
<td class="right">Migr %</td>
|
||||
<td class="right">High/Low</td>
|
||||
<td class="right">Next</td>
|
||||
<td class="right">Nodes</td>
|
||||
<td class="right">Vols</td>
|
||||
<td class="right">Files</td>
|
||||
<td class="right">MB</td>
|
||||
</tr>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<tr class="subhead">
|
||||
<td colspan="15"><?php echo $btype; ?></td>
|
||||
</tr>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
|
||||
<tr class="subhead">
|
||||
<td> </td>
|
||||
<td colspan="14"><?php echo $type; ?></td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($o->getStoragePoolsType($btype,$type) as $spo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td colspan="2"> </td>
|
||||
<td class="data"><?php echo HTML::anchor('stgpool/detail/'.$spo->STGPOOL_NAME,$spo->display('STGPOOL_NAME')); ?></td>
|
||||
<td class="data-right"><?php echo $spo->display('NUMSCRATCHUSED'); ?></td>
|
||||
<td class="data-right"><?php echo $spo->display('MAXSCRATCH'); ?></td>
|
||||
<td class="data-right"><?php echo $spo->display('ACCESS'); ?></td>
|
||||
<td class="data-right"><?php echo $spo->display('RECLAIM'); ?></td>
|
||||
<td class="data-right"><?php echo $spo->display('PCT_UTILIZED'); ?></td>
|
||||
<td class="data-right"><?php echo $spo->display('PCT_MIGR'); ?></td>
|
||||
<td class="data-right"><?php printf('%s/%s',$spo->HIGHMIG,$spo->LOWMIG); ?></td>
|
||||
<td class="data-right"><?php echo $spo->NEXTSTGPOOL ? HTML::anchor('stgpool/detail/'.$spo->NEXTSTGPOOL,$spo->display('NEXTSTGPOOL')) : ' '; ?></td>
|
||||
<td class="data-right"><?php echo count($o->getStorageModeNodes($btype,$type,$spo)); ?></td>
|
||||
<td class="data-right"><?php echo count($o->getStorageModeVols($ctype,$type,$spo)); ?></td>
|
||||
<td class="data-right"><?php echo $o->getStorageModeFiles($btype,$type,$spo); ?></td>
|
||||
<td class="data-right"><?php echo $o->getStorageModeData($btype,$type,$spo); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</table>
|
55
application/views/domain/volumes.php
Normal file
55
application/views/domain/volumes.php
Normal file
@ -0,0 +1,55 @@
|
||||
<!-- $o = ORM::factory('DOMAIN') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="14">Sequential Volumes needed to restore Data for Nodes in this Domain</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">Volume</td>
|
||||
<td>Status</td>
|
||||
<td>Access</td>
|
||||
<td>Scr</td>
|
||||
<td class="right">Pct %</td>
|
||||
<td class="right">Rec %</td>
|
||||
<td class="right">Mounted</td>
|
||||
<td class="right">R/W Err</td>
|
||||
<td class="right">FS</td>
|
||||
<td class="right">Nodes</td>
|
||||
<td class="right">Location</td>
|
||||
</tr>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<tr class="subhead">
|
||||
<td colspan="14"><?php echo $btype; ?></td>
|
||||
</tr>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
|
||||
<tr class="subhead">
|
||||
<td> </td>
|
||||
<td colspan="13"><?php echo $type; ?></td>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($o->getStoragePoolsType($btype,$type) as $spo) { ?>
|
||||
<tr class="subhead">
|
||||
<td colspan="2"> </td>
|
||||
<td colspan="13"><?php echo $spo->DISPLAY('STGPOOL_NAME'); ?></td>
|
||||
</tr>
|
||||
<?php foreach ($o->getStorageModeVols($ctype,$type,$spo) as $vuo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td colspan="3"> </td>
|
||||
<td class="data"><?php echo $vuo->VOLUME_NAME; ?></td>
|
||||
<td class="data"><?php echo $vuo->VOLUME->display('STATUS'); ?></td>
|
||||
<td class="data"><?php echo $vuo->VOLUME->display('ACCESS'); ?></td>
|
||||
<td class="data"><?php echo $vuo->VOLUME->isScratch() ? 'Y' : 'N'; ?></td>
|
||||
<td class="data-right"><?php echo $vuo->VOLUME->display('PCT_UTILIZED'); ?></td>
|
||||
<td class="data-right"><?php echo $vuo->VOLUME->display('PCT_RECLAIM'); ?></td>
|
||||
<td class="data-right"><?php echo $vuo->VOLUME->display('TIMES_MOUNTED'); ?></td>
|
||||
<td class="data-right"><?php printf('%s/%s',$vuo->VOLUME->READ_ERRORS,$vuo->VOLUME->WRITE_ERRORS); ?></td>
|
||||
<td class="data-right"><?php echo $vuo->VOLUME->getFSOnVol($ctype); ?></td>
|
||||
<td class="data-right"><?php echo $vuo->VOLUME->getNodesOnVol($ctype); ?></td>
|
||||
<td class="data-right"><?php echo $vuo->VOLUME->location(); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</table>
|
@ -1,257 +1,15 @@
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Information for this Library</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;">Name</td>
|
||||
<td style="width: 60%;" class="data"><?php printf('%s (%s)',$lo->display('LIBRARY_NAME'),$slots->ProductId); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Serial Number</td>
|
||||
<td class="data"><?php echo $lo->display('LIBRARY_SERIAL'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Type</td>
|
||||
<td class="data"><?php echo $lo->display('LIBRARY_TYPE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Drives</td>
|
||||
<td class="data"><?php echo $slots->Drives; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Slots/Changers</td>
|
||||
<td class="data"><?php printf('%s/%s',$slots->Slots-$slots->Changers,$slots->Changers); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Shared</td>
|
||||
<td class="data"><?php echo $lo->display('SHARED'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>LAN Free</td>
|
||||
<td class="data"><?php echo $lo->display('LANFREE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Auto Label</td>
|
||||
<td class="data"><?php echo $lo->display('AUTOLABEL'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Paths</td>
|
||||
<td>
|
||||
<table style="width: 100%;">
|
||||
<?php $i=0; foreach ($lo->PATH->find_all() as $po) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td><?php echo $po->display('SOURCE_NAME'); ?></td>
|
||||
<td><?php echo $po->display('SOURCE_TYPE'); ?></td>
|
||||
<td><?php echo $po->display('DESTINATION_TYPE'); ?></td>
|
||||
<td><?php echo $po->display('DEVICE'); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 100%; vertical-align: top;" rowspan="2">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="10">Library Volume Summary</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;" colspan="2">Empty Slots</td>
|
||||
<td style="width: 60%;" class="data" colspan="8"><?php echo $lo->numemptyslot(); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">Not Checked In</td>
|
||||
<td class="data" colspan="8"><?php echo count($lo->notcheckedinvol()); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">Scratch</td>
|
||||
<td class="data" colspan="8"><?php echo count($lo->scratchvol()); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">Read Only</td>
|
||||
<td class="data" colspan="8"><?php echo count($lo->readonlyvol()); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">¹ Stale Storage Pool Volumes (<span class="data"><?php echo Kohana::$config->load('config')->tsmtapeage; ?></span> days)</td>
|
||||
<td class="data" colspan="8"><?php echo count($lo->stalevol()); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">² Removable Volumes</td>
|
||||
<td class="data" colspan="8"><?php echo count($lo->removablelibvol()); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="head" colspan="10">Storage Pool Volumes for this Library</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">Storage Type</td>
|
||||
<?php foreach (array('IN','OUT') as $inout) { ?>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmvolstatus as $status) { ?>
|
||||
<td class="right"><?php printf('%s: %s',$inout,$status); ?></td>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data" colspan="2">DB VOLS</td>
|
||||
<?php foreach (array('IN','OUT') as $inout) { ?>
|
||||
<td class="data-right"><?php echo count($lo->dbvolsloc($inout)); ?></td>
|
||||
<td colspan="3"> </td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php $i=0; foreach (Kohana::$config->load('config')->tsmdbtypes as $type) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td> </td>
|
||||
<td><?php echo $type; ?></td>
|
||||
<?php foreach (array('IN','OUT') as $inout) { ?>
|
||||
<td class="right"><?php echo count($lo->dbvolstype($inout,$type)); ?></td>
|
||||
<td colspan="3"> </td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data" colspan="2"><?php echo $type; ?></td>
|
||||
<?php foreach (array('IN','OUT') as $inout) { ?>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmvolstatus as $status) { ?>
|
||||
<td class="data-right"><?php echo count($lo->volstype($type,$inout,$status)); ?></td>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php foreach ($lo->storagepoolstype($type) as $spo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td> </td>
|
||||
<td><?php echo $spo; ?></td>
|
||||
<?php foreach (array('IN','OUT') as $inout) { ?>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmvolstatus as $status) { ?>
|
||||
<td class="right"><?php echo count($spo->libvolstype($inout,$status)); ?></td>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('library/info')->set('o',$o); ?></td>
|
||||
<td style="width: 100%; vertical-align: top;" rowspan="2"><?php echo View::factory('library/summary')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Drives in this Library</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td>Serial Number</td>
|
||||
<td>Online</td>
|
||||
<td>State</td>
|
||||
<td>Volume</td>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($lo->DRIVE->find_all() as $do) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $do->display('DRIVE_NAME'); ?></td>
|
||||
<td class="data"><?php echo $do->display('DRIVE_SERIAL'); ?></td>
|
||||
<td class="data"><?php echo $do->display('ONLINE'); ?></td>
|
||||
<td class="data"><?php echo $do->display('DRIVE_STATE'); ?></td>
|
||||
<td class="data"><?php echo $do->display('VOLUME_NAME'); ?></td>
|
||||
</tr>
|
||||
<?php foreach ($do->PATH->find_all() as $po) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td> </td>
|
||||
<td><?php echo $po->display('SOURCE_NAME'); ?></td>
|
||||
<td><?php echo $po->display('SOURCE_TYPE'); ?></td>
|
||||
<td><?php echo $po->display('DESTINATION_TYPE'); ?></td>
|
||||
<td><?php echo $po->display('DEVICE'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('library/drives')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 100%; vertical-align: top;" colspan="2">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Volumes in this Library</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Barcode</td>
|
||||
<td>Usage</td>
|
||||
<td>Status/Access</td>
|
||||
<td>Utilisation</td>
|
||||
<td>Reclaim</td>
|
||||
<td>Last Read</td>
|
||||
<td>Last Write</td>
|
||||
<td>Slot</td>
|
||||
<td>Library Access</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($slots as $slot) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo HTML::nbsp($slot->barcodelabel().($slot->LIBVOLUME->VOLUME->recycle() ? ' ¹' : '').($slot->LIBVOLUME->removable() ? ' ²' : '')); ?></td>
|
||||
<td class="data"><?php echo $slot->LIBVOLUME->volusage(); ?></td>
|
||||
<td class="data"><?php echo HTML::nbsp($slot->LIBVOLUME->status()); ?></td>
|
||||
<td class="data"><?php echo $slot->LIBVOLUME->VOLUME->display('PCT_UTILIZED'); ?></td>
|
||||
<td class="data"><?php echo $slot->LIBVOLUME->VOLUME->display('PCT_RECLAIM'); ?></td>
|
||||
<td class="data"><?php echo $slot->LIBVOLUME->VOLUME->display('LAST_READ_DATE'); ?></td>
|
||||
<td class="data"><?php echo HTML::nbsp($slot->LIBVOLUME->lastwrite()); ?></td>
|
||||
<td class="data"><acronym title="<?php printf('%s: %s',_('Element'),$slot->element); ?>"><?php echo $slot; ?></acronym></td>
|
||||
<td class="data"><?php echo HTML::nbsp($slot->LIBVOLUME->access()); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 100%; vertical-align: top;" colspan="2"><?php echo View::factory('library/volumes-in')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 100%; vertical-align: top;" colspan="2">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Volumes out of this Library</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Volume</td>
|
||||
<td>Usage</td>
|
||||
<td>Status/Access</td>
|
||||
<td>Utilisation</td>
|
||||
<td>Reclaim</td>
|
||||
<td>Last Read</td>
|
||||
<td>Last Write</td>
|
||||
<td>Location</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($lo->volsnotinlib() as $vo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $vo.($vo->recycle() ? ' ¹' : ''); ?></td>
|
||||
<td class="data"><?php echo $vo->STGPOOL_NAME; ?></td>
|
||||
<td class="data"><?php printf('%s/%s',$vo->display('STATUS'),$vo->display('ACCESS')); ?></td>
|
||||
<td class="data"><?php echo $vo->display('PCT_UTILIZED'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('PCT_RECLAIM'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('LAST_READ_DATE'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('LAST_WRITE_DATE'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('LOCATION'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 100%; vertical-align: top;" colspan="2"><?php echo View::factory('library/volumes-out')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
34
application/views/library/drives.php
Normal file
34
application/views/library/drives.php
Normal file
@ -0,0 +1,34 @@
|
||||
<!-- $o = ORM::factory('LIBRARY') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Drives in this Library</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td>Serial Number</td>
|
||||
<td>Online</td>
|
||||
<td>State</td>
|
||||
<td>Volume</td>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($o->DRIVE->find_all() as $do) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $do->display('DRIVE_NAME'); ?></td>
|
||||
<td class="data"><?php echo $do->display('DRIVE_SERIAL'); ?></td>
|
||||
<td class="data"><?php echo $do->display('ONLINE'); ?></td>
|
||||
<td class="data"><?php echo $do->display('DRIVE_STATE'); ?></td>
|
||||
<td class="data"><?php echo $do->display('VOLUME_NAME'); ?></td>
|
||||
</tr>
|
||||
<?php foreach ($do->PATH->find_all() as $po) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td> </td>
|
||||
<td><?php echo $po->display('SOURCE_NAME'); ?></td>
|
||||
<td><?php echo $po->display('SOURCE_TYPE'); ?></td>
|
||||
<td><?php echo $po->display('DESTINATION_TYPE'); ?></td>
|
||||
<td><?php echo $po->display('DEVICE'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</table>
|
57
application/views/library/info.php
Normal file
57
application/views/library/info.php
Normal file
@ -0,0 +1,57 @@
|
||||
<!-- $o = ORM::factory('LIBRARY') -->
|
||||
<!-- <?php $slots = $o->slots(); ?> -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Information for this Library</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;">Name</td>
|
||||
<td style="width: 60%;" class="data"><?php printf('%s (%s)',$o->display('LIBRARY_NAME'),$slots->ProductId); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Serial Number</td>
|
||||
<td class="data"><?php echo $o->display('LIBRARY_SERIAL'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Type</td>
|
||||
<td class="data"><?php echo $o->display('LIBRARY_TYPE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Drives</td>
|
||||
<td class="data"><?php echo $slots->Drives; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Slots/Changers</td>
|
||||
<td class="data"><?php printf('%s/%s',$slots->Slots-$slots->Changers,$slots->Changers); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Shared</td>
|
||||
<td class="data"><?php echo $o->display('SHARED'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>LAN Free</td>
|
||||
<td class="data"><?php echo $o->display('LANFREE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Auto Label</td>
|
||||
<td class="data"><?php echo $o->display('AUTOLABEL'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Paths</td>
|
||||
<td>
|
||||
<table style="width: 100%;">
|
||||
<?php $i=0; foreach ($o->PATH->find_all() as $po) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td><?php echo $po->display('SOURCE_NAME'); ?></td>
|
||||
<td><?php echo $po->display('SOURCE_TYPE'); ?></td>
|
||||
<td><?php echo $po->display('DESTINATION_TYPE'); ?></td>
|
||||
<td><?php echo $po->display('DEVICE'); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
89
application/views/library/summary.php
Normal file
89
application/views/library/summary.php
Normal file
@ -0,0 +1,89 @@
|
||||
<!-- $o = ORM::factory('LIBRARY') -->
|
||||
<!-- <?php $slots = $o->slots(); ?> -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="10">Library Volume Summary</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;" colspan="2">Empty Slots</td>
|
||||
<td style="width: 60%;" class="data" colspan="8"><?php echo $o->numemptyslot(); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">Not Checked In</td>
|
||||
<td class="data" colspan="8"><?php echo count($o->notcheckedinvol()); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">Scratch</td>
|
||||
<td class="data" colspan="8"><?php echo count($o->scratchvol()); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">Read Only</td>
|
||||
<td class="data" colspan="8"><?php echo count($o->readonlyvol()); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">¹ Stale Volumes (<span class="data"><?php echo Kohana::$config->load('config')->tsmtapeage; ?></span> days)</td>
|
||||
<td class="data" colspan="8"><?php echo count($o->stalevol()); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">² Removable Volumes</td>
|
||||
<td class="data" colspan="8"><?php echo count($o->removablelibvol()); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="head" colspan="10">Storage Pool Volumes for this Library</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">Storage Type</td>
|
||||
<?php foreach (array('IN','OUT') as $inout) { ?>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmvolstatus as $status) { ?>
|
||||
<td class="right"><?php printf('%s: %s',$inout,$status); ?></td>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="data" colspan="2">DB VOLS</td>
|
||||
<?php foreach (array('IN','OUT') as $inout) { ?>
|
||||
<td class="data-right"><?php echo count($o->dbvolsloc($inout)); ?></td>
|
||||
<td colspan="3"> </td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php $i=0; foreach (Kohana::$config->load('config')->tsmdbtypes as $type) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td> </td>
|
||||
<td><?php echo $type; ?></td>
|
||||
<?php foreach (array('IN','OUT') as $inout) { ?>
|
||||
<td class="right"><?php echo count($o->dbvolstype($inout,$type)); ?></td>
|
||||
<td colspan="3"> </td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data" colspan="2"><?php echo $type; ?></td>
|
||||
<?php foreach (array('IN','OUT') as $inout) { ?>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmvolstatus as $status) { ?>
|
||||
<td class="data-right"><?php echo count($o->volstype($type,$inout,$status)); ?></td>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php foreach ($o->storagepoolstype($type) as $spo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td> </td>
|
||||
<td><?php echo $spo; ?></td>
|
||||
<?php foreach (array('IN','OUT') as $inout) { ?>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmvolstatus as $status) { ?>
|
||||
<td class="right"><?php echo count($spo->libvolstype($inout,$status)); ?></td>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</table>
|
33
application/views/library/volumes-in.php
Normal file
33
application/views/library/volumes-in.php
Normal file
@ -0,0 +1,33 @@
|
||||
<!-- $o = ORM::factory('LIBRARY') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Volumes in this Library</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Barcode</td>
|
||||
<td>Usage</td>
|
||||
<td>Status/Access</td>
|
||||
<td>Utilisation</td>
|
||||
<td>Reclaim</td>
|
||||
<td>Last Read</td>
|
||||
<td>Last Write</td>
|
||||
<td>Slot</td>
|
||||
<td>Library Access</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($o->slots() as $slot) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo HTML::nbsp($slot->barcodelabel().($slot->LIBVOLUME->VOLUME->recycle() ? ' ¹' : '').($slot->LIBVOLUME->removable() ? ' ²' : '')); ?></td>
|
||||
<td class="data"><?php echo $slot->usage(); ?></td>
|
||||
<td class="data"><?php echo HTML::nbsp($slot->LIBVOLUME->status()); ?></td>
|
||||
<td class="data"><?php echo $slot->LIBVOLUME->VOLUME->display('PCT_UTILIZED'); ?></td>
|
||||
<td class="data"><?php echo $slot->LIBVOLUME->VOLUME->display('PCT_RECLAIM'); ?></td>
|
||||
<td class="data"><?php echo $slot->LIBVOLUME->VOLUME->display('LAST_READ_DATE'); ?></td>
|
||||
<td class="data"><?php echo HTML::nbsp($slot->LIBVOLUME->lastwrite()); ?></td>
|
||||
<td class="data"><acronym title="<?php printf('%s: %s',_('Element'),$slot->element); ?>"><?php echo $slot; ?></acronym></td>
|
||||
<td class="data"><?php echo HTML::nbsp($slot->LIBVOLUME->access()); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
31
application/views/library/volumes-out.php
Normal file
31
application/views/library/volumes-out.php
Normal file
@ -0,0 +1,31 @@
|
||||
<!-- $o = ORM::factory('LIBRARY') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Volumes out of this Library</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Volume</td>
|
||||
<td>Usage</td>
|
||||
<td>Status/Access</td>
|
||||
<td>Utilisation</td>
|
||||
<td>Reclaim</td>
|
||||
<td>Last Read</td>
|
||||
<td>Last Write</td>
|
||||
<td>Location</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($o->volsnotinlib() as $vo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $vo.($vo->recycle() ? ' ¹' : ''); ?></td>
|
||||
<td class="data"><?php echo $vo->STGPOOL_NAME; ?></td>
|
||||
<td class="data"><?php printf('%s/%s',$vo->display('STATUS'),$vo->display('ACCESS')); ?></td>
|
||||
<td class="data"><?php echo $vo->display('PCT_UTILIZED'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('PCT_RECLAIM'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('LAST_READ_DATE'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('LAST_WRITE_DATE'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('LOCATION'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
29
application/views/node/cloptset.php
Normal file
29
application/views/node/cloptset.php
Normal file
@ -0,0 +1,29 @@
|
||||
<!-- $o = ORM::factory('NODE') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Server Side Client Options</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Client Option</td>
|
||||
<td>Seq #</td>
|
||||
<td>Setting</td>
|
||||
<td>Forced</td>
|
||||
</tr>
|
||||
<?php if ($o->OPTION_SET) { ?>
|
||||
<?php $i=0; foreach ($o->CLIENTOPT->find_all() as $coo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $coo->display('OPTION_NAME'); ?></td>
|
||||
<td class="data"><?php echo $coo->display('SEQNUMBER'); ?></td>
|
||||
<td class="data"><?php echo $coo->display('OPTION_VALUE'); ?></td>
|
||||
<td class="data"><?php echo $coo->display('FORCE'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } else { ?>
|
||||
<tr>
|
||||
<td>This node is not configured for any server side Client Options</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
@ -1,184 +1,14 @@
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Node Information</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;">Node Name</td>
|
||||
<td style="width: 60%;" class="data"><?php echo $node->display('NODE_NAME'); ?> (<?php echo $node->URL ? HTML::anchor($node->URL,$node->display('TCP_ADDRESS')) : $node->display('TCP_ADDRESS'); ?>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Node Contact</td>
|
||||
<td class="data"><?php echo $node->display('CONTACT'); echo $node->EMAIL_ADDRESS ? ' ('.HTML::mailto($node->EMAIL_ADDRESS).')' : ''; ?> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Operating Sytem</td>
|
||||
<td class="data"><?php echo $node->platform(); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TSM Client Version</td>
|
||||
<td class="data"><?php echo $node->tsmclientversion(); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Date Registered</td>
|
||||
<td class="data"><?php echo $node->display('REG_TIME'); ?> (by <?php echo $node->display('REG_ADMIN'); ?>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Date Last Password Change</td>
|
||||
<td class="data"><?php echo $node->display('PWSET_TIME'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Password Expiry</td>
|
||||
<td class="data"><?php echo $node->passexp(); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Invalid Password Count</td>
|
||||
<td class="data"><?php echo $node->display('INVALID_PW_COUNT'); ?> (<?php echo $node->LOCKED == 'NO' ? _('Not Locked') : _('Locked'); ?>)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Last Session Performance Information</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;">Last Access</td>
|
||||
<td style="width: 60%;" class="data"><?php echo $node->display('LASTACC_TIME'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Sent</td>
|
||||
<td class="data"><?php echo number_format($node->LASTSESS_SENT/1024/1024,2); ?> MB</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Receive</td>
|
||||
<td class="data"><?php echo number_format($node->LASTSESS_RECVD/1024/1024,2); ?> MB</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Duration</td>
|
||||
<td class="data"><?php echo number_format($node->LASTSESS_DURATION/60,2); ?> min</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Session Idle Wait Percent</td>
|
||||
<td class="data"><?php echo $node->display('LASTSESS_IDLEWAIT'); ?>% (<?php echo number_format($node->LASTSESS_DURATION*($node->LASTSESS_IDLEWAIT/100),2); ?>s)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Session Comm Wait Percent</td>
|
||||
<td class="data"><?php echo $node->display('LASTSESS_COMMWAIT'); ?>% (<?php echo number_format($node->LASTSESS_DURATION*($node->LASTSESS_COMMWAIT/100),2); ?>s)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Session Media Wait Percent</td>
|
||||
<td class="data"><?php echo $node->display('LASTSESS_MEDIAWAIT'); ?>% (<?php echo number_format($node->LASTSESS_DURATION*($node->LASTSESS_MEDIAWAIT/100),2); ?>s)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Session Transfer Percent</td>
|
||||
<td class="data"><?php echo number_format($node->lasttransferpercent(),2); ?>% (<?php echo number_format($node->lasttransfertime(),2); ?>s)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Session Send Performance</td>
|
||||
<td class="data"><?php echo number_format($node->lastsendperformance(),2); ?> MB/s (<?php echo number_format($node->lastsendaggperformance(),2); ?> MB/s Aggregate)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Session Receive Performance</td>
|
||||
<td class="data"><?php echo number_format($node->lastreceiveperformance(),2); ?> MB/s (<?php echo number_format($node->lastreceiveaggperformance(),2); ?> MB/s Aggregate)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('node/info')->set('o',$o); ?></td>
|
||||
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('node/session')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Backup Settings</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;">Domain</td>
|
||||
<td style="width: 60%;" class="data"><?php echo HTML::anchor('domain/detail/'.$node->DOMAIN,$node->display('DOMAIN')); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Client Option Set</td>
|
||||
<td class="data"><?php echo $node->display('OPTION_SET'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Collocation Group</td>
|
||||
<td class="data"><?php echo $node->COLLOCGROUP_NAME ? $node->display('COLLOCGROUP_NAME') : 'Not Set'; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Client Compression</td>
|
||||
<td class="data"><?php echo $node->display('COMPRESSION'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TXN Group Max</td>
|
||||
<td class="data"><?php echo $node->txngroupmax(); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Delete Archives</td>
|
||||
<td class="data"><?php echo $node->display('ARCHDELETE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Delete Backups</td>
|
||||
<td class="data"><?php echo $node->display('BACKDELETE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Keep Mount Points</td>
|
||||
<td class="data"><?php echo $node->display('KEEP_MP'); ?> (<?php echo $node->display('MAX_MP_ALLOWED'); ?>)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('node/settings')->set('o',$o); ?></td>
|
||||
<td style="width: 50%; vertical-align: top;"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<?php echo View::factory('node/policy')->set('domain',$node->DOMAIN); ?>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Server Side Client Options</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Client Option</td>
|
||||
<td>Seq #</td>
|
||||
<td>Setting</td>
|
||||
<td>Forced</td>
|
||||
</tr>
|
||||
<?php if ($node->OPTION_SET) { ?>
|
||||
<?php $i=0; foreach ($node->CLIENTOPT->find_all() as $coo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $coo->display('OPTION_NAME'); ?></td>
|
||||
<td class="data"><?php echo $coo->display('SEQNUMBER'); ?></td>
|
||||
<td class="data"><?php echo $coo->display('OPTION_VALUE'); ?></td>
|
||||
<td class="data"><?php echo $coo->display('FORCE'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } else { ?>
|
||||
<tr>
|
||||
<td>This node is not configured for any server side Client Options</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('domain/policy')->set('o',$o->DOMAIN); ?></td>
|
||||
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('node/cloptset')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -1,147 +0,0 @@
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Backup Information</td>
|
||||
</tr>
|
||||
<?php if ($node->getStoragePools('Bkup')) { ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>File Space</td>
|
||||
<td>Last Date</td>
|
||||
<td class="right">Utilisation</td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
|
||||
if (count($pools = $node->getStoragePoolsType('Bkup',$type)))
|
||||
foreach ($pools as $pool_name) { ?>
|
||||
<td class="right"><?php echo $pool_name; ?> <span style="vertical-align: super; font-size: 60%;"><?echo $type; ?></span></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($node->FILESPACE->find_all() as $fso) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $fso->display('FILESPACE_NAME'); ?></td>
|
||||
<td class="data"><?php echo $fso->display('BACKUP_END'); ?></td>
|
||||
<td class="data-right"><?php echo number_format($fso->utilsation(),2); ?></td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
|
||||
if (count($pools = $node->getStoragePoolsType('Bkup',$type)))
|
||||
foreach ($pools as $pool_name) { ?>
|
||||
<td class="data-right"><?php echo number_format($fso->pool_logical_util($pool_name,'Bkup'),2); ?> (<?php echo $fso->pool_numvols($pool_name,'BACKUP'); ?>)</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } else { ?>
|
||||
<tr><td>There is NO Backup Data for this Node.</td></tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;" rowspan="2">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Storage Summary</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">Storage Type</td>
|
||||
<td class="right">Vols</td>
|
||||
<td class="right">Files</td>
|
||||
<td class="right">MB</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data" colspan="2"><?php echo $type; ?></td>
|
||||
<td class="data-right"><?php echo count($node->getStorageTypeVols($type)); ?></td>
|
||||
<td class="data-right"><?php echo $node->getStorageTypeFiles($type); ?></td>
|
||||
<td class="data-right"><?php echo $node->getStorageTypeData($type); ?></td>
|
||||
</tr>
|
||||
<?php foreach ($node->getAllStoragePoolsType($type) as $spo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td> </td>
|
||||
<td><?php echo $spo; ?></td>
|
||||
<td class="right"><?php echo count($node->getStorageTypeVols($type,$spo)); ?></td>
|
||||
<td class="right"><?php echo $node->getStorageTypeFiles($type,$spo); ?></td>
|
||||
<td class="right"><?php echo $node->getStorageTypeData($type,$spo); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Archive Information</td>
|
||||
</tr>
|
||||
<?php if ($node->getStoragePools('Arch')) { ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>File Space</td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
|
||||
if (count($pools = $node->getStoragePoolsType('Arch',$type)))
|
||||
foreach ($pools as $pool_name) { ?>
|
||||
<td class="right"><?php echo $pool_name; ?> <span style="vertical-align: super; font-size: 60%;"><?echo $type; ?></span></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($node->FILESPACE->find_all() as $fso) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $fso->display('FILESPACE_NAME'); ?></td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
|
||||
if (count($pools = $node->getStoragePoolsType('Arch',$type)))
|
||||
foreach ($pools as $pool_name) { ?>
|
||||
<td class="data-right"><?php echo number_format($fso->pool_logical_util($pool_name,'Arch'),2); ?> (<?php echo $fso->pool_numvols($pool_name,'ARCHIVE'); ?>)</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } else { ?>
|
||||
<tr><td>There is NO Archive Data for this Node.</td></tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">HSM Information</td>
|
||||
</tr>
|
||||
<?php if ($node->getStoragePools('SpMg')) { ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>File Space</td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
|
||||
if (count($pools = $node->getStoragePoolsType('SpMg',$type)))
|
||||
foreach ($pools as $pool_name) { ?>
|
||||
<td class="right"><?php echo $pool_name; ?> <span style="vertical-align: super; font-size: 60%;"><?echo $type; ?></span></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($node->FILESPACE->find_all() as $fso) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $fso->display('FILESPACE_NAME'); ?></td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
|
||||
if (count($pools = $node->getStoragePoolsType('SpMg',$type)))
|
||||
foreach ($pools as $pool_name) { ?>
|
||||
<td class="data-right"><?php echo number_format($fso->pool_logical_util($pool_name,'SpMg'),2); ?> (<?php echo $fso->pool_numvols($pool_name,'SPACE MANAGED'); ?>)</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } else { ?>
|
||||
<tr><td>There is NO HSM Data for this Node.</td></tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
@ -1,92 +0,0 @@
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">TSM Node Schedules</td>
|
||||
</tr>
|
||||
<?php if ($node->ASSOCIATION->find_all()) { ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Schedule</td>
|
||||
<td>Start Time</td>
|
||||
<td>Duration</td>
|
||||
<td>Repeat</td>
|
||||
<td>Valid Day</td>
|
||||
<td>Priority</td>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($node->ASSOCIATION->find_all() as $ao) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $ao->display('SCHEDULE_NAME'); ?></td>
|
||||
<td class="data"><?php echo $ao->SCHEDULE_CLIENT->display('STARTTIME'); ?></td>
|
||||
<td class="data"><?php printf('%s %s',$ao->SCHEDULE_CLIENT->DURATION,$ao->SCHEDULE_CLIENT->DURUNITS); ?></td>
|
||||
<td class="data"><?php printf('%s %s',$ao->SCHEDULE_CLIENT->PERIOD,$ao->SCHEDULE_CLIENT->PERUNITS); ?></td>
|
||||
<td class="data"><?php echo $ao->SCHEDULE_CLIENT->display('DAYOFWEEK'); ?></td>
|
||||
<td class="data"><?php echo $ao->SCHEDULE_CLIENT->display('PRIORITY'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } else { ?>
|
||||
<tr><td>There are no TSM schedules define for this Node.</td></tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;" rowspan="2">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Summary Activity</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Start</td>
|
||||
<td>End</td>
|
||||
<td>Activity</td>
|
||||
<td>Schedule</td>
|
||||
<td>MB</td>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($node->SUMMARY->find_all() as $so) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $so->display('START_TIME'); ?></td>
|
||||
<td class="data"><?php echo $so->display('END_TIME'); ?></td>
|
||||
<td class="data"><?php echo $so->display('ACTIVITY'); ?></td>
|
||||
<td class="data"><?php echo $so->display('SCHEDULE_NAME'); ?></td>
|
||||
<td class="data" style="text-align: right;"><?php printf('%3.2f',round($so->display('BYTES')/1024/1024,2)); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Schedule Activity</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Sched Start</td>
|
||||
<td>Act Start</td>
|
||||
<td>Schedule Name</td>
|
||||
<td>Status</td>
|
||||
<td>Completed</td>
|
||||
<td>Result</td>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($node->EVENT->find_all() as $eo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $eo->display('SCHEDULED_START'); ?></td>
|
||||
<td class="data"><?php echo HTML::nbsp($eo->display('ACTUAL_START')); ?></td>
|
||||
<td class="data"><?php echo $eo->display('SCHEDULE_NAME'); ?></td>
|
||||
<td class="data"><?php echo $eo->display('STATUS'); ?></td>
|
||||
<td class="data"><?php echo HTML::nbsp($eo->display('COMPLETED')); ?></td>
|
||||
<td class="data"><?php printf('%s %s',$eo->RESULT,$eo->display('REASON')); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
45
application/views/node/filesystems.php
Normal file
45
application/views/node/filesystems.php
Normal file
@ -0,0 +1,45 @@
|
||||
<!-- $o = ORM::factory('NODE') -->
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2"><?php echo $ctype; ?> Information</td>
|
||||
</tr>
|
||||
<?php if ($o->getStoragePools($btype)) { ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>File Space</td>
|
||||
<td><?php echo ($btype == 'Bkup') ? 'Last Date' : ' '; ?></td>
|
||||
<td class="right">Utilisation</td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
|
||||
if (count($pools = $o->getStoragePoolsType($btype,$type)))
|
||||
foreach ($pools as $pool_name) { ?>
|
||||
<td class="right"><?php echo $pool_name; ?> <span style="vertical-align: super; font-size: 60%;"><?echo $type; ?></span></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($o->FILESPACE->find_all() as $fso) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $fso->display('FILESPACE_NAME'); ?></td>
|
||||
<td class="data"><?php echo ($btype == 'Bkup') ? $fso->display('BACKUP_END') : ' '; ?></td>
|
||||
<td class="data-right"><?php echo number_format($fso->utilsation(),2); ?></td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
|
||||
if (count($pools = $o->getStoragePoolsType($btype,$type)))
|
||||
foreach ($pools as $pool_name) { ?>
|
||||
<td class="data-right"><?php echo number_format($fso->pool_logical_util($pool_name,$btype),2); ?> (<?php echo $fso->pool_numvols($pool_name,$ctype); ?>)</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } else { ?>
|
||||
<tr><td>There is no <?php echo $ctype; ?> Data for this Node.</td></tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
<br/>
|
||||
<?php } ?>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;" rowspan="2"><?php echo View::factory('node/stgpool_summary')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
</table>
|
58
application/views/node/info.php
Normal file
58
application/views/node/info.php
Normal file
@ -0,0 +1,58 @@
|
||||
<!-- $o = ORM::factory('NODE') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Node Information</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;">Node Name</td>
|
||||
<td style="width: 60%;" class="data"><?php echo $o->display('NODE_NAME'); ?> (<?php echo $o->URL ? HTML::anchor($o->URL,$o->display('TCP_ADDRESS')) : $o->display('TCP_ADDRESS'); ?>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Node Contact</td>
|
||||
<td class="data"><?php echo $o->display('CONTACT'); echo $o->EMAIL_ADDRESS ? ' ('.HTML::mailto($o->EMAIL_ADDRESS).')' : ''; ?> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Operating Sytem</td>
|
||||
<td class="data"><?php echo $o->platform(); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TSM Client Version</td>
|
||||
<td class="data"><?php echo $o->tsmclientversion(); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Date Registered</td>
|
||||
<td class="data"><?php echo $o->display('REG_TIME'); ?> (by <?php echo $o->display('REG_ADMIN'); ?>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Date Last Password Change</td>
|
||||
<td class="data"><?php echo $o->display('PWSET_TIME'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Password Expiry</td>
|
||||
<td class="data"><?php echo $o->passexp(); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Invalid Password Count</td>
|
||||
<td class="data"><?php echo $o->display('INVALID_PW_COUNT'); ?> (<?php echo $o->LOCKED == 'NO' ? _('Not Locked') : _('Locked'); ?>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Proxy Target</td>
|
||||
<td class="data"><?php echo HTML::anchor('node/detail/'.$o->PROXY_TARGET,$o->display('PROXY_TARGET')); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Proxy Agent(s)</td>
|
||||
<td class="data"><?php echo $o->display('PROXY_AGENT'); ?></td>
|
||||
</tr>
|
||||
</table>
|
10
application/views/node/schedule.php
Normal file
10
application/views/node/schedule.php
Normal file
@ -0,0 +1,10 @@
|
||||
<!-- $o = ORM::factory('NODE') -->
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('node/schedule_list')->set('o',$o); ?></td>
|
||||
<td style="width: 50%; vertical-align: top;" rowspan="2"><?php echo View::factory('node/schedule_summary')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('node/schedule_activity')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
</table>
|
27
application/views/node/schedule_activity.php
Normal file
27
application/views/node/schedule_activity.php
Normal file
@ -0,0 +1,27 @@
|
||||
<!-- $o = ORM::factory('NODE') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Schedule Activity</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Sched Start</td>
|
||||
<td>Act Start</td>
|
||||
<td>Schedule Name</td>
|
||||
<td>Status</td>
|
||||
<td>Completed</td>
|
||||
<td>Result</td>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($o->EVENT->find_all() as $eo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $eo->display('SCHEDULED_START'); ?></td>
|
||||
<td class="data"><?php echo HTML::nbsp($eo->display('ACTUAL_START')); ?></td>
|
||||
<td class="data"><?php echo $eo->display('SCHEDULE_NAME'); ?></td>
|
||||
<td class="data"><?php echo $eo->display('STATUS'); ?></td>
|
||||
<td class="data"><?php echo HTML::nbsp($eo->display('COMPLETED')); ?></td>
|
||||
<td class="data"><?php printf('%s %s',$eo->RESULT,$eo->display('REASON')); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
31
application/views/node/schedule_list.php
Normal file
31
application/views/node/schedule_list.php
Normal file
@ -0,0 +1,31 @@
|
||||
<!-- $o = ORM::factory('NODE') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">TSM Node Schedules</td>
|
||||
</tr>
|
||||
<?php if ($o->ASSOCIATION->find_all()) { ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Schedule</td>
|
||||
<td>Start Time</td>
|
||||
<td>Duration</td>
|
||||
<td>Repeat</td>
|
||||
<td>Valid Day</td>
|
||||
<td>Priority</td>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($o->ASSOCIATION->find_all() as $ao) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $ao->display('SCHEDULE_NAME'); ?></td>
|
||||
<td class="data"><?php echo $ao->SCHEDULE_CLIENT->display('STARTTIME'); ?></td>
|
||||
<td class="data"><?php printf('%s %s',$ao->SCHEDULE_CLIENT->DURATION,$ao->SCHEDULE_CLIENT->DURUNITS); ?></td>
|
||||
<td class="data"><?php printf('%s %s',$ao->SCHEDULE_CLIENT->PERIOD,$ao->SCHEDULE_CLIENT->PERUNITS); ?></td>
|
||||
<td class="data"><?php echo $ao->SCHEDULE_CLIENT->display('DAYOFWEEK'); ?></td>
|
||||
<td class="data"><?php echo $ao->SCHEDULE_CLIENT->display('PRIORITY'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } else { ?>
|
||||
<tr><td>There are no TSM schedules define for this Node.</td></tr>
|
||||
<?php } ?>
|
||||
</table>
|
25
application/views/node/schedule_summary.php
Normal file
25
application/views/node/schedule_summary.php
Normal file
@ -0,0 +1,25 @@
|
||||
<!-- $o = ORM::factory('NODE') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Summary Activity</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Start</td>
|
||||
<td>End</td>
|
||||
<td>Activity</td>
|
||||
<td>Schedule</td>
|
||||
<td>MB</td>
|
||||
</tr>
|
||||
<?php $i=0;foreach ($o->SUMMARY->find_all() as $so) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $so->display('START_TIME'); ?></td>
|
||||
<td class="data"><?php echo $so->display('END_TIME'); ?></td>
|
||||
<td class="data"><?php echo $so->display('ACTIVITY'); ?></td>
|
||||
<td class="data"><?php echo $so->display('SCHEDULE_NAME'); ?></td>
|
||||
<td class="data" style="text-align: right;"><?php printf('%3.2f',round($so->display('BYTES')/1024/1024,2)); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
49
application/views/node/session.php
Normal file
49
application/views/node/session.php
Normal file
@ -0,0 +1,49 @@
|
||||
<!-- $o = ORM::factory('NODE') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Last Session Performance Information</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;">Last Access</td>
|
||||
<td style="width: 60%;" class="data"><?php echo $o->display('LASTACC_TIME'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Sent</td>
|
||||
<td class="data"><?php echo number_format($o->LASTSESS_SENT/1024/1024,2); ?> MB</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Receive</td>
|
||||
<td class="data"><?php echo number_format($o->LASTSESS_RECVD/1024/1024,2); ?> MB</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Duration</td>
|
||||
<td class="data"><?php echo number_format($o->LASTSESS_DURATION/60,2); ?> min</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Session Idle Wait Percent</td>
|
||||
<td class="data"><?php echo $o->display('LASTSESS_IDLEWAIT'); ?>% (<?php echo number_format($o->LASTSESS_DURATION*($o->LASTSESS_IDLEWAIT/100),2); ?>s)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Session Comm Wait Percent</td>
|
||||
<td class="data"><?php echo $o->display('LASTSESS_COMMWAIT'); ?>% (<?php echo number_format($o->LASTSESS_DURATION*($o->LASTSESS_COMMWAIT/100),2); ?>s)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Session Media Wait Percent</td>
|
||||
<td class="data"><?php echo $o->display('LASTSESS_MEDIAWAIT'); ?>% (<?php echo number_format($o->LASTSESS_DURATION*($o->LASTSESS_MEDIAWAIT/100),2); ?>s)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Session Transfer Percent</td>
|
||||
<td class="data"><?php echo number_format($o->lasttransferpercent(),2); ?>% (<?php echo number_format($o->lasttransfertime(),2); ?>s)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Session Send Performance</td>
|
||||
<td class="data"><?php echo number_format($o->lastsendperformance(),2); ?> MB/s (<?php echo number_format($o->lastsendaggperformance(),2); ?> MB/s Aggregate)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Session Receive Performance</td>
|
||||
<td class="data"><?php echo number_format($o->lastreceiveperformance(),2); ?> MB/s (<?php echo number_format($o->lastreceiveaggperformance(),2); ?> MB/s Aggregate)</td>
|
||||
</tr>
|
||||
</table>
|
41
application/views/node/settings.php
Normal file
41
application/views/node/settings.php
Normal file
@ -0,0 +1,41 @@
|
||||
<!-- $o = ORM::factory('NODE') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Backup Settings</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;">Domain</td>
|
||||
<td style="width: 60%;" class="data"><?php echo HTML::anchor('domain/detail/'.$o->DOMAIN,$o->display('DOMAIN')); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Client Option Set</td>
|
||||
<td class="data"><?php echo $o->display('OPTION_SET'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Collocation Group</td>
|
||||
<td class="data"><?php echo $o->COLLOCGROUP_NAME ? $o->display('COLLOCGROUP_NAME') : 'Not Set'; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Client Compression</td>
|
||||
<td class="data"><?php echo $o->display('COMPRESSION'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TXN Group Max</td>
|
||||
<td class="data"><?php echo $o->txngroupmax(); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Delete Archives</td>
|
||||
<td class="data"><?php echo $o->display('ARCHDELETE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Delete Backups</td>
|
||||
<td class="data"><?php echo $o->display('BACKDELETE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Keep Mount Points</td>
|
||||
<td class="data"><?php echo $o->display('KEEP_MP'); ?> (<?php echo $o->display('MAX_MP_ALLOWED'); ?>)</td>
|
||||
</tr>
|
||||
</table>
|
32
application/views/node/stgpool_summary.php
Normal file
32
application/views/node/stgpool_summary.php
Normal file
@ -0,0 +1,32 @@
|
||||
<!-- $o = ORM::factory('NODE') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="2">Storage Summary</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">Storage Type</td>
|
||||
<td class="right">Vols</td>
|
||||
<td class="right">Files</td>
|
||||
<td class="right">MB</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data" colspan="2"><?php echo $type; ?></td>
|
||||
<td class="data-right"><?php echo count($o->getStorageTypeVols($type)); ?></td>
|
||||
<td class="data-right"><?php echo $o->getStorageTypeFiles($type); ?></td>
|
||||
<td class="data-right"><?php echo $o->getStorageTypeData($type); ?></td>
|
||||
</tr>
|
||||
<?php foreach ($o->getAllStoragePoolsType($type) as $spo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td> </td>
|
||||
<td><?php echo $spo; ?></td>
|
||||
<td class="right"><?php echo count($o->getStorageTypeVols($type,$spo)); ?></td>
|
||||
<td class="right"><?php echo $o->getStorageTypeFiles($type,$spo); ?></td>
|
||||
<td class="right"><?php echo $o->getStorageTypeData($type,$spo); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</table>
|
@ -1,3 +1,4 @@
|
||||
<!-- $o = ORM::factory('NODE') -->
|
||||
<table width="100%">
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<tr>
|
||||
@ -6,7 +7,7 @@
|
||||
<tr>
|
||||
<td class="head" colspan="2"><?php echo $ctype.' '._('Volumes'); ?></td>
|
||||
</tr>
|
||||
<?php if ($node->volumes($ctype)) { ?>
|
||||
<?php if ($o->volumes($ctype)) { ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
@ -22,7 +23,7 @@
|
||||
<td class="right">Other FS</td>
|
||||
<td class="right">Other Node</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($node->volumes($ctype) as $stgpool => $vols) {
|
||||
<?php $i=0; foreach ($o->volumes($ctype) as $stgpool => $vols) {
|
||||
$spo = ORM::factory('STGPOOL',$stgpool); ?>
|
||||
<tr class="subhead"><td colspan="10"><?php printf('%s: Reclaim: %s%%, Scratch Usage: %s/%s, Device Type: %s',$spo->STGPOOL_NAME,$spo->RECLAIM,$spo->NUMSCRATCHUSED,$spo->MAXSCRATCH,$spo->DEVCLASSES->DEVTYPE); ?></td></tr>
|
||||
<?php foreach ($vols as $vo) { ?>
|
@ -1,305 +1,15 @@
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td rowspan="2" style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Information for this Storage Pool</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;">Description</td>
|
||||
<td style="width: 60%;" class="data"><?php echo $so->display('DESCRIPTION'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Type</td>
|
||||
<td class="data"><?php echo $so->display('POOLTYPE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Est Capacity</td>
|
||||
<td class="data"><?php echo $so->display('EST_CAPACITY_MB'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Util %</td>
|
||||
<td class="data"><?php echo $so->display('PCT_UTILIZED'); ?></td>
|
||||
</tr>
|
||||
<?php if ($so->DEVCLASS != 'DISK') { ?>
|
||||
<tr>
|
||||
<td>Scratch Vols</td>
|
||||
<td class="data"><?php printf('%s/%s',$so->NUMSCRATCHUSED,$so->MAXSCRATCH); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Volume Reuse Delay</td>
|
||||
<td class="data"><?php echo $so->display('REUSEDELAY'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<td>Access</td>
|
||||
<td class="data"><?php echo $so->display('ACCESS'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Max Object Size</td>
|
||||
<td class="data"><?php echo $so->display('MAXSIZE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Collate</td>
|
||||
<td class="data"><?php echo $so->display('COLLOCATE'); ?></td>
|
||||
</tr>
|
||||
<?php if ($so->DEVCLASS === 'DISK') { ?>
|
||||
<tr>
|
||||
<td>Cache Migrated Files</td>
|
||||
<td class="data"><?php echo $so->display('CACHE'); ?></td>
|
||||
</tr>
|
||||
<?php } else { ?>
|
||||
<tr>
|
||||
<td>Reclaim %</td>
|
||||
<td class="data"><?php echo $so->display('RECLAIM'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Reclaim Processes</td>
|
||||
<td class="data"><?php echo $so->display('RECLAIMPROCESS'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Reclaim Storage Pool</td>
|
||||
<td class="data"><?php echo $so->display('RECLAIMSTGPOOL'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Next Pool</td>
|
||||
<?php if ($so->NEXTSTGPOOL AND $so->POOLTYPE === 'PRIMARY') { ?>
|
||||
<td class="data"><?php echo HTML::anchor('stgpool/detail/'.$so->NEXTSTGPOOL,$so->display('NEXTSTGPOOL')); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Migratable %</td>
|
||||
<td class="data"><?php echo $so->display('PCT_MIGR'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Hi/Low Migration</td>
|
||||
<td class="data"><?php printf('%s/%s',$so->HIGHMIG,$so->LOWMIG); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Migration Delay</td>
|
||||
<td class="data"><?php echo $so->display('MIGDELAY'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Migration Continue</td>
|
||||
<td class="data"><?php echo $so->display('MIGCONTINUE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Migration Time</td>
|
||||
<td class="data"><?php echo $so->display('MIGR_SECONDS'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Migration Data</td>
|
||||
<td class="data"><?php echo $so->display('MIGR_MB'); ?></td>
|
||||
<?php } elseif (! $so->NEXTSTGPOOL AND $so->POOLTYPE === 'PRIMARY') { ?>
|
||||
<td class="data"><?php echo _('No migration enabled'); ?></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Active Data Pools</td>
|
||||
<td class="data"><?php echo $so->display('ACTIVEDATASTGPOOLS'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Copy Pools</td>
|
||||
<td class="data"><?php echo $so->display('COPYSTGPOOLS'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Copy Continue</td>
|
||||
<td class="data"><?php echo $so->display('COPYCONTINUE'); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Device Class information</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;">Access</td>
|
||||
<td style="width: 60%;" class="data"><?php echo $so->DEVCLASSES->display('ACCESS_STRATEGY'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Device Type</td>
|
||||
<td class="data"><?php echo $so->DEVCLASSES->display('DEVTYPE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Format</td>
|
||||
<td class="data"><?php echo $so->DEVCLASSES->display('FORMAT'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Capacity</td>
|
||||
<td class="data"><?php echo $so->DEVCLASSES->display('CAPACITY'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mount Limit</td>
|
||||
<td class="data"><?php echo $so->DEVCLASSES->display('MOUNTLIMIT'); ?></td>
|
||||
</tr>
|
||||
<?php if ($so->DEVCLASSES->DEVTYPE == 'FILE') { ?>
|
||||
<tr>
|
||||
<td>Directory</td>
|
||||
<td class="data"><?php echo $so->DEVCLASSES->display('DIRECTORY'); ?></td>
|
||||
</tr>
|
||||
<?php } else { ?>
|
||||
<tr>
|
||||
<td>Library</td>
|
||||
<td class="data"><?php echo $so->DEVCLASSES->display('LIBRARY_NAME'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mount Wait</td>
|
||||
<td class="data"><?php echo $so->DEVCLASSES->display('MOUNTWAIT'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mount Retention</td>
|
||||
<td class="data"><?php echo $so->DEVCLASSES->display('MOUNTRETENTION'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;" rowspan="2"><?php echo View::factory('stgpool/info')->set('o',$o); ?></td>
|
||||
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('stgpool/devclass')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Management classes that directly store here</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="head" colspan="5">Backup Management Classes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Domain</td>
|
||||
<td>MgmtClass</td>
|
||||
<td>Copy Group</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($so->COPYGROUP_BU->where('SET_NAME','=','ACTIVE')->find_all() as $cgo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo HTML::anchor('domain/detail/'.$cgo->DOMAIN_NAME,$cgo->display('DOMAIN_NAME')); ?></td>
|
||||
<td class="data"><?php echo $cgo->display('CLASS_NAME'); ?></td>
|
||||
<td class="data"><?php echo $cgo->display('COPYGROUP_NAME'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="head" colspan="5">Archive Management Classes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Domain</td>
|
||||
<td>MgmtClass</td>
|
||||
<td>Copy Group</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($so->COPYGROUP_AR->where('SET_NAME','=','ACTIVE')->find_all() as $cgo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $cgo->display('DOMAIN_NAME'); ?></td>
|
||||
<td class="data"><?php echo $cgo->display('CLASS_NAME'); ?></td>
|
||||
<td class="data"><?php echo $cgo->display('COPYGROUP_NAME'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="head" colspan="5">HSM Management Classes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Domain</td>
|
||||
<td>MgmtClass</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($so->MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $mo->display('DOMAIN_NAME'); ?></td>
|
||||
<td class="data"><?php echo $mo->display('CLASS_NAME'); ?><?php echo $mo->DEFAULTMC == 'Yes' ? '*' : ''; ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('stgpool/mgmtclasses')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 100%; vertical-align: top;" colspan="2">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Volumes in this Storage Pool</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Volume</td>
|
||||
<td>Last Read Date</td>
|
||||
<td>Last Write Date</td>
|
||||
<td>Access</td>
|
||||
<td>Status</td>
|
||||
<td class="right">Errors R/W</td>
|
||||
<td class="right">Util %</td>
|
||||
<td class="right">Reclaim</td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<td class="right"><?php echo 'FS '.$btype; ?></td>
|
||||
<td class="right"><?php echo 'Node '.$btype; ?></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($so->VOLUME->find_all() as $vo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $vo->display('VOLUME_NAME'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('LAST_READ_DATE'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('LAST_WRITE_DATE'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('ACCESS'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('STATUS'); ?></td>
|
||||
<td class="data-right"><?php printf('%s/%s',$vo->READ_ERRORS,$vo->WRITE_ERRORS); ?></td>
|
||||
<td class="data-right"><abbr title="<?php echo $vo->display('EST_CAPACITY_MB'); ?>"><?php echo $vo->display('PCT_UTILIZED'); ?></abbr></td>
|
||||
<td class="data-right"><?php echo $vo->display('PCT_RECLAIM'); ?></td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<td class="data-right"><?php echo $vo->getFSOnVol($ctype); ?></td>
|
||||
<td class="data-right"><?php echo $vo->getNodesOnVol($ctype); ?></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 100%; vertical-align: top;" colspan="2"><?php echo View::factory('stgpool/volumes')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 100%; vertical-align: top;" colspan="2">
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Nodes with data in this Storage Pool</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Node</td>
|
||||
<td>Type</td>
|
||||
<td>File Space</td>
|
||||
<td>Num Files</td>
|
||||
<td>Physical</td>
|
||||
<td>Logical</td>
|
||||
<td>Reporting</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($so->OCC->find_all() as $oo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo HTML::anchor('node/detail/'.$oo->NODE_NAME,$oo->NODE_NAME); ?></td>
|
||||
<td class="data"><?php echo $oo->display('TYPE'); ?></td>
|
||||
<td class="data"><?php echo $oo->display('FILESPACE_NAME'); ?></td>
|
||||
<td class="data"><?php echo $oo->display('NUM_FILES'); ?></td>
|
||||
<td class="data"><?php echo $oo->display('PHYSICAL_MB'); ?></td>
|
||||
<td class="data"><?php echo $oo->display('LOGICAL_MB'); ?></td>
|
||||
<td class="data"><?php echo $oo->display('REPORTING_MB'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width: 100%; vertical-align: top;" colspan="2"><?php echo View::factory('stgpool/nodes')->set('o',$o); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
48
application/views/stgpool/devclass.php
Normal file
48
application/views/stgpool/devclass.php
Normal file
@ -0,0 +1,48 @@
|
||||
<!-- $o = ORM::factory('STGPOOL') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Device Class information</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;">Access</td>
|
||||
<td style="width: 60%;" class="data"><?php echo $o->DEVCLASSES->display('ACCESS_STRATEGY'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Device Type</td>
|
||||
<td class="data"><?php echo $o->DEVCLASSES->display('DEVTYPE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Format</td>
|
||||
<td class="data"><?php echo $o->DEVCLASSES->display('FORMAT'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Capacity</td>
|
||||
<td class="data"><?php echo $o->DEVCLASSES->display('CAPACITY'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mount Limit</td>
|
||||
<td class="data"><?php echo $o->DEVCLASSES->display('MOUNTLIMIT'); ?></td>
|
||||
</tr>
|
||||
<?php if ($o->DEVCLASSES->DEVTYPE == 'FILE') { ?>
|
||||
<tr>
|
||||
<td>Directory</td>
|
||||
<td class="data"><?php echo $o->DEVCLASSES->display('DIRECTORY'); ?></td>
|
||||
</tr>
|
||||
<?php } else { ?>
|
||||
<tr>
|
||||
<td>Library</td>
|
||||
<td class="data"><?php echo $o->DEVCLASSES->display('LIBRARY_NAME'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mount Wait</td>
|
||||
<td class="data"><?php echo $o->DEVCLASSES->display('MOUNTWAIT'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mount Retention</td>
|
||||
<td class="data"><?php echo $o->DEVCLASSES->display('MOUNTRETENTION'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
116
application/views/stgpool/info.php
Normal file
116
application/views/stgpool/info.php
Normal file
@ -0,0 +1,116 @@
|
||||
<!-- $o = ORM::factory('STGPOOL') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Information for this Storage Pool</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 40%;">Description</td>
|
||||
<td style="width: 60%;" class="data"><?php echo $o->display('DESCRIPTION'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Type</td>
|
||||
<td class="data"><?php echo $o->display('POOLTYPE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Est Capacity</td>
|
||||
<td class="data"><?php echo $o->display('EST_CAPACITY_MB'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Util %</td>
|
||||
<td class="data"><?php echo $o->display('PCT_UTILIZED'); ?></td>
|
||||
</tr>
|
||||
<?php if ($o->DEVCLASS != 'DISK') { ?>
|
||||
<tr>
|
||||
<td>Scratch Vols</td>
|
||||
<td class="data"><?php printf('%s/%s',$o->NUMSCRATCHUSED,$o->MAXSCRATCH); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Volume Reuse Delay</td>
|
||||
<td class="data"><?php echo $o->display('REUSEDELAY'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<td>Access</td>
|
||||
<td class="data"><?php echo $o->display('ACCESS'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Max Object Size</td>
|
||||
<td class="data"><?php echo $o->display('MAXSIZE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Collate</td>
|
||||
<td class="data"><?php echo $o->display('COLLOCATE'); ?></td>
|
||||
</tr>
|
||||
<?php if ($o->DEVCLASS === 'DISK') { ?>
|
||||
<tr>
|
||||
<td>Cache Migrated Files</td>
|
||||
<td class="data"><?php echo $o->display('CACHE'); ?></td>
|
||||
</tr>
|
||||
<?php } else { ?>
|
||||
<tr>
|
||||
<td>Reclaim %</td>
|
||||
<td class="data"><?php echo $o->display('RECLAIM'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Reclaim Processes</td>
|
||||
<td class="data"><?php echo $o->display('RECLAIMPROCESS'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Reclaim Storage Pool</td>
|
||||
<td class="data"><?php echo $o->display('RECLAIMSTGPOOL'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Next Pool</td>
|
||||
<?php if ($o->NEXTSTGPOOL AND $o->POOLTYPE === 'PRIMARY') { ?>
|
||||
<td class="data"><?php echo HTML::anchor('stgpool/detail/'.$o->NEXTSTGPOOL,$o->display('NEXTSTGPOOL')); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Migratable %</td>
|
||||
<td class="data"><?php echo $o->display('PCT_MIGR'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Hi/Low Migration</td>
|
||||
<td class="data"><?php printf('%s/%s',$o->HIGHMIG,$o->LOWMIG); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Migration Delay</td>
|
||||
<td class="data"><?php echo $o->display('MIGDELAY'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Migration Continue</td>
|
||||
<td class="data"><?php echo $o->display('MIGCONTINUE'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Migration Time</td>
|
||||
<td class="data"><?php echo $o->display('MIGR_SECONDS'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Migration Data</td>
|
||||
<td class="data"><?php echo $o->display('MIGR_MB'); ?></td>
|
||||
<?php } elseif (! $o->NEXTSTGPOOL AND $o->POOLTYPE === 'PRIMARY') { ?>
|
||||
<td class="data"><?php echo _('No migration enabled'); ?></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Active Data Pools</td>
|
||||
<td class="data"><?php echo $o->display('ACTIVEDATASTGPOOLS'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Copy Pools</td>
|
||||
<td class="data"><?php echo $o->display('COPYSTGPOOLS'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Copy Continue</td>
|
||||
<td class="data"><?php echo $o->display('COPYCONTINUE'); ?></td>
|
||||
</tr>
|
||||
</table>
|
58
application/views/stgpool/mgmtclasses.php
Normal file
58
application/views/stgpool/mgmtclasses.php
Normal file
@ -0,0 +1,58 @@
|
||||
<!-- $o = ORM::factory('STGPOOL') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Management classes that directly store here</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="head" colspan="5">Backup Management Classes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Domain</td>
|
||||
<td>MgmtClass</td>
|
||||
<td>Copy Group</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($o->COPYGROUP_BU->where('SET_NAME','=','ACTIVE')->find_all() as $cgo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo HTML::anchor('domain/detail/'.$cgo->DOMAIN_NAME,$cgo->display('DOMAIN_NAME')); ?></td>
|
||||
<td class="data"><?php echo $cgo->display('CLASS_NAME'); ?></td>
|
||||
<td class="data"><?php echo $cgo->display('COPYGROUP_NAME'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="head" colspan="5">Archive Management Classes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Domain</td>
|
||||
<td>MgmtClass</td>
|
||||
<td>Copy Group</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($o->COPYGROUP_AR->where('SET_NAME','=','ACTIVE')->find_all() as $cgo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $cgo->display('DOMAIN_NAME'); ?></td>
|
||||
<td class="data"><?php echo $cgo->display('CLASS_NAME'); ?></td>
|
||||
<td class="data"><?php echo $cgo->display('COPYGROUP_NAME'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="head" colspan="5">HSM Management Classes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Domain</td>
|
||||
<td>MgmtClass</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($o->MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $mo->display('DOMAIN_NAME'); ?></td>
|
||||
<td class="data"><?php echo $mo->display('CLASS_NAME'); ?><?php echo $mo->DEFAULTMC == 'Yes' ? '*' : ''; ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
29
application/views/stgpool/nodes.php
Normal file
29
application/views/stgpool/nodes.php
Normal file
@ -0,0 +1,29 @@
|
||||
<!-- $o = ORM::factory('STGPOOL') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Nodes with data in this Storage Pool</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Node</td>
|
||||
<td>Type</td>
|
||||
<td>File Space</td>
|
||||
<td>Num Files</td>
|
||||
<td>Physical</td>
|
||||
<td>Logical</td>
|
||||
<td>Reporting</td>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($o->OCC->find_all() as $oo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo HTML::anchor('node/detail/'.$oo->NODE_NAME,$oo->NODE_NAME); ?></td>
|
||||
<td class="data"><?php echo $oo->display('TYPE'); ?></td>
|
||||
<td class="data"><?php echo $oo->display('FILESPACE_NAME'); ?></td>
|
||||
<td class="data"><?php echo $oo->display('NUM_FILES'); ?></td>
|
||||
<td class="data"><?php echo $oo->display('PHYSICAL_MB'); ?></td>
|
||||
<td class="data"><?php echo $oo->display('LOGICAL_MB'); ?></td>
|
||||
<td class="data"><?php echo $oo->display('REPORTING_MB'); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
39
application/views/stgpool/volumes.php
Normal file
39
application/views/stgpool/volumes.php
Normal file
@ -0,0 +1,39 @@
|
||||
<!-- $o = ORM::factory('STGPOOL') -->
|
||||
<table class="box-full">
|
||||
<tr>
|
||||
<td class="head" colspan="5">Volumes in this Storage Pool</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Volume</td>
|
||||
<td>Last Read Date</td>
|
||||
<td>Last Write Date</td>
|
||||
<td>Access</td>
|
||||
<td>Status</td>
|
||||
<td class="right">Errors R/W</td>
|
||||
<td class="right">Util %</td>
|
||||
<td class="right">Reclaim</td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<td class="right"><?php echo 'FS '.$btype; ?></td>
|
||||
<td class="right"><?php echo 'Node '.$btype; ?></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php $i=0; foreach ($o->VOLUME->find_all() as $vo) { ?>
|
||||
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
|
||||
<td class="data"><?php echo $vo->display('VOLUME_NAME'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('LAST_READ_DATE'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('LAST_WRITE_DATE'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('ACCESS'); ?></td>
|
||||
<td class="data"><?php echo $vo->display('STATUS'); ?></td>
|
||||
<td class="data-right"><?php printf('%s/%s',$vo->READ_ERRORS,$vo->WRITE_ERRORS); ?></td>
|
||||
<td class="data-right"><abbr title="<?php echo $vo->display('EST_CAPACITY_MB'); ?>"><?php echo $vo->display('PCT_UTILIZED'); ?></abbr></td>
|
||||
<td class="data-right"><?php echo $vo->display('PCT_RECLAIM'); ?></td>
|
||||
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
|
||||
<td class="data-right"><?php echo $vo->getFSOnVol($ctype); ?></td>
|
||||
<td class="data-right"><?php echo $vo->getNodesOnVol($ctype); ?></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
Reference in New Issue
Block a user