--- /dev/null
+### $Id$
+#
+# how to push a working directoy to a running plc
+#
+
+tags:
+ find . -type f | grep -v '/\.svn/' | egrep -v '/(uudecode.gz|tags|TAGS)$$' | xargs etags
+
+########## make sync PLCHOST=hostname VSERVER=vservername
+ifdef PLCHOST
+ifdef VSERVER
+PLCSSH:=root@$(PLCHOST):/vservers/$(VSERVER)
+endif
+endif
+
+LOCAL_RSYNC_EXCLUDES := --exclude '*.pyc'
+RSYNC_EXCLUDES := --exclude .svn --exclude CVS --exclude '*~' --exclude TAGS $(LOCAL_RSYNC_EXCLUDES)
+RSYNC_COND_DRY_RUN := $(if $(findstring n,$(MAKEFLAGS)),--dry-run,)
+RSYNC := rsync -a -v $(RSYNC_COND_DRY_RUN) $(RSYNC_EXCLUDES)
+
+sync:
+ifeq (,$(PLCSSH))
+ echo "sync: You must define PLCHOST and VSERVER on the command line"
+ echo " e.g. make sync PLCHOST=private.one-lab.org VSERVER=myplc01" ; exit 1
+else
+ +$(RSYNC) PlanetLabConf boot PLCAPI $(PLCSSH)/var/www/html/
+ ssh root@$(PLCHOST) vserver $(VSERVER) exec apachectl graceful
+endif
+
global $adm;
// Look up the node
-$nodenetworks = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
-if (!empty($nodenetworks)) {
- $nodes = $adm->GetNodes(array($nodenetworks[0]['node_id']));
+$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];
}
global $adm;
// Look up the node
-$nodenetworks = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
-if (!empty($nodenetworks)) {
- if ($nodenetworks[0]['bwlimit'] !== NULL) {
- $rate = $nodenetworks[0]['bwlimit'];
+$interfaces = $adm->GetInterfaces(array('ip' => $_SERVER['REMOTE_ADDR']));
+if (!empty($interfaces)) {
+ if ($interfaces[0]['bwlimit'] !== NULL) {
+ $rate = $interfaces[0]['bwlimit'];
if ($rate >= 1000000000 && ($rate % 1000000000) == 0) {
printf("%.0fgbit", ($rate / 1000000000.));
} elseif ($rate >= 1000000 && ($rate % 1000000) == 0) {
}
}
-?>
\ No newline at end of file
+?>
if (!empty($_REQUEST['node_id'])) {
$node = $adm->GetSlivers(intval($_REQUEST['node_id']));
} else {
- $nodenetworks = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
- if (!empty($nodenetworks)) {
- $node = $adm->GetSlivers($nodenetworks[0]['node_id']);
+ $interfaces = $adm->GetInterfaces(array('ip' => $_SERVER['REMOTE_ADDR']));
+ if (!empty($interfaces)) {
+ $node = $adm->GetSlivers($interfaces[0]['node_id']);
}
}
if (isset($_REQUEST['site_admin'])) {
// Look up the node
- $nodenetworks = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
- if (!empty($nodenetworks)) {
- $nodes = $adm->GetNodes(array($nodenetworks[0]['node_id']));
+ $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];
}
$file_name = $config_directory . $file_prefix . $default_name;
// Look up the node
-$nodenetworks = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
-if (!empty($nodenetworks)) {
- $nodes = $adm->GetNodes(array($nodenetworks[0]['node_id']));
+$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];
}
readfile($file_name);
}
-?>
\ No newline at end of file
+?>
$file_name = $config_directory . $file_prefix . $default_name;
// Look up the node
-$nodenetworks = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
-if (!empty($nodenetworks)) {
- $nodes = $adm->GetNodes(array($nodenetworks[0]['node_id']));
+$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];
}
}
}
-?>
\ No newline at end of file
+?>
#
# post: service vnet restart
#
-# Proxy (a.k.a. network telescope a.k.a. honeypot) nodenetwork configuration
+# Proxy (a.k.a. network telescope a.k.a. honeypot) interface configuration
#
# Aaron Klingaman <alk@cs.princeton.edu>
# Mark Huang <mlhuang@cs.princeton.edu>
global $adm;
// Look up the node
-$nodenetworks = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
-if (!empty($nodenetworks)) {
- $nodes = $adm->GetNodes(array($nodenetworks[0]['node_id']));
+$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];
}
exit();
}
-$nodenetworks = $adm->GetNodeNetworks($node['nodenetwork_ids']);
+$interfaces = $adm->GetInterfaces($node['interface_ids']);
-foreach ($nodenetworks as $nodenetwork) {
- // XXX PL2896: need nodenetworks.device
- switch ($nodenetwork['method']) {
+foreach ($interfaces as $interface) {
+ // XXX PL2896: need interfaces.device
+ switch ($interface['method']) {
case 'tap':
$dev = "tap0";
- $types['taps'][$dev][0] = $nodenetwork['ip'] . "/" . $nodenetwork['gateway'];
+ $types['taps'][$dev][0] = $interface['ip'] . "/" . $interface['gateway'];
break;
case 'proxy':
$dev = "proxy0";
- $types['proxies'][$dev][] = $nodenetwork['ip'];
+ $types['proxies'][$dev][] = $interface['ip'];
break;
}
}
$ip_forward = 0;
// Look up the node
-$nodenetworks = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
-if (!empty($nodenetworks)) {
- $nodes = $adm->GetNodes(array($nodenetworks[0]['node_id']));
+$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];
- $nodenetworks = $adm->GetNodeNetworks($node['nodenetwork_ids']);
- foreach ($nodenetworks as $nodenetwork) {
+ $interfaces = $adm->GetInterfaces($node['interface_ids']);
+ foreach ($interfaces as $interface) {
// Nodes with proxy socket interfaces need to be able to forward
// between the fake proxy0 interface and the real interface.
- if ($nodenetwork['method'] == 'proxy') {
+ if ($interface['method'] == 'proxy') {
$ip_forward = 1;
break;
}
if (!empty($_REQUEST['mac_addr'])) {
$mac_lower = strtolower(trim($_REQUEST['mac_addr']));
$mac_upper = strtoupper(trim($_REQUEST['mac_addr']));
- $nodenetworks = $adm->GetNodeNetworks(array('mac' => array($mac_lower, $mac_upper)));
+ $interfaces = $adm->GetInterfaces(array('mac' => array($mac_lower, $mac_upper)));
} else {
- $nodenetworks = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
+ $interfaces = $adm->GetInterfaces(array('ip' => $_SERVER['REMOTE_ADDR']));
}
-if (!empty($nodenetworks)) {
- print $nodenetworks[0]['node_id'];
+if (!empty($interfaces)) {
+ print $interfaces[0]['node_id'];
} else {
print "-1";
}
$bootmanager = "bootmanager.sh.sgn";
// Look up the node
-$nodenetworks = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
-if (!empty($nodenetworks)) {
- $nodes = $adm->GetNodes(array($nodenetworks[0]['node_id']));
+$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 (!empty($node['nodegroup_ids'])) {
$nodegroups = $adm->GetNodeGroups($node['nodegroup_ids']);
foreach ($nodegroups as $nodegroup) {
- $bootmanagers[] = strtolower($nodegroup['name']) . "_" . $bootmanager;
+ $bootmanagers[] = strtolower($nodegroup['groupname']) . "_" . $bootmanager;
}
}
}