diff --git a/application/classes/Controller/Domain.php b/application/classes/Controller/Domain.php
index ce80f07..e1e6465 100644
--- a/application/classes/Controller/Domain.php
+++ b/application/classes/Controller/Domain.php
@@ -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)
+ ));
}
}
?>
diff --git a/application/classes/Controller/Library.php b/application/classes/Controller/Library.php
index 302493e..7e3b936 100644
--- a/application/classes/Controller/Library.php
+++ b/application/classes/Controller/Library.php
@@ -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)
+ ));
}
}
?>
diff --git a/application/classes/Controller/Node.php b/application/classes/Controller/Node.php
index 247fe1e..dda1f3d 100644
--- a/application/classes/Controller/Node.php
+++ b/application/classes/Controller/Node.php
@@ -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),
));
}
}
diff --git a/application/classes/Controller/Stgpool.php b/application/classes/Controller/Stgpool.php
index 3410f85..ec2eca6 100644
--- a/application/classes/Controller/Stgpool.php
+++ b/application/classes/Controller/Stgpool.php
@@ -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)
));
}
}
diff --git a/application/classes/Database/TSM/Show.php b/application/classes/Database/TSM/Show.php
index 3e6bd80..04aab87 100644
--- a/application/classes/Database/TSM/Show.php
+++ b/application/classes/Database/TSM/Show.php
@@ -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(
diff --git a/application/classes/Model/LIBRARY.php b/application/classes/Model/LIBRARY.php
index 1f2a23a..d93e564 100644
--- a/application/classes/Model/LIBRARY.php
+++ b/application/classes/Model/LIBRARY.php
@@ -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.
diff --git a/application/classes/Model/LIBVOLUME.php b/application/classes/Model/LIBVOLUME.php
index 3f77f93..2664a83 100644
--- a/application/classes/Model/LIBVOLUME.php
+++ b/application/classes/Model/LIBVOLUME.php
@@ -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 '';
}
diff --git a/application/classes/Slot.php b/application/classes/Slot.php
index 278c293..e408c1e 100644
--- a/application/classes/Slot.php
+++ b/application/classes/Slot.php
@@ -45,5 +45,9 @@ class Slot {
else
return $this->barcodelabel;
}
+
+ public function usage() {
+ return $this->status == 'Empty' ? $this->status : $this->LIBVOLUME->volusage();
+ }
}
?>
diff --git a/application/views/domain/detail.php b/application/views/domain/detail.php
index a509017..d4b0398 100644
--- a/application/views/domain/detail.php
+++ b/application/views/domain/detail.php
@@ -1,209 +1,29 @@
-
-
-
- Nodes in this Domain |
-
-
- |
-
-
- Node |
- Version |
- OS |
- Last Access |
- Last IP Addr |
- Client Opt |
- load('config')->tsmdatatypes as $btype => $ctype) { ?>
- |
-
- load('config')->tsmpooltypes as $type) { ?>
- (Vol/Fil/Dat) |
-
-
- NODE->find_all() as $no) { ?>
-
- NODE_NAME,$no->NODE_NAME); ?> |
- tsmclientversion(); ?> |
- platform(); ?> |
- display('LASTACC_TIME'); ?> |
- display('TCP_ADDRESS'); ?> |
- display('OPTION_SET'); ?> |
- load('config')->tsmdatatypes as $btype => $ctype) { ?>
- hasData($btype) ? 'Y' : 'N'; ?> |
-
- load('config')->tsmpooltypes as $type) { ?>
- getStorageTypeVols($type)); ?> |
- getStorageTypeFiles($type); ?> |
- getStorageTypeData($type); ?> |
-
-
-
-
- |
+ set('o',$o); ?> |
|
-
-
-
- Storage Pools used by nodes in this Domain |
-
-
- |
-
-
- Storage Pool |
- Scr Use |
- Scr Avl |
- Access |
- Rec % |
- Util % |
- Migr % |
- High/Low |
- Next |
- Nodes |
- Vols |
- Files |
- MB |
-
- load('config')->tsmdatatypes as $btype => $ctype) { ?>
-
- |
-
- load('config')->tsmpooltypes as $type) { ?>
-
- |
- |
-
- getStoragePoolsType($btype,$type) as $spo) { ?>
-
- |
- STGPOOL_NAME,$spo->display('STGPOOL_NAME')); ?> |
- display('NUMSCRATCHUSED'); ?> |
- display('MAXSCRATCH'); ?> |
- display('ACCESS'); ?> |
- display('RECLAIM'); ?> |
- display('PCT_UTILIZED'); ?> |
- display('PCT_MIGR'); ?> |
- HIGHMIG,$spo->LOWMIG); ?> |
- NEXTSTGPOOL ? HTML::anchor('stgpool/detail/'.$spo->NEXTSTGPOOL,$spo->display('NEXTSTGPOOL')) : ' '; ?> |
- getStorageModeNodes($btype,$type,$spo)); ?> |
- getStorageModeVols($ctype,$type,$spo)); ?> |
- getStorageModeFiles($btype,$type,$spo); ?> |
- getStorageModeData($btype,$type,$spo); ?> |
-
-
-
-
-
- |
+ set('o',$o); ?> |
|
-
-
-
- Sequential Volumes needed to restore Data for Nodes in this Domain |
-
-
- |
-
-
- Volume |
- Status |
- Access |
- Scr |
- Pct % |
- Rec % |
- Mounted |
- R/W Err |
- FS |
- Nodes |
- Location |
-
- load('config')->tsmdatatypes as $btype => $ctype) { ?>
-
- |
-
- load('config')->tsmpooltypes as $type) { ?>
-
- |
- |
-
- getStoragePoolsType($btype,$type) as $spo) { ?>
-
- |
- DISPLAY('STGPOOL_NAME'); ?> |
-
- getStorageModeVols($ctype,$type,$spo) as $vuo) { ?>
-
- |
- VOLUME_NAME; ?> |
- VOLUME->display('STATUS'); ?> |
- VOLUME->display('ACCESS'); ?> |
- VOLUME->isScratch() ? 'Y' : 'N'; ?> |
- VOLUME->display('PCT_UTILIZED'); ?> |
- VOLUME->display('PCT_RECLAIM'); ?> |
- VOLUME->display('TIMES_MOUNTED'); ?> |
- VOLUME->READ_ERRORS,$vuo->VOLUME->WRITE_ERRORS); ?> |
- VOLUME->getFSOnVol($ctype); ?> |
- VOLUME->getNodesOnVol($ctype); ?> |
- VOLUME->location(); ?> |
-
-
-
-
-
-
- |
+ set('o',$o); ?> |
|
-
- set('domain',$do); ?>
- |
+ set('o',$o); ?> |
|
-
-
-
- Schedules used in this Domain |
-
-
- |
-
-
- Schedule |
- Start Time |
- Duration |
- Repeat |
- Valid Day |
- Priority |
- Nodes |
-
- SCHEDULE_CLIENT->find_all() as $so) { ?>
-
- display('SCHEDULE_NAME'); ?> |
- display('STARTTIME'); ?> |
- DURATION,$so->DURUNITS); ?> |
- PERIOD,$so->PERUNITS); ?> |
- display('DAYOFWEEK'); ?> |
- display('PRIORITY'); ?> |
- getNodes()); ?> |
-
-
-
- |
+ set('o',$o); ?> |
diff --git a/application/views/domain/nodes.php b/application/views/domain/nodes.php
new file mode 100644
index 0000000..e437fa9
--- /dev/null
+++ b/application/views/domain/nodes.php
@@ -0,0 +1,41 @@
+
+
+
+ Nodes in this Domain |
+
+
+ |
+
+
+ Node |
+ Version |
+ OS |
+ Last Access |
+ Last IP Addr |
+ Client Opt |
+ load('config')->tsmdatatypes as $btype => $ctype) { ?>
+ |
+
+ load('config')->tsmpooltypes as $type) { ?>
+ (Vol/Fil/Dat) |
+
+
+ NODE->find_all() as $no) { ?>
+
+ NODE_NAME,$no->NODE_NAME); ?> |
+ tsmclientversion(); ?> |
+ platform(); ?> |
+ display('LASTACC_TIME'); ?> |
+ display('TCP_ADDRESS'); ?> |
+ display('OPTION_SET'); ?> |
+ load('config')->tsmdatatypes as $btype => $ctype) { ?>
+ hasData($btype) ? 'Y' : 'N'; ?> |
+
+ load('config')->tsmpooltypes as $type) { ?>
+ getStorageTypeVols($type)); ?> |
+ getStorageTypeFiles($type); ?> |
+ getStorageTypeData($type); ?> |
+
+
+
+
diff --git a/application/views/node/policy.php b/application/views/domain/policy.php
similarity index 87%
rename from application/views/node/policy.php
rename to application/views/domain/policy.php
index 1af1dc6..48b6d9b 100644
--- a/application/views/node/policy.php
+++ b/application/views/domain/policy.php
@@ -1,3 +1,4 @@
+
Policy Settings |
@@ -16,7 +17,7 @@
Ver Del |
Frequency |
- MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
+ MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
display('CLASS_NAME'); ?>DEFAULTMC=='Yes' ? ' *' : ''; ?> |
display('MIGDESTINATION'); ?> |
@@ -37,7 +38,7 @@
Destination |
Retain |
- MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
+ MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
display('CLASS_NAME'); ?>DEFAULTMC=='Yes' ? ' *' : ''; ?> |
COPYGROUP_AR->display('DESTINATION'); ?> |
diff --git a/application/views/domain/schedules.php b/application/views/domain/schedules.php
new file mode 100644
index 0000000..a64010b
--- /dev/null
+++ b/application/views/domain/schedules.php
@@ -0,0 +1,29 @@
+
+
+
+ Schedules used in this Domain |
+
+
+ |
+
+
+ Schedule |
+ Start Time |
+ Duration |
+ Repeat |
+ Valid Day |
+ Priority |
+ Nodes |
+
+ SCHEDULE_CLIENT->find_all() as $so) { ?>
+
+ display('SCHEDULE_NAME'); ?> |
+ display('STARTTIME'); ?> |
+ DURATION,$so->DURUNITS); ?> |
+ PERIOD,$so->PERUNITS); ?> |
+ display('DAYOFWEEK'); ?> |
+ display('PRIORITY'); ?> |
+ getNodes()); ?> |
+
+
+
diff --git a/application/views/domain/stgpools.php b/application/views/domain/stgpools.php
new file mode 100644
index 0000000..f69b34b
--- /dev/null
+++ b/application/views/domain/stgpools.php
@@ -0,0 +1,53 @@
+
+
+
+ Storage Pools used by nodes in this Domain |
+
+
+ |
+
+
+ Storage Pool |
+ Scr Use |
+ Scr Avl |
+ Access |
+ Rec % |
+ Util % |
+ Migr % |
+ High/Low |
+ Next |
+ Nodes |
+ Vols |
+ Files |
+ MB |
+
+ load('config')->tsmdatatypes as $btype => $ctype) { ?>
+
+ |
+
+ load('config')->tsmpooltypes as $type) { ?>
+
+ |
+ |
+
+ getStoragePoolsType($btype,$type) as $spo) { ?>
+
+ |
+ STGPOOL_NAME,$spo->display('STGPOOL_NAME')); ?> |
+ display('NUMSCRATCHUSED'); ?> |
+ display('MAXSCRATCH'); ?> |
+ display('ACCESS'); ?> |
+ display('RECLAIM'); ?> |
+ display('PCT_UTILIZED'); ?> |
+ display('PCT_MIGR'); ?> |
+ HIGHMIG,$spo->LOWMIG); ?> |
+ NEXTSTGPOOL ? HTML::anchor('stgpool/detail/'.$spo->NEXTSTGPOOL,$spo->display('NEXTSTGPOOL')) : ' '; ?> |
+ getStorageModeNodes($btype,$type,$spo)); ?> |
+ getStorageModeVols($ctype,$type,$spo)); ?> |
+ getStorageModeFiles($btype,$type,$spo); ?> |
+ getStorageModeData($btype,$type,$spo); ?> |
+
+
+
+
+
diff --git a/application/views/domain/volumes.php b/application/views/domain/volumes.php
new file mode 100644
index 0000000..3b4fe30
--- /dev/null
+++ b/application/views/domain/volumes.php
@@ -0,0 +1,55 @@
+
+
+
+ Sequential Volumes needed to restore Data for Nodes in this Domain |
+
+
+ |
+
+
+ Volume |
+ Status |
+ Access |
+ Scr |
+ Pct % |
+ Rec % |
+ Mounted |
+ R/W Err |
+ FS |
+ Nodes |
+ Location |
+
+ load('config')->tsmdatatypes as $btype => $ctype) { ?>
+
+ |
+
+ load('config')->tsmpooltypes as $type) { ?>
+
+ |
+ |
+
+ getStoragePoolsType($btype,$type) as $spo) { ?>
+
+ |
+ DISPLAY('STGPOOL_NAME'); ?> |
+
+ getStorageModeVols($ctype,$type,$spo) as $vuo) { ?>
+
+ |
+ VOLUME_NAME; ?> |
+ VOLUME->display('STATUS'); ?> |
+ VOLUME->display('ACCESS'); ?> |
+ VOLUME->isScratch() ? 'Y' : 'N'; ?> |
+ VOLUME->display('PCT_UTILIZED'); ?> |
+ VOLUME->display('PCT_RECLAIM'); ?> |
+ VOLUME->display('TIMES_MOUNTED'); ?> |
+ VOLUME->READ_ERRORS,$vuo->VOLUME->WRITE_ERRORS); ?> |
+ VOLUME->getFSOnVol($ctype); ?> |
+ VOLUME->getNodesOnVol($ctype); ?> |
+ VOLUME->location(); ?> |
+
+
+
+
+
+
diff --git a/application/views/library/detail.php b/application/views/library/detail.php
index 703c5b8..d2791a1 100644
--- a/application/views/library/detail.php
+++ b/application/views/library/detail.php
@@ -1,257 +1,15 @@
-
-
-
- Information for this Library |
-
-
- |
-
-
- Name |
- display('LIBRARY_NAME'),$slots->ProductId); ?> |
-
-
- Serial Number |
- display('LIBRARY_SERIAL'); ?> |
-
-
- Type |
- display('LIBRARY_TYPE'); ?> |
-
-
- Drives |
- Drives; ?> |
-
-
- Slots/Changers |
- Slots-$slots->Changers,$slots->Changers); ?> |
-
-
- Shared |
- display('SHARED'); ?> |
-
-
- LAN Free |
- display('LANFREE'); ?> |
-
-
- Auto Label |
- display('AUTOLABEL'); ?> |
-
-
- Paths |
-
-
- PATH->find_all() as $po) { ?>
-
- display('SOURCE_NAME'); ?> |
- display('SOURCE_TYPE'); ?> |
- display('DESTINATION_TYPE'); ?> |
- display('DEVICE'); ?> |
-
-
- |
-
-
-
- |
-
-
-
- Library Volume Summary |
-
-
- |
-
-
- Empty Slots |
- numemptyslot(); ?> |
-
-
- Not Checked In |
- notcheckedinvol()); ?> |
-
-
- Scratch |
- scratchvol()); ?> |
-
-
- Read Only |
- readonlyvol()); ?> |
-
-
- ¹ Stale Storage Pool Volumes (load('config')->tsmtapeage; ?> days) |
- stalevol()); ?> |
-
-
- ² Removable Volumes |
- removablelibvol()); ?> |
-
-
- |
-
-
- Storage Pool Volumes for this Library |
-
-
- |
-
-
- Storage Type |
-
- load('config')->tsmvolstatus as $status) { ?>
- |
-
-
-
-
- DB VOLS |
-
- dbvolsloc($inout)); ?> |
- |
-
-
- load('config')->tsmdbtypes as $type) { ?>
-
- |
- |
-
- dbvolstype($inout,$type)); ?> |
- |
-
-
-
- load('config')->tsmpooltypes as $type) { ?>
-
- |
-
- load('config')->tsmvolstatus as $status) { ?>
- volstype($type,$inout,$status)); ?> |
-
-
-
- storagepoolstype($type) as $spo) { ?>
-
- |
- |
-
- load('config')->tsmvolstatus as $status) { ?>
- libvolstype($inout,$status)); ?> |
-
-
-
-
-
-
- |
+ set('o',$o); ?> |
+ set('o',$o); ?> |
-
-
-
- Drives in this Library |
-
-
- |
-
-
- Name |
- Serial Number |
- Online |
- State |
- Volume |
-
- DRIVE->find_all() as $do) { ?>
-
- display('DRIVE_NAME'); ?> |
- display('DRIVE_SERIAL'); ?> |
- display('ONLINE'); ?> |
- display('DRIVE_STATE'); ?> |
- display('VOLUME_NAME'); ?> |
-
- PATH->find_all() as $po) { ?>
-
- |
- display('SOURCE_NAME'); ?> |
- display('SOURCE_TYPE'); ?> |
- display('DESTINATION_TYPE'); ?> |
- display('DEVICE'); ?> |
-
-
-
-
- |
+ set('o',$o); ?> |
-
-
-
- Volumes in this Library |
-
-
- |
-
-
- Barcode |
- Usage |
- Status/Access |
- Utilisation |
- Reclaim |
- Last Read |
- Last Write |
- Slot |
- Library Access |
-
-
-
- barcodelabel().($slot->LIBVOLUME->VOLUME->recycle() ? ' ¹' : '').($slot->LIBVOLUME->removable() ? ' ²' : '')); ?> |
- LIBVOLUME->volusage(); ?> |
- LIBVOLUME->status()); ?> |
- LIBVOLUME->VOLUME->display('PCT_UTILIZED'); ?> |
- LIBVOLUME->VOLUME->display('PCT_RECLAIM'); ?> |
- LIBVOLUME->VOLUME->display('LAST_READ_DATE'); ?> |
- LIBVOLUME->lastwrite()); ?> |
- |
- LIBVOLUME->access()); ?> |
-
-
-
- |
+ set('o',$o); ?> |
-
-
-
- Volumes out of this Library |
-
-
- |
-
-
- Volume |
- Usage |
- Status/Access |
- Utilisation |
- Reclaim |
- Last Read |
- Last Write |
- Location |
-
- volsnotinlib() as $vo) { ?>
-
- recycle() ? ' ¹' : ''); ?> |
- STGPOOL_NAME; ?> |
- display('STATUS'),$vo->display('ACCESS')); ?> |
- display('PCT_UTILIZED'); ?> |
- display('PCT_RECLAIM'); ?> |
- display('LAST_READ_DATE'); ?> |
- display('LAST_WRITE_DATE'); ?> |
- display('LOCATION'); ?> |
-
-
-
- |
+ set('o',$o); ?> |
diff --git a/application/views/library/drives.php b/application/views/library/drives.php
new file mode 100644
index 0000000..9c068c6
--- /dev/null
+++ b/application/views/library/drives.php
@@ -0,0 +1,34 @@
+
+
+
+ Drives in this Library |
+
+
+ |
+
+
+ Name |
+ Serial Number |
+ Online |
+ State |
+ Volume |
+
+ DRIVE->find_all() as $do) { ?>
+
+ display('DRIVE_NAME'); ?> |
+ display('DRIVE_SERIAL'); ?> |
+ display('ONLINE'); ?> |
+ display('DRIVE_STATE'); ?> |
+ display('VOLUME_NAME'); ?> |
+
+ PATH->find_all() as $po) { ?>
+
+ |
+ display('SOURCE_NAME'); ?> |
+ display('SOURCE_TYPE'); ?> |
+ display('DESTINATION_TYPE'); ?> |
+ display('DEVICE'); ?> |
+
+
+
+
diff --git a/application/views/library/info.php b/application/views/library/info.php
new file mode 100644
index 0000000..e2ac66c
--- /dev/null
+++ b/application/views/library/info.php
@@ -0,0 +1,57 @@
+
+
+
+
+ Information for this Library |
+
+
+ |
+
+
+ Name |
+ display('LIBRARY_NAME'),$slots->ProductId); ?> |
+
+
+ Serial Number |
+ display('LIBRARY_SERIAL'); ?> |
+
+
+ Type |
+ display('LIBRARY_TYPE'); ?> |
+
+
+ Drives |
+ Drives; ?> |
+
+
+ Slots/Changers |
+ Slots-$slots->Changers,$slots->Changers); ?> |
+
+
+ Shared |
+ display('SHARED'); ?> |
+
+
+ LAN Free |
+ display('LANFREE'); ?> |
+
+
+ Auto Label |
+ display('AUTOLABEL'); ?> |
+
+
+ Paths |
+
+
+ PATH->find_all() as $po) { ?>
+
+ display('SOURCE_NAME'); ?> |
+ display('SOURCE_TYPE'); ?> |
+ display('DESTINATION_TYPE'); ?> |
+ display('DEVICE'); ?> |
+
+
+ |
+
+
+
diff --git a/application/views/library/summary.php b/application/views/library/summary.php
new file mode 100644
index 0000000..892a9c9
--- /dev/null
+++ b/application/views/library/summary.php
@@ -0,0 +1,89 @@
+
+
+
+
+ Library Volume Summary |
+
+
+ |
+
+
+ Empty Slots |
+ numemptyslot(); ?> |
+
+
+ Not Checked In |
+ notcheckedinvol()); ?> |
+
+
+ Scratch |
+ scratchvol()); ?> |
+
+
+ Read Only |
+ readonlyvol()); ?> |
+
+
+ ¹ Stale Volumes (load('config')->tsmtapeage; ?> days) |
+ stalevol()); ?> |
+
+
+ ² Removable Volumes |
+ removablelibvol()); ?> |
+
+
+ |
+
+
+ Storage Pool Volumes for this Library |
+
+
+ |
+
+
+ Storage Type |
+
+ load('config')->tsmvolstatus as $status) { ?>
+ |
+
+
+
+
+ DB VOLS |
+
+ dbvolsloc($inout)); ?> |
+ |
+
+
+ load('config')->tsmdbtypes as $type) { ?>
+
+ |
+ |
+
+ dbvolstype($inout,$type)); ?> |
+ |
+
+
+
+ load('config')->tsmpooltypes as $type) { ?>
+
+ |
+
+ load('config')->tsmvolstatus as $status) { ?>
+ volstype($type,$inout,$status)); ?> |
+
+
+
+ storagepoolstype($type) as $spo) { ?>
+
+ |
+ |
+
+ load('config')->tsmvolstatus as $status) { ?>
+ libvolstype($inout,$status)); ?> |
+
+
+
+
+
+
diff --git a/application/views/library/volumes-in.php b/application/views/library/volumes-in.php
new file mode 100644
index 0000000..ce50893
--- /dev/null
+++ b/application/views/library/volumes-in.php
@@ -0,0 +1,33 @@
+
+
+
+ Volumes in this Library |
+
+
+ |
+
+
+ Barcode |
+ Usage |
+ Status/Access |
+ Utilisation |
+ Reclaim |
+ Last Read |
+ Last Write |
+ Slot |
+ Library Access |
+
+ slots() as $slot) { ?>
+
+ barcodelabel().($slot->LIBVOLUME->VOLUME->recycle() ? ' ¹' : '').($slot->LIBVOLUME->removable() ? ' ²' : '')); ?> |
+ usage(); ?> |
+ LIBVOLUME->status()); ?> |
+ LIBVOLUME->VOLUME->display('PCT_UTILIZED'); ?> |
+ LIBVOLUME->VOLUME->display('PCT_RECLAIM'); ?> |
+ LIBVOLUME->VOLUME->display('LAST_READ_DATE'); ?> |
+ LIBVOLUME->lastwrite()); ?> |
+ |
+ LIBVOLUME->access()); ?> |
+
+
+
diff --git a/application/views/library/volumes-out.php b/application/views/library/volumes-out.php
new file mode 100644
index 0000000..bb8611a
--- /dev/null
+++ b/application/views/library/volumes-out.php
@@ -0,0 +1,31 @@
+
+
+
+ Volumes out of this Library |
+
+
+ |
+
+
+ Volume |
+ Usage |
+ Status/Access |
+ Utilisation |
+ Reclaim |
+ Last Read |
+ Last Write |
+ Location |
+
+ volsnotinlib() as $vo) { ?>
+
+ recycle() ? ' ¹' : ''); ?> |
+ STGPOOL_NAME; ?> |
+ display('STATUS'),$vo->display('ACCESS')); ?> |
+ display('PCT_UTILIZED'); ?> |
+ display('PCT_RECLAIM'); ?> |
+ display('LAST_READ_DATE'); ?> |
+ display('LAST_WRITE_DATE'); ?> |
+ display('LOCATION'); ?> |
+
+
+
diff --git a/application/views/node/cloptset.php b/application/views/node/cloptset.php
new file mode 100644
index 0000000..a0f5005
--- /dev/null
+++ b/application/views/node/cloptset.php
@@ -0,0 +1,29 @@
+
+
+
+ Server Side Client Options |
+
+
+ |
+
+
+ Client Option |
+ Seq # |
+ Setting |
+ Forced |
+
+ OPTION_SET) { ?>
+ CLIENTOPT->find_all() as $coo) { ?>
+
+ display('OPTION_NAME'); ?> |
+ display('SEQNUMBER'); ?> |
+ display('OPTION_VALUE'); ?> |
+ display('FORCE'); ?> |
+
+
+
+
+ This node is not configured for any server side Client Options |
+
+
+
diff --git a/application/views/node/detail.php b/application/views/node/detail.php
index 099ae89..d69295d 100644
--- a/application/views/node/detail.php
+++ b/application/views/node/detail.php
@@ -1,184 +1,14 @@
-
-
-
- Node Information |
-
-
- |
-
-
- Node Name |
- display('NODE_NAME'); ?> (URL ? HTML::anchor($node->URL,$node->display('TCP_ADDRESS')) : $node->display('TCP_ADDRESS'); ?>) |
-
-
- Node Contact |
- display('CONTACT'); echo $node->EMAIL_ADDRESS ? ' ('.HTML::mailto($node->EMAIL_ADDRESS).')' : ''; ?> |
-
-
- Operating Sytem |
- platform(); ?> |
-
-
- TSM Client Version |
- tsmclientversion(); ?> |
-
-
- |
-
-
- Date Registered |
- display('REG_TIME'); ?> (by display('REG_ADMIN'); ?>) |
-
-
- Date Last Password Change |
- display('PWSET_TIME'); ?> |
-
-
- |
-
-
- Password Expiry |
- passexp(); ?> |
-
-
- Invalid Password Count |
- display('INVALID_PW_COUNT'); ?> (LOCKED == 'NO' ? _('Not Locked') : _('Locked'); ?>) |
-
-
- |
-
-
-
- Last Session Performance Information |
-
-
- |
-
-
- Last Access |
- display('LASTACC_TIME'); ?> |
-
-
- Last Sent |
- LASTSESS_SENT/1024/1024,2); ?> MB |
-
-
- Last Receive |
- LASTSESS_RECVD/1024/1024,2); ?> MB |
-
-
- Last Duration |
- LASTSESS_DURATION/60,2); ?> min |
-
-
- Last Session Idle Wait Percent |
- display('LASTSESS_IDLEWAIT'); ?>% (LASTSESS_DURATION*($node->LASTSESS_IDLEWAIT/100),2); ?>s) |
-
-
- Last Session Comm Wait Percent |
- display('LASTSESS_COMMWAIT'); ?>% (LASTSESS_DURATION*($node->LASTSESS_COMMWAIT/100),2); ?>s) |
-
-
- Last Session Media Wait Percent |
- display('LASTSESS_MEDIAWAIT'); ?>% (LASTSESS_DURATION*($node->LASTSESS_MEDIAWAIT/100),2); ?>s) |
-
-
- Last Session Transfer Percent |
- lasttransferpercent(),2); ?>% (lasttransfertime(),2); ?>s) |
-
-
- Last Session Send Performance |
- lastsendperformance(),2); ?> MB/s (lastsendaggperformance(),2); ?> MB/s Aggregate) |
-
-
- Last Session Receive Performance |
- lastreceiveperformance(),2); ?> MB/s (lastreceiveaggperformance(),2); ?> MB/s Aggregate) |
-
-
- |
+ set('o',$o); ?> |
+ set('o',$o); ?> |
-
-
-
- Backup Settings |
-
-
- |
-
-
- Domain |
- DOMAIN,$node->display('DOMAIN')); ?> |
-
-
- Client Option Set |
- display('OPTION_SET'); ?> |
-
-
- Collocation Group |
- COLLOCGROUP_NAME ? $node->display('COLLOCGROUP_NAME') : 'Not Set'; ?> |
-
-
- Client Compression |
- display('COMPRESSION'); ?> |
-
-
- TXN Group Max |
- txngroupmax(); ?> |
-
-
- Delete Archives |
- display('ARCHDELETE'); ?> |
-
-
- Delete Backups |
- display('BACKDELETE'); ?> |
-
-
- Keep Mount Points |
- display('KEEP_MP'); ?> (display('MAX_MP_ALLOWED'); ?>) |
-
-
- |
-
-
- |
+ set('o',$o); ?> |
+ |
-
- set('domain',$node->DOMAIN); ?>
- |
-
-
-
- Server Side Client Options |
-
-
- |
-
-
- Client Option |
- Seq # |
- Setting |
- Forced |
-
- OPTION_SET) { ?>
- CLIENTOPT->find_all() as $coo) { ?>
-
- display('OPTION_NAME'); ?> |
- display('SEQNUMBER'); ?> |
- display('OPTION_VALUE'); ?> |
- display('FORCE'); ?> |
-
-
-
-
- This node is not configured for any server side Client Options |
-
-
-
- |
+ set('o',$o->DOMAIN); ?> |
+ set('o',$o); ?> |
diff --git a/application/views/node/detail_filesystem.php b/application/views/node/detail_filesystem.php
deleted file mode 100644
index 04eec55..0000000
--- a/application/views/node/detail_filesystem.php
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
-
-
-
- Backup Information |
-
- getStoragePools('Bkup')) { ?>
-
- |
-
-
- File Space |
- Last Date |
- Utilisation |
- load('config')->tsmpooltypes as $type)
- if (count($pools = $node->getStoragePoolsType('Bkup',$type)))
- foreach ($pools as $pool_name) { ?>
- |
-
-
- FILESPACE->find_all() as $fso) { ?>
-
- display('FILESPACE_NAME'); ?> |
- display('BACKUP_END'); ?> |
- utilsation(),2); ?> |
- load('config')->tsmpooltypes as $type)
- if (count($pools = $node->getStoragePoolsType('Bkup',$type)))
- foreach ($pools as $pool_name) { ?>
- pool_logical_util($pool_name,'Bkup'),2); ?> (pool_numvols($pool_name,'BACKUP'); ?>) |
-
-
-
-
- There is NO Backup Data for this Node. |
-
-
- |
-
-
-
- Storage Summary |
-
-
- |
-
-
- Storage Type |
- Vols |
- Files |
- MB |
-
- load('config')->tsmpooltypes as $type) { ?>
-
- |
- getStorageTypeVols($type)); ?> |
- getStorageTypeFiles($type); ?> |
- getStorageTypeData($type); ?> |
-
- getAllStoragePoolsType($type) as $spo) { ?>
-
- |
- |
- getStorageTypeVols($type,$spo)); ?> |
- getStorageTypeFiles($type,$spo); ?> |
- getStorageTypeData($type,$spo); ?> |
-
-
-
-
- |
-
-
-
-
-
- Archive Information |
-
- getStoragePools('Arch')) { ?>
-
- |
-
-
- File Space |
- load('config')->tsmpooltypes as $type)
- if (count($pools = $node->getStoragePoolsType('Arch',$type)))
- foreach ($pools as $pool_name) { ?>
- |
-
-
- FILESPACE->find_all() as $fso) { ?>
-
- display('FILESPACE_NAME'); ?> |
- load('config')->tsmpooltypes as $type)
- if (count($pools = $node->getStoragePoolsType('Arch',$type)))
- foreach ($pools as $pool_name) { ?>
- pool_logical_util($pool_name,'Arch'),2); ?> (pool_numvols($pool_name,'ARCHIVE'); ?>) |
-
-
-
-
- There is NO Archive Data for this Node. |
-
-
- |
-
-
- |
-
-
-
-
-
- HSM Information |
-
- getStoragePools('SpMg')) { ?>
-
- |
-
-
- File Space |
- load('config')->tsmpooltypes as $type)
- if (count($pools = $node->getStoragePoolsType('SpMg',$type)))
- foreach ($pools as $pool_name) { ?>
- |
-
-
- FILESPACE->find_all() as $fso) { ?>
-
- display('FILESPACE_NAME'); ?> |
- load('config')->tsmpooltypes as $type)
- if (count($pools = $node->getStoragePoolsType('SpMg',$type)))
- foreach ($pools as $pool_name) { ?>
- pool_logical_util($pool_name,'SpMg'),2); ?> (pool_numvols($pool_name,'SPACE MANAGED'); ?>) |
-
-
-
-
- There is NO HSM Data for this Node. |
-
-
- |
-
-
- |
-
-
diff --git a/application/views/node/detail_schedule.php b/application/views/node/detail_schedule.php
deleted file mode 100644
index 3ad8b66..0000000
--- a/application/views/node/detail_schedule.php
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
-
- TSM Node Schedules |
-
- ASSOCIATION->find_all()) { ?>
-
- |
-
-
- Schedule |
- Start Time |
- Duration |
- Repeat |
- Valid Day |
- Priority |
-
- ASSOCIATION->find_all() as $ao) { ?>
-
- display('SCHEDULE_NAME'); ?> |
- SCHEDULE_CLIENT->display('STARTTIME'); ?> |
- SCHEDULE_CLIENT->DURATION,$ao->SCHEDULE_CLIENT->DURUNITS); ?> |
- SCHEDULE_CLIENT->PERIOD,$ao->SCHEDULE_CLIENT->PERUNITS); ?> |
- SCHEDULE_CLIENT->display('DAYOFWEEK'); ?> |
- SCHEDULE_CLIENT->display('PRIORITY'); ?> |
-
-
-
- There are no TSM schedules define for this Node. |
-
-
- |
-
-
-
- Summary Activity |
-
-
- |
-
-
- Start |
- End |
- Activity |
- Schedule |
- MB |
-
- SUMMARY->find_all() as $so) { ?>
-
- display('START_TIME'); ?> |
- display('END_TIME'); ?> |
- display('ACTIVITY'); ?> |
- display('SCHEDULE_NAME'); ?> |
- display('BYTES')/1024/1024,2)); ?> |
-
-
-
- |
-
-
-
-
-
- Schedule Activity |
-
-
- |
-
-
- Sched Start |
- Act Start |
- Schedule Name |
- Status |
- Completed |
- Result |
-
- EVENT->find_all() as $eo) { ?>
-
- display('SCHEDULED_START'); ?> |
- display('ACTUAL_START')); ?> |
- display('SCHEDULE_NAME'); ?> |
- display('STATUS'); ?> |
- display('COMPLETED')); ?> |
- RESULT,$eo->display('REASON')); ?> |
-
-
-
- |
-
-
diff --git a/application/views/node/filesystems.php b/application/views/node/filesystems.php
new file mode 100644
index 0000000..7b4297d
--- /dev/null
+++ b/application/views/node/filesystems.php
@@ -0,0 +1,45 @@
+
+
+
+
+ load('config')->tsmdatatypes as $btype => $ctype) { ?>
+
+
+ Information |
+
+ getStoragePools($btype)) { ?>
+
+ |
+
+
+ File Space |
+ |
+ Utilisation |
+ load('config')->tsmpooltypes as $type)
+ if (count($pools = $o->getStoragePoolsType($btype,$type)))
+ foreach ($pools as $pool_name) { ?>
+ |
+
+
+ FILESPACE->find_all() as $fso) { ?>
+
+ display('FILESPACE_NAME'); ?> |
+ display('BACKUP_END') : ' '; ?> |
+ utilsation(),2); ?> |
+ load('config')->tsmpooltypes as $type)
+ if (count($pools = $o->getStoragePoolsType($btype,$type)))
+ foreach ($pools as $pool_name) { ?>
+ pool_logical_util($pool_name,$btype),2); ?> (pool_numvols($pool_name,$ctype); ?>) |
+
+
+
+
+ There is no Data for this Node. |
+
+
+
+
+ |
+ set('o',$o); ?> |
+
+
diff --git a/application/views/node/info.php b/application/views/node/info.php
new file mode 100644
index 0000000..07f1338
--- /dev/null
+++ b/application/views/node/info.php
@@ -0,0 +1,58 @@
+
+
+
+ Node Information |
+
+
+ |
+
+
+ Node Name |
+ display('NODE_NAME'); ?> (URL ? HTML::anchor($o->URL,$o->display('TCP_ADDRESS')) : $o->display('TCP_ADDRESS'); ?>) |
+
+
+ Node Contact |
+ display('CONTACT'); echo $o->EMAIL_ADDRESS ? ' ('.HTML::mailto($o->EMAIL_ADDRESS).')' : ''; ?> |
+
+
+ Operating Sytem |
+ platform(); ?> |
+
+
+ TSM Client Version |
+ tsmclientversion(); ?> |
+
+
+ |
+
+
+ Date Registered |
+ display('REG_TIME'); ?> (by display('REG_ADMIN'); ?>) |
+
+
+ Date Last Password Change |
+ display('PWSET_TIME'); ?> |
+
+
+ |
+
+
+ Password Expiry |
+ passexp(); ?> |
+
+
+ Invalid Password Count |
+ display('INVALID_PW_COUNT'); ?> (LOCKED == 'NO' ? _('Not Locked') : _('Locked'); ?>) |
+
+
+ |
+
+
+ Proxy Target |
+ PROXY_TARGET,$o->display('PROXY_TARGET')); ?> |
+
+
+ Proxy Agent(s) |
+ display('PROXY_AGENT'); ?> |
+
+
diff --git a/application/views/node/schedule.php b/application/views/node/schedule.php
new file mode 100644
index 0000000..cd36ffb
--- /dev/null
+++ b/application/views/node/schedule.php
@@ -0,0 +1,10 @@
+
+
+
+ set('o',$o); ?> |
+ set('o',$o); ?> |
+
+
+ set('o',$o); ?> |
+
+
diff --git a/application/views/node/schedule_activity.php b/application/views/node/schedule_activity.php
new file mode 100644
index 0000000..7f6f73c
--- /dev/null
+++ b/application/views/node/schedule_activity.php
@@ -0,0 +1,27 @@
+
+
+
+ Schedule Activity |
+
+
+ |
+
+
+ Sched Start |
+ Act Start |
+ Schedule Name |
+ Status |
+ Completed |
+ Result |
+
+ EVENT->find_all() as $eo) { ?>
+
+ display('SCHEDULED_START'); ?> |
+ display('ACTUAL_START')); ?> |
+ display('SCHEDULE_NAME'); ?> |
+ display('STATUS'); ?> |
+ display('COMPLETED')); ?> |
+ RESULT,$eo->display('REASON')); ?> |
+
+
+
diff --git a/application/views/node/schedule_list.php b/application/views/node/schedule_list.php
new file mode 100644
index 0000000..17d6fb7
--- /dev/null
+++ b/application/views/node/schedule_list.php
@@ -0,0 +1,31 @@
+
+
+
+ TSM Node Schedules |
+
+ ASSOCIATION->find_all()) { ?>
+
+ |
+
+
+ Schedule |
+ Start Time |
+ Duration |
+ Repeat |
+ Valid Day |
+ Priority |
+
+ ASSOCIATION->find_all() as $ao) { ?>
+
+ display('SCHEDULE_NAME'); ?> |
+ SCHEDULE_CLIENT->display('STARTTIME'); ?> |
+ SCHEDULE_CLIENT->DURATION,$ao->SCHEDULE_CLIENT->DURUNITS); ?> |
+ SCHEDULE_CLIENT->PERIOD,$ao->SCHEDULE_CLIENT->PERUNITS); ?> |
+ SCHEDULE_CLIENT->display('DAYOFWEEK'); ?> |
+ SCHEDULE_CLIENT->display('PRIORITY'); ?> |
+
+
+
+ There are no TSM schedules define for this Node. |
+
+
diff --git a/application/views/node/schedule_summary.php b/application/views/node/schedule_summary.php
new file mode 100644
index 0000000..cc4f3d9
--- /dev/null
+++ b/application/views/node/schedule_summary.php
@@ -0,0 +1,25 @@
+
+
+
+ Summary Activity |
+
+
+ |
+
+
+ Start |
+ End |
+ Activity |
+ Schedule |
+ MB |
+
+ SUMMARY->find_all() as $so) { ?>
+
+ display('START_TIME'); ?> |
+ display('END_TIME'); ?> |
+ display('ACTIVITY'); ?> |
+ display('SCHEDULE_NAME'); ?> |
+ display('BYTES')/1024/1024,2)); ?> |
+
+
+
diff --git a/application/views/node/session.php b/application/views/node/session.php
new file mode 100644
index 0000000..ff86d30
--- /dev/null
+++ b/application/views/node/session.php
@@ -0,0 +1,49 @@
+
+
+
+ Last Session Performance Information |
+
+
+ |
+
+
+ Last Access |
+ display('LASTACC_TIME'); ?> |
+
+
+ Last Sent |
+ LASTSESS_SENT/1024/1024,2); ?> MB |
+
+
+ Last Receive |
+ LASTSESS_RECVD/1024/1024,2); ?> MB |
+
+
+ Last Duration |
+ LASTSESS_DURATION/60,2); ?> min |
+
+
+ Last Session Idle Wait Percent |
+ display('LASTSESS_IDLEWAIT'); ?>% (LASTSESS_DURATION*($o->LASTSESS_IDLEWAIT/100),2); ?>s) |
+
+
+ Last Session Comm Wait Percent |
+ display('LASTSESS_COMMWAIT'); ?>% (LASTSESS_DURATION*($o->LASTSESS_COMMWAIT/100),2); ?>s) |
+
+
+ Last Session Media Wait Percent |
+ display('LASTSESS_MEDIAWAIT'); ?>% (LASTSESS_DURATION*($o->LASTSESS_MEDIAWAIT/100),2); ?>s) |
+
+
+ Last Session Transfer Percent |
+ lasttransferpercent(),2); ?>% (lasttransfertime(),2); ?>s) |
+
+
+ Last Session Send Performance |
+ lastsendperformance(),2); ?> MB/s (lastsendaggperformance(),2); ?> MB/s Aggregate) |
+
+
+ Last Session Receive Performance |
+ lastreceiveperformance(),2); ?> MB/s (lastreceiveaggperformance(),2); ?> MB/s Aggregate) |
+
+
diff --git a/application/views/node/settings.php b/application/views/node/settings.php
new file mode 100644
index 0000000..bff6ce4
--- /dev/null
+++ b/application/views/node/settings.php
@@ -0,0 +1,41 @@
+
+
+
+ Backup Settings |
+
+
+ |
+
+
+ Domain |
+ DOMAIN,$o->display('DOMAIN')); ?> |
+
+
+ Client Option Set |
+ display('OPTION_SET'); ?> |
+
+
+ Collocation Group |
+ COLLOCGROUP_NAME ? $o->display('COLLOCGROUP_NAME') : 'Not Set'; ?> |
+
+
+ Client Compression |
+ display('COMPRESSION'); ?> |
+
+
+ TXN Group Max |
+ txngroupmax(); ?> |
+
+
+ Delete Archives |
+ display('ARCHDELETE'); ?> |
+
+
+ Delete Backups |
+ display('BACKDELETE'); ?> |
+
+
+ Keep Mount Points |
+ display('KEEP_MP'); ?> (display('MAX_MP_ALLOWED'); ?>) |
+
+
diff --git a/application/views/node/stgpool_summary.php b/application/views/node/stgpool_summary.php
new file mode 100644
index 0000000..11ae4d5
--- /dev/null
+++ b/application/views/node/stgpool_summary.php
@@ -0,0 +1,32 @@
+
+
+
+ Storage Summary |
+
+
+ |
+
+
+ Storage Type |
+ Vols |
+ Files |
+ MB |
+
+ load('config')->tsmpooltypes as $type) { ?>
+
+ |
+ getStorageTypeVols($type)); ?> |
+ getStorageTypeFiles($type); ?> |
+ getStorageTypeData($type); ?> |
+
+ getAllStoragePoolsType($type) as $spo) { ?>
+
+ |
+ |
+ getStorageTypeVols($type,$spo)); ?> |
+ getStorageTypeFiles($type,$spo); ?> |
+ getStorageTypeData($type,$spo); ?> |
+
+
+
+
diff --git a/application/views/node/detail_volumes.php b/application/views/node/volumes.php
similarity index 93%
rename from application/views/node/detail_volumes.php
rename to application/views/node/volumes.php
index 49b73f2..88dc041 100644
--- a/application/views/node/detail_volumes.php
+++ b/application/views/node/volumes.php
@@ -1,3 +1,4 @@
+
load('config')->tsmdatatypes as $btype => $ctype) { ?>
@@ -6,7 +7,7 @@
|
- volumes($ctype)) { ?>
+ volumes($ctype)) { ?>
|
@@ -22,7 +23,7 @@
Other FS |
Other Node |
- volumes($ctype) as $stgpool => $vols) {
+ volumes($ctype) as $stgpool => $vols) {
$spo = ORM::factory('STGPOOL',$stgpool); ?>
STGPOOL_NAME,$spo->RECLAIM,$spo->NUMSCRATCHUSED,$spo->MAXSCRATCH,$spo->DEVCLASSES->DEVTYPE); ?> |
diff --git a/application/views/stgpool/detail.php b/application/views/stgpool/detail.php
index fb819f8..55334a3 100644
--- a/application/views/stgpool/detail.php
+++ b/application/views/stgpool/detail.php
@@ -1,305 +1,15 @@
-
-
-
- Information for this Storage Pool |
-
-
- |
-
-
- Description |
- display('DESCRIPTION'); ?> |
-
-
- Type |
- display('POOLTYPE'); ?> |
-
-
- Est Capacity |
- display('EST_CAPACITY_MB'); ?> |
-
-
- Util % |
- display('PCT_UTILIZED'); ?> |
-
- DEVCLASS != 'DISK') { ?>
-
- Scratch Vols |
- NUMSCRATCHUSED,$so->MAXSCRATCH); ?> |
-
-
- Volume Reuse Delay |
- display('REUSEDELAY'); ?> |
-
-
-
- Access |
- display('ACCESS'); ?> |
-
-
- Max Object Size |
- display('MAXSIZE'); ?> |
-
-
- Collate |
- display('COLLOCATE'); ?> |
-
- DEVCLASS === 'DISK') { ?>
-
- Cache Migrated Files |
- display('CACHE'); ?> |
-
-
-
- Reclaim % |
- display('RECLAIM'); ?> |
-
-
- Reclaim Processes |
- display('RECLAIMPROCESS'); ?> |
-
-
- Reclaim Storage Pool |
- display('RECLAIMSTGPOOL'); ?> |
-
-
-
- |
-
-
- Next Pool |
- NEXTSTGPOOL AND $so->POOLTYPE === 'PRIMARY') { ?>
- NEXTSTGPOOL,$so->display('NEXTSTGPOOL')); ?> |
-
-
- Migratable % |
- display('PCT_MIGR'); ?> |
-
-
- Hi/Low Migration |
- HIGHMIG,$so->LOWMIG); ?> |
-
-
- Migration Delay |
- display('MIGDELAY'); ?> |
-
-
- Migration Continue |
- display('MIGCONTINUE'); ?> |
-
-
- Last Migration Time |
- display('MIGR_SECONDS'); ?> |
-
-
- Last Migration Data |
- display('MIGR_MB'); ?> |
- NEXTSTGPOOL AND $so->POOLTYPE === 'PRIMARY') { ?>
- |
-
-
-
- |
-
-
- Active Data Pools |
- display('ACTIVEDATASTGPOOLS'); ?> |
-
-
- Copy Pools |
- display('COPYSTGPOOLS'); ?> |
-
-
- Copy Continue |
- display('COPYCONTINUE'); ?> |
-
-
- |
-
-
-
- Device Class information |
-
-
- |
-
-
- Access |
- DEVCLASSES->display('ACCESS_STRATEGY'); ?> |
-
-
- Device Type |
- DEVCLASSES->display('DEVTYPE'); ?> |
-
-
- Format |
- DEVCLASSES->display('FORMAT'); ?> |
-
-
- Capacity |
- DEVCLASSES->display('CAPACITY'); ?> |
-
-
- Mount Limit |
- DEVCLASSES->display('MOUNTLIMIT'); ?> |
-
- DEVCLASSES->DEVTYPE == 'FILE') { ?>
-
- Directory |
- DEVCLASSES->display('DIRECTORY'); ?> |
-
-
-
- Library |
- DEVCLASSES->display('LIBRARY_NAME'); ?> |
-
-
- Mount Wait |
- DEVCLASSES->display('MOUNTWAIT'); ?> |
-
-
- Mount Retention |
- DEVCLASSES->display('MOUNTRETENTION'); ?> |
-
-
-
- |
+ set('o',$o); ?> |
+ set('o',$o); ?> |
-
-
-
- Management classes that directly store here |
-
-
- |
-
-
- Backup Management Classes |
-
-
- Domain |
- MgmtClass |
- Copy Group |
-
- COPYGROUP_BU->where('SET_NAME','=','ACTIVE')->find_all() as $cgo) { ?>
-
- DOMAIN_NAME,$cgo->display('DOMAIN_NAME')); ?> |
- display('CLASS_NAME'); ?> |
- display('COPYGROUP_NAME'); ?> |
-
-
-
- |
-
-
- Archive Management Classes |
-
-
- Domain |
- MgmtClass |
- Copy Group |
-
- COPYGROUP_AR->where('SET_NAME','=','ACTIVE')->find_all() as $cgo) { ?>
-
- display('DOMAIN_NAME'); ?> |
- display('CLASS_NAME'); ?> |
- display('COPYGROUP_NAME'); ?> |
-
-
-
- |
-
-
- HSM Management Classes |
-
-
- Domain |
- MgmtClass |
-
- MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mo) { ?>
-
- display('DOMAIN_NAME'); ?> |
- display('CLASS_NAME'); ?>DEFAULTMC == 'Yes' ? '*' : ''; ?> |
-
-
-
- |
+ set('o',$o); ?> |
-
-
-
- Volumes in this Storage Pool |
-
-
- |
-
-
- Volume |
- Last Read Date |
- Last Write Date |
- Access |
- Status |
- Errors R/W |
- Util % |
- Reclaim |
- load('config')->tsmdatatypes as $btype => $ctype) { ?>
- |
- |
-
-
- VOLUME->find_all() as $vo) { ?>
-
- display('VOLUME_NAME'); ?> |
- display('LAST_READ_DATE'); ?> |
- display('LAST_WRITE_DATE'); ?> |
- display('ACCESS'); ?> |
- display('STATUS'); ?> |
- READ_ERRORS,$vo->WRITE_ERRORS); ?> |
- display('PCT_UTILIZED'); ?> |
- display('PCT_RECLAIM'); ?> |
- load('config')->tsmdatatypes as $btype => $ctype) { ?>
- getFSOnVol($ctype); ?> |
- getNodesOnVol($ctype); ?> |
-
-
-
-
- |
+ set('o',$o); ?> |
-
-
-
- Nodes with data in this Storage Pool |
-
-
- |
-
-
- Node |
- Type |
- File Space |
- Num Files |
- Physical |
- Logical |
- Reporting |
-
- OCC->find_all() as $oo) { ?>
-
- NODE_NAME,$oo->NODE_NAME); ?> |
- display('TYPE'); ?> |
- display('FILESPACE_NAME'); ?> |
- display('NUM_FILES'); ?> |
- display('PHYSICAL_MB'); ?> |
- display('LOGICAL_MB'); ?> |
- display('REPORTING_MB'); ?> |
-
-
-
- |
+ set('o',$o); ?> |
diff --git a/application/views/stgpool/devclass.php b/application/views/stgpool/devclass.php
new file mode 100644
index 0000000..b896e90
--- /dev/null
+++ b/application/views/stgpool/devclass.php
@@ -0,0 +1,48 @@
+
+
+
+ Device Class information |
+
+
+ |
+
+
+ Access |
+ DEVCLASSES->display('ACCESS_STRATEGY'); ?> |
+
+
+ Device Type |
+ DEVCLASSES->display('DEVTYPE'); ?> |
+
+
+ Format |
+ DEVCLASSES->display('FORMAT'); ?> |
+
+
+ Capacity |
+ DEVCLASSES->display('CAPACITY'); ?> |
+
+
+ Mount Limit |
+ DEVCLASSES->display('MOUNTLIMIT'); ?> |
+
+ DEVCLASSES->DEVTYPE == 'FILE') { ?>
+
+ Directory |
+ DEVCLASSES->display('DIRECTORY'); ?> |
+
+
+
+ Library |
+ DEVCLASSES->display('LIBRARY_NAME'); ?> |
+
+
+ Mount Wait |
+ DEVCLASSES->display('MOUNTWAIT'); ?> |
+
+
+ Mount Retention |
+ DEVCLASSES->display('MOUNTRETENTION'); ?> |
+
+
+
diff --git a/application/views/stgpool/info.php b/application/views/stgpool/info.php
new file mode 100644
index 0000000..bc65dcc
--- /dev/null
+++ b/application/views/stgpool/info.php
@@ -0,0 +1,116 @@
+
+
+
+ Information for this Storage Pool |
+
+
+ |
+
+
+ Description |
+ display('DESCRIPTION'); ?> |
+
+
+ Type |
+ display('POOLTYPE'); ?> |
+
+
+ Est Capacity |
+ display('EST_CAPACITY_MB'); ?> |
+
+
+ Util % |
+ display('PCT_UTILIZED'); ?> |
+
+ DEVCLASS != 'DISK') { ?>
+
+ Scratch Vols |
+ NUMSCRATCHUSED,$o->MAXSCRATCH); ?> |
+
+
+ Volume Reuse Delay |
+ display('REUSEDELAY'); ?> |
+
+
+
+ Access |
+ display('ACCESS'); ?> |
+
+
+ Max Object Size |
+ display('MAXSIZE'); ?> |
+
+
+ Collate |
+ display('COLLOCATE'); ?> |
+
+ DEVCLASS === 'DISK') { ?>
+
+ Cache Migrated Files |
+ display('CACHE'); ?> |
+
+
+
+ Reclaim % |
+ display('RECLAIM'); ?> |
+
+
+ Reclaim Processes |
+ display('RECLAIMPROCESS'); ?> |
+
+
+ Reclaim Storage Pool |
+ display('RECLAIMSTGPOOL'); ?> |
+
+
+
+ |
+
+
+ Next Pool |
+ NEXTSTGPOOL AND $o->POOLTYPE === 'PRIMARY') { ?>
+ NEXTSTGPOOL,$o->display('NEXTSTGPOOL')); ?> |
+
+
+ Migratable % |
+ display('PCT_MIGR'); ?> |
+
+
+ Hi/Low Migration |
+ HIGHMIG,$o->LOWMIG); ?> |
+
+
+ Migration Delay |
+ display('MIGDELAY'); ?> |
+
+
+ Migration Continue |
+ display('MIGCONTINUE'); ?> |
+
+
+ Last Migration Time |
+ display('MIGR_SECONDS'); ?> |
+
+
+ Last Migration Data |
+ display('MIGR_MB'); ?> |
+ NEXTSTGPOOL AND $o->POOLTYPE === 'PRIMARY') { ?>
+ |
+
+
+
+ |
+
+
+ Active Data Pools |
+ display('ACTIVEDATASTGPOOLS'); ?> |
+
+
+ Copy Pools |
+ display('COPYSTGPOOLS'); ?> |
+
+
+ Copy Continue |
+ display('COPYCONTINUE'); ?> |
+
+
diff --git a/application/views/stgpool/mgmtclasses.php b/application/views/stgpool/mgmtclasses.php
new file mode 100644
index 0000000..05222af
--- /dev/null
+++ b/application/views/stgpool/mgmtclasses.php
@@ -0,0 +1,58 @@
+
+
+
+ Management classes that directly store here |
+
+
+ |
+
+
+ Backup Management Classes |
+
+
+ Domain |
+ MgmtClass |
+ Copy Group |
+
+ COPYGROUP_BU->where('SET_NAME','=','ACTIVE')->find_all() as $cgo) { ?>
+
+ DOMAIN_NAME,$cgo->display('DOMAIN_NAME')); ?> |
+ display('CLASS_NAME'); ?> |
+ display('COPYGROUP_NAME'); ?> |
+
+
+
+ |
+
+
+ Archive Management Classes |
+
+
+ Domain |
+ MgmtClass |
+ Copy Group |
+
+ COPYGROUP_AR->where('SET_NAME','=','ACTIVE')->find_all() as $cgo) { ?>
+
+ display('DOMAIN_NAME'); ?> |
+ display('CLASS_NAME'); ?> |
+ display('COPYGROUP_NAME'); ?> |
+
+
+
+ |
+
+
+ HSM Management Classes |
+
+
+ Domain |
+ MgmtClass |
+
+ MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mo) { ?>
+
+ display('DOMAIN_NAME'); ?> |
+ display('CLASS_NAME'); ?>DEFAULTMC == 'Yes' ? '*' : ''; ?> |
+
+
+
diff --git a/application/views/stgpool/nodes.php b/application/views/stgpool/nodes.php
new file mode 100644
index 0000000..da12ecf
--- /dev/null
+++ b/application/views/stgpool/nodes.php
@@ -0,0 +1,29 @@
+
+
+
+ Nodes with data in this Storage Pool |
+
+
+ |
+
+
+ Node |
+ Type |
+ File Space |
+ Num Files |
+ Physical |
+ Logical |
+ Reporting |
+
+ OCC->find_all() as $oo) { ?>
+
+ NODE_NAME,$oo->NODE_NAME); ?> |
+ display('TYPE'); ?> |
+ display('FILESPACE_NAME'); ?> |
+ display('NUM_FILES'); ?> |
+ display('PHYSICAL_MB'); ?> |
+ display('LOGICAL_MB'); ?> |
+ display('REPORTING_MB'); ?> |
+
+
+
diff --git a/application/views/stgpool/volumes.php b/application/views/stgpool/volumes.php
new file mode 100644
index 0000000..f5492fa
--- /dev/null
+++ b/application/views/stgpool/volumes.php
@@ -0,0 +1,39 @@
+
+
+
+ Volumes in this Storage Pool |
+
+
+ |
+
+
+ Volume |
+ Last Read Date |
+ Last Write Date |
+ Access |
+ Status |
+ Errors R/W |
+ Util % |
+ Reclaim |
+ load('config')->tsmdatatypes as $btype => $ctype) { ?>
+ |
+ |
+
+
+ VOLUME->find_all() as $vo) { ?>
+
+ display('VOLUME_NAME'); ?> |
+ display('LAST_READ_DATE'); ?> |
+ display('LAST_WRITE_DATE'); ?> |
+ display('ACCESS'); ?> |
+ display('STATUS'); ?> |
+ READ_ERRORS,$vo->WRITE_ERRORS); ?> |
+ display('PCT_UTILIZED'); ?> |
+ display('PCT_RECLAIM'); ?> |
+ load('config')->tsmdatatypes as $btype => $ctype) { ?>
+ getFSOnVol($ctype); ?> |
+ getNodesOnVol($ctype); ?> |
+
+
+
+