X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=nodeconfig%2Fboot%2Findex.php;h=fc64e3ddfa49fafb17d2fc7843abb70434cd9704;hb=0f6d1a768aa03d38861c5011333135a8068eac2c;hp=81ec4902b424c66a5deb38badc951150b130557f;hpb=148ab35ddc160825233cb0930adf5573fb081fe9;p=bootmanager.git diff --git a/nodeconfig/boot/index.php b/nodeconfig/boot/index.php index 81ec490..fc64e3d 100755 --- a/nodeconfig/boot/index.php +++ b/nodeconfig/boot/index.php @@ -13,10 +13,10 @@ require_once 'plc_api.php'; global $adm; // location for signed scripts -$bmdir="/var/www/html/bootmanager"; +$bmdir="/var/www/html/boot"; +$bmext=".sh.sgn"; -// Default bootmanager -$bootmanager = "bootmanager.sh.sgn"; +$candidates = array(); // Look up the node $interfaces = $adm->GetInterfaces(array('ip' => $_SERVER['REMOTE_ADDR'])); @@ -58,23 +58,20 @@ if (isset($node)) { // Custom bootmanager for the node, e.g. // planetlab-1.cs.princeton.edu_bootmanager.sh.sgn - $bootmanagers = array(strtolower($node['hostname']) . "_" . $bootmanager); + $candidates [] = "bootmanager" . "_" . strtolower($node['hostname']); // Custom bootmanager for the deployment tag, e.g. - - if (!empty($node['nodegroup_ids'])) { - $nodegroups = $adm->GetNodeDeployment($node['nodegroup_ids']); - foreach ($nodegroups as $nodegroup) { - $bootmanagers[] = strtolower($nodegroup['groupname']) . "_" . $bootmanager; - } + $deployment = $adm->GetNodeDeployment($node['node_id']); + if ( ! empty ($deployment) ) { + $candidates[] = "bootmanager" . "_" . $deployment; } } // Default bootmanager -$bootmanagers[] = "regular_" . $bootmanager; +$candidates[] = "bootmanager_regular"; -foreach ($bootmanagers as $bootmanager) { - $candidate=$bmdir . "/" . $bootmanager; +foreach ($candidates as $bootmanager) { + $candidate=$bmdir . "/" . $bootmanager . $bmext ; if (file_exists($candidate)) { readfile($candidate); exit();