Added disk functions to Node class

feature/node-rewrite
Sven Slootweg 13 years ago
parent 95791ace8a
commit 3176370b48

@ -66,6 +66,12 @@ class Node extends CPHPDatabaseRecordClass
case "sRealHostname": case "sRealHostname":
return $this->GetHostname(); return $this->GetHostname();
break; break;
case "sDiskFree":
return $this->GetDiskFree();
break;
case "sDiskUsed":
return $this->GetDiskUsed();
break;
default: default:
return null; return null;
break; break;
@ -76,6 +82,45 @@ class Node extends CPHPDatabaseRecordClass
{ {
return $this->ssh->RunCommandCached("hostname", true)->stdout; return $this->ssh->RunCommandCached("hostname", true)->stdout;
} }
public function GetDiskFree()
{
$disk = $this->GetDisk();
return $disk['free'];
}
public function GetDiskUsed()
{
$disk = $this->GetDisk();
return $disk['used'];
}
public function GetDisk()
{
$result = $this->ssh->RunCommandCached("df -l -x tmpfs", true);
$lines = explode("\n", $result->stdout);
array_shift($lines);
$total_free = 0;
$total_used = 0;
foreach($lines as $disk)
{
$disk = trim($disk);
if(!empty($disk))
{
$values = split_whitespace($disk);
$total_free += (int)$values[3] / 1024;
$total_used += (int)$values[2] / 1024;
}
}
return array(
'free' => $total_free,
'used' => $total_used
);
}
} }
?> ?>

@ -14,6 +14,7 @@
$_CPHP = true; $_CPHP = true;
require("cphp/base.php"); require("cphp/base.php");
require("include.exceptions.php"); require("include.exceptions.php");
require("include.parsing.php");
require("classes/class.controller.php"); require("classes/class.controller.php");
require("classes/class.container.php"); require("classes/class.container.php");
require("classes/class.node.php"); require("classes/class.node.php");

@ -13,7 +13,6 @@ $settings['master_privkey'] = "/etc/cvm/key";
$settings['master_pubkey'] = "/etc/cvm/key.pub"; $settings['master_pubkey'] = "/etc/cvm/key.pub";
$sNode = new Node(1); $sNode = new Node(1);
var_dump($sNode->sDiskFree, $sNode->sDiskUsed);
var_dump($sNode->sRealHostname);
?> ?>

Loading…
Cancel
Save