X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plugins%2Fcodemux.py;h=af7fb5873e0762a0c12dd644a3ccade0681145c8;hb=9dd5eaa2fa490eaf252adb66589c39c6f79cbc48;hp=7f2200d3b33815188f8707fbef4e40fdbb150aec;hpb=dd451f27a57f53eb716aaf3ff9b545953df8882a;p=nodemanager.git diff --git a/plugins/codemux.py b/plugins/codemux.py index 7f2200d..af7fb58 100644 --- a/plugins/codemux.py +++ b/plugins/codemux.py @@ -2,8 +2,9 @@ import logger import os -import libvirt + from config import Config +import slivermanager CODEMUXCONF="/etc/codemux/codemux.conf" @@ -51,7 +52,7 @@ def GetSlivers(data, config, plc = None): try: # Check to see if sliver is running. If not, continue - if isLXCDomRunning(sliver['name']): + if slivermanager.is_running(sliver['name']): # Check if new or needs updating if (sliver['name'] not in slicesinconf.keys()) \ or (params not in slicesinconf.get(sliver['name'], [])): @@ -124,14 +125,19 @@ def parseConf(conf = CODEMUXCONF): try: f = open(conf) for line in f.readlines(): - if line.startswith("#") \ - or (len(line.split()) > 4) \ - or (len(line.split()) < 3): + parts = line.split() + if line.startswith("#") or (len(parts) > 4) or (len(parts) < 3): continue - (host, slice, port) = line.split()[:3] - logger.log("codemux: found %s in conf" % slice, 2) - slicesinconf.setdefault(slice, []) - slicesinconf[slice].append({"host": host, "port": port}) + if len(parts) == 4: + (host, slice, port, ip) = parts + logger.log("codemux: found %s in conf" % slice, 2) + slicesinconf.setdefault(slice, []) + slicesinconf[slice].append({"host": host, "port": port, "ip": ip}) + else: + (host, slice, port) = parts[:3] + logger.log("codemux: found %s in conf" % slice, 2) + slicesinconf.setdefault(slice, []) + slicesinconf[slice].append({"host": host, "port": port}) f.close() except IOError: logger.log_exc("codemux.parseConf got IOError") return slicesinconf @@ -166,13 +172,3 @@ def stopService(): logger.log_call(["/etc/init.d/codemux", "stop", ]) logger.log_call(["/sbin/chkconfig", "codemux", "off"]) -def isLXCDomRunning(domName): - try: - running = False - conn = libvirt.open('lxc://') - dom = conn.lookupByName(domName) - running = dom.info()[0] == libvirt.VIR_DOMAIN_RUNNING - finally: - conn.close() - return running -