From 5ca116d85c6f2f068d50525fa52ec3b0ca8a9ed3 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Wed, 13 Jan 2010 16:52:45 +0000 Subject: [PATCH] first draft of a deployment-friendly bootmanager attempt to make some sense of the various locations used move the nodeconfig script, as well as the plc.d script, into bootmanager, where it belongs --- boot/index.php | 80 ----------------------------------------------- boot/uudecode.gz | Bin 4317 -> 0 bytes 2 files changed, 80 deletions(-) delete mode 100755 boot/index.php delete mode 100755 boot/uudecode.gz diff --git a/boot/index.php b/boot/index.php deleted file mode 100755 index 9afe279..0000000 --- a/boot/index.php +++ /dev/null @@ -1,80 +0,0 @@ - -// Copyright (C) 2006 The Trustees of Princeton University -// -// $Id$ $ -// - -// Get admin API handle -require_once 'plc_api.php'; -global $adm; - -// Default bootmanager -$bootmanager = "bootmanager.sh.sgn"; - -// Look up the node -$interfaces = $adm->GetInterfaces(array('ip' => $_SERVER['REMOTE_ADDR'])); -if (!empty($interfaces)) { - $nodes = $adm->GetNodes(array($interfaces[0]['node_id'])); - if (!empty($nodes)) { - $node = $nodes[0]; - } -} - -if (isset($node)) { - // Allow very old nodes that do not have a node key in their - // configuration files to use their "boot nonce" instead. The boot - // nonce is a random value generated by the node itself and POSTed - // by the Boot CD when it requests the Boot Manager. This is - // obviously not very secure, so we only allow it to be used if the - // requestor IP is the same as the IP address we have on record for - // the node. - - // 3.x CDs post 'version', 2.x CDs post 'id'. - if (!empty($_REQUEST['version'])) { - $version = trim($_REQUEST['version']); - } elseif (!empty($_REQUEST['id'])) { - $version = trim($_REQUEST['id']); - } else { - $version = "2.0"; - } - - if (empty($node['key']) && !empty($_REQUEST['nonce'])) { - // 3.x CDs post the boot nonce in ASCII hex. 2.x CDs post it in binary. - if (strstr($version, "2.0") === FALSE) { - // 3.x CDs post a trailing newline...sigh - $nonce = trim($_REQUEST['nonce']); - } else { - $nonce = bin2hex($_REQUEST['nonce']); - } - $adm->UpdateNode($node['node_id'], array('boot_nonce' => $nonce)); - } - - // Custom bootmanager for the node, e.g. - // planetlab-1.cs.princeton.edu_bootmanager.sh.sgn - $bootmanagers = array(strtolower($node['hostname']) . "_" . $bootmanager); - - // Custom bootmanager for the node group, e.g. - // alpha_bootmanager.sh.sgn - if (!empty($node['nodegroup_ids'])) { - $nodegroups = $adm->GetNodeGroups($node['nodegroup_ids']); - foreach ($nodegroups as $nodegroup) { - $bootmanagers[] = strtolower($nodegroup['groupname']) . "_" . $bootmanager; - } - } -} - -// Default bootmanager -$bootmanagers[] = $bootmanager; - -foreach ($bootmanagers as $bootmanager) { - if (file_exists($bootmanager)) { - readfile($bootmanager); - exit(); - } -} - -?> diff --git a/boot/uudecode.gz b/boot/uudecode.gz deleted file mode 100755 index 040c34faa8ffdc3823e1864161b26750f9ae4688..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4317 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