+ # set log level
+ if (options.verbose):
+ logger.set_level(logger.LOG_VERBOSE)
+
+ # Load /etc/planetlab/plc_config
+ config = Config(options.config)
+
+ try:
+ other_pid = tools.pid_file()
+ if other_pid != None:
+ print """There might be another instance of the node manager running as pid %d. If this is not the case, please remove the pid file %s""" % (other_pid, tools.PID_FILE)
+ return
+ except OSError, err:
+ print "Warning while writing PID file:", err
+
+ # Load and start modules
+ if options.module:
+ assert options.module in known_modules
+ running_modules=[options.module]
+ logger.verbose('Running single module %s'%options.module)
+ else:
+ running_modules=known_modules
+ for module in running_modules:
+ try:
+ m = __import__(module)
+ m.start(options, config)
+ modules.append(m)
+ except ImportError, err:
+ print "Warning while loading module %s:" % module, err
+
+ # Load /etc/planetlab/session
+ if os.path.exists(options.session):
+ session = file(options.session).read().strip()
+ else:
+ session = options.session