X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plugins%2Fcodemux.py;h=02200d627f973e933b83d48ffdfadc893d2e92a9;hb=cc9a579cb1673ba331a6b9afa4632a63d503662a;hp=f14fdc05e62687228bb1618fcb485067fa5c9f98;hpb=49a4ce9cb926041815283409433793700ff386cd;p=nodemanager.git diff --git a/plugins/codemux.py b/plugins/codemux.py index f14fdc0..02200d6 100644 --- a/plugins/codemux.py +++ b/plugins/codemux.py @@ -48,7 +48,12 @@ def GetSlivers(data, config, plc = None): if len(parts)<2: logger.log("codemux: attribute value (%s) for codemux not separated by comma. Skipping."%attribute['value']) continue - params = {'host': parts[0], 'port': parts[1]} + if len(parts) == 3: + ip = parts[2] + else: + ip = "" + params = {'host': parts[0], 'port': parts[1], 'ip': ip} + try: # Check to see if sliver is running. If not, continue if vserver.VServer(sliver['name']).is_running(): @@ -93,7 +98,7 @@ def writeConf(slivers, conf = CODEMUXCONF): for mapping in slivers: for (host, params) in mapping.iteritems(): if params['slice'] == "root": continue - f.write("%s %s %s\n" % (host, params['slice'], params['port'])) + f.write("%s %s %s %s\n" % (host, params['slice'], params['port'], params['ip'])) f.truncate() f.close() try: restartService() @@ -105,7 +110,7 @@ def sortDomains(slivers): dnames = {} # {host: slice} for (slice, params) in slivers.iteritems(): for mapping in params: - dnames[mapping['host']] = {"slice":slice, "port": mapping['port']} + dnames[mapping['host']] = {"slice":slice, "port": mapping['port'], "ip": mapping['ip']} hosts = dnames.keys() # sort by length hosts.sort(key=str.__len__)