start to track Daniel's version
[util-vserver.git] / python / cpulimit.py
diff --git a/python/cpulimit.py b/python/cpulimit.py
deleted file mode 100755 (executable)
index 708f092..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/usr/bin/python2 -u
-
-import sys, os, re, string
-
-
-TCBASE="/rcfs/taskclass/"
-RULES="/rcfs/ce/rules/"
-
-SYSCLASS=TCBASE + "system"
-SYSRULE=RULES + "system"
-SYSCPUSHARE=100
-DEFAULTMAXCPUSHARE=8192
-
-def checkckrm():
-    checks = [ "/rcfs", TCBASE, RULES ]
-
-    for check in checks:
-        try:
-            answer = os.stat(check)
-        except:
-            print "%s does not exist" % check
-            return False
-    
-    return True
-
-def checkclass(tc):
-    try:
-        answer = os.stat(TCBASE + tc)
-        return True
-
-    except:
-        print "%s class does not exist" % tc
-        return False
-
-def getxid(name):
-    xid = -1
-    fp = open('/etc/passwd')
-    for line in fp.readlines():
-        rec = string.splitfields(line,':')
-        if rec[0] == name:
-            xid = int(rec[2])
-            break
-
-    fp.close()
-    
-    if xid == -1:
-        # raise an exception
-        pass
-
-    return xid
-
-def write(filename,s):
-    fp = os.open(filename,os.O_WRONLY|os.O_CREAT)
-    os.write(fp,s)
-    os.close(fp)
-
-def vs2ckrm_on(tc):
-    xid = getxid(tc)
-
-    try:
-        os.mkdir(TCBASE + tc)
-    except OSError:
-        pass # ignore oserror for file exists
-    
-    s = "xid=%d,class=%s" % (xid,TCBASE+tc)
-    fname = RULES + tc
-    write(fname, s)
-
-def vs2ckrm_off(tc):
-    fname = TCBASE + tc + "/members"
-    for i in range(1,15):
-        fp = open(fname)
-        lines = fp.readlines()
-        try:
-            lines.remove("No data to display\n")
-        except ValueError:
-            pass
-        if len(lines) == 0:
-            try:
-                answer = os.stat(RULES + tc)
-                os.unlink(RULES + tc)
-                answer = os.stat(TCBASE + tc)                
-                os.rmdir(TCBASE + tc)
-            except:
-                pass
-            break
-
-        else:
-            print "enter context 1 and kill processes", lines
-        
-
-def cpulimit(tc,limit):
-    global TCBASE
-
-    fname = TCBASE + tc + "/shares"
-    s = "res=cpu,guarantee=%d\n" % limit
-    write(fname,s)
-
-def cpuinit():
-    global TCBASE
-
-    fname = TCBASE + "shares"
-    s = "res=cpu,total_guarantee=%d\n" % DEFAULTMAXCPUSHARE
-    write(fname,s)
-
-if __name__ == "__main__":
-    try:
-        name = sys.argv[1]
-        limit = int(sys.argv[2])
-    except:
-        print "caught exception"
-
-    if checkckrm() is True:
-        cpuinit()
-        vs2ckrm_on(name)
-        cpulimit(name,limit)
-        vs2ckrm_off(name)