The previous commit had some extra gunk.
Sapan Bhatia [Mon, 18 Jul 2011 22:37:09 +0000 (18:37 -0400)]
This reverts commit 91a70f483609c9700ebe156cc38659906e717db4.

exec/claimport [deleted file]
exec/vif_up

diff --git a/exec/claimport b/exec/claimport
deleted file mode 100644 (file)
index ac1fdd3..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/python
-
-import sys
-import os
-import string
-
-vsys_config_dir = "/etc/planetlab/vsys-attributes"
-slicename=sys.argv[1]
-port_config=os.path.join(vsys_config_dir,slicename,"vsys_portreservation")
-
-ports = open(port_config).read().rstrip()
-(low,high) = map(lambda n:int(n),ports.split('-'))
-
-arglines = map(string.strip, sys.stdin.readlines())
-if len(arglines)<1:
-    print >>sys.stderr, "Insufficient argument lines."
-    sys.exit(1)
-
-port = int(arglines[0]) # interface name
-
-def do_kill(p):
-   if (p):
-       slice_info = os.popen('chcontext --ctx 1 cat /proc/%s/vinfo'%p).readlines()
-       xid_info = slice_info[0]
-       slice_id = xid_info.split()[1]
-       os.system("vkill %s"%p)
-       slice = os.popen('getent passwd %s'%slice_id).read().split(':')[0]
-       mail_cmd = 'mail -s "PlanetLab notification" %s@slices.planet-lab.org -c %s@slices.planet-lab.org'%(slice,slicename)
-       f = os.popen(mail_cmd,'w')
-       f.write('Hi,\nOne of your processes on PlanetLab was terminated because you were using port %s, which is assigned to %s.'%(port,slicename))
-       f.close()
-
-
-if (low<=port<=high):
-   fuser_cmd = "ncontext --nid 1 --migrate -- chcontext --ctx 1 fuser -n tcp %d 2> /dev/null"%port
-   process_udp = os.popen(fuser_cmd).read().rstrip()
-
-   fuser_cmd = "ncontext --nid 1 --migrate -- chcontext --ctx 1 fuser -n udp %d 2> /dev/null"%port
-   process_tcp = os.popen(fuser_cmd).read().rstrip()
-
-   do_kill(process_tcp.lstrip())
-   do_kill(process_udp.lstrip())
-   
-else:
-    print "%d is not in your range"%port
index 00edd69..c151d63 100755 (executable)
@@ -14,7 +14,37 @@ import pwd
 import re
 import socket
 import struct
-import o
+import os
+import string
+
+vsys_config_dir = "/etc/planetlab/vsys-attributes"
+
+if len(sys.argv) != 2: sys.exit(1)
+
+# VSYS scripts get slicename as $1
+slicename=sys.argv[1]
+sliceid = pwd.getpwnam(slicename).pw_uid
+
+netblock_config=os.path.join(vsys_config_dir,slicename,"vsys_vnet")
+
+# Read netblock allocation file
+base = None
+
+for netblock in open(netblock_config,'r'):
+    base, mask = netblock.split('/')
+
+if base is None:
+    print >>sys.stderr, "Could not find entry for slice %s in netblock config file %s" % (slicename, netblock_config)
+    sys.exit(1)
+
+
+### Read args from stdin
+arglines = map(string.strip, sys.stdin.readlines())
+
+if len(arglines)<3:
+    print >>sys.stderr, "Insufficient argument lines."
+    sys.exit(1)
+
 vif = arglines[0] # interface name
 vip = arglines[1] # IP
 vmask = int(arglines[2]) # netmask as int