Added disk functions to Node class

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

@ -66,6 +66,12 @@ class Node extends CPHPDatabaseRecordClass
case "sRealHostname":
return $this->GetHostname();
break;
case "sDiskFree":
return $this->GetDiskFree();
break;
case "sDiskUsed":
return $this->GetDiskUsed();
break;
default:
return null;
break;
@ -76,6 +82,45 @@ class Node extends CPHPDatabaseRecordClass
{
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;
require("cphp/base.php");
require("include.exceptions.php");
require("include.parsing.php");
require("classes/class.controller.php");
require("classes/class.container.php");
require("classes/class.node.php");

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

Loading…
Cancel
Save