GetNodes(array('node_id'=>$node_id)); $nodegroup_ids = $nodes[0]['nodegroup_ids']; $nodegroups = $adm->GetNodeGroups($nodegroup_ids); foreach ($nodegroups as $nodegroup) { $nodegroup_name = $nodegroup['name']; $nodegroup_names [] = $nodegroup_name; echo "# in nodegroup $nodegroup_name \n" ; } } $topdir=$_SERVER['DOCUMENT_ROOT'] . "/install-rpms/"; $topurl="https://$PLC_BOOT_HOST" . "/install-rpms/"; # locate the planetlab repo for this node family & nodegroup $repo=NULL; foreach ($nodegroup_names as $nodegroup_name) { $groupdir = "$nodefamily-$nodegroup_name"; # have we got a repo like /install-rpms/planetlab-i386-alpha ? echo "# trying " . $topdir . $groupdir . "\n"; if (is_dir (realpath($topdir . $groupdir))) { $repo=array($pldistro, $groupdir, "$PLC_NAME $nodefamily $nodegroup_name"); break; } } # if not found yet if ( ! $repo) { echo "# trying default " . $topdir . $nodefamily . "\n"; if (is_dir (realpath($topdir . $nodefamily))) { $repo = array($pldistro, $nodefamily, "$PLC_NAME $nodefamily regular"); } } # default: if we're here it's probably very wrong if ( ! $repo) { echo "# WARNING: could not find a decent planetlab repo for this node\n"; $repo = array ($pldistro, "planetlab", "default probably wrong"); # don't define the repo in this case exit; } list( $id, $dir, $name) = $repo; echo <<< __PLC_REPO__ [$id] name=$name baseurl=$topurl/$dir gpgcheck=$gpgcheck __PLC_REPO__; ?>