import logger
import os
import vserver
-from sets import Set
from config import Config
CODEMUXCONF="/etc/codemux/codemux.conf"
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():
pass
# Remove slices from conf that no longer have the attribute
- for deadslice in Set(slicesinconf.keys()) - Set(codemuxslices.keys()):
+ for deadslice in set(slicesinconf.keys()) - set(codemuxslices.keys()):
# XXX Hack for root slice
if deadslice != "root":
logger.log("codemux: Removing %s" % deadslice)
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()
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__)
else:
return False
-
def restartService():
+ if not os.path.exists("/etc/init.d/codemux"): return
logger.log("codemux: Restarting codemux service")
if isRunning():
logger.log_call(["/etc/init.d/codemux","condrestart", ])
else:
logger.log_call(["/etc/init.d/codemux","restart", ])
-
def startService():
+ if not os.path.exists("/etc/init.d/codemux"): return
if not isRunning():
logger.log("codemux: Starting codemux service")
logger.log_call(["/etc/init.d/codemux", "start", ])
def stopService():
+ if not os.path.exists("/etc/init.d/codemux"): return
if isRunning():
logger.log("codemux: Stopping codemux service")
logger.log_call(["/etc/init.d/codemux", "stop", ])