import logger
import os
import vserver
-from sets import Set
from config import Config
CODEMUXCONF="/etc/codemux/codemux.conf"
-def start(options, conf):
+def start():
logger.log("codemux: plugin starting up...")
def GetSlivers(data, config, plc = None):
"""
- For each sliver with the codemux attribute, parse out "host,port"
+ For each sliver with the codemux attribute, parse out "host,port"
and make entry in conf. Restart service after.
"""
if 'OVERRIDES' in dir(config):
slicesinconf = parseConf()
# slices that need to be written to the conf
codemuxslices = {}
-
+
# XXX Hack for planetflow
if slicesinconf.has_key("root"): _writeconf = False
else: _writeconf = True
# Check if new or needs updating
if (sliver['name'] not in slicesinconf.keys()) \
or (params not in slicesinconf.get(sliver['name'], [])):
- logger.log("codemux: Updaiting slice %s using %s" % \
+ logger.log("codemux: Updating slice %s using %s" % \
(sliver['name'], params['host']))
# Toggle write.
_writeconf = True
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":
+ if deadslice != "root":
logger.log("codemux: Removing %s" % deadslice)
- _writeconf = True
+ _writeconf = True
- if _writeconf: writeConf(sortDomains(codemuxslices))
+ if _writeconf: writeConf(sortDomains(codemuxslices))
# ensure the service is running
startService()
'''Write conf with default entry up top. Elements in [] should have lower order domain names first. Restart service.'''
f = open(conf, "w")
# This needs to be the first entry...
- try:
+ try:
f.write("* root 1080 %s\n" % Config().PLC_PLANETFLOW_HOST)
- except AttributeError:
+ except AttributeError:
logger.log("codemux: Can't find PLC_CONFIG_HOST in config. Using PLC_API_HOST")
f.write("* root 1080 %s\n" % Config().PLC_API_HOST)
# Sort items for like domains
# make list of slivers
sortedslices = []
for host in hosts: sortedslices.append({host: dnames[host]})
-
+
return sortedslices
-
+
def parseConf(conf = CODEMUXCONF):
'''Parse the CODEMUXCONF and return dict of slices in conf. {slice: (host,port)}'''
slicesinconf = {} # default
- try:
+ try:
f = open(conf)
for line in f.readlines():
if line.startswith("#") \