def main(args): parser = _createParser() log.debug('manager', 'Parsing arguments (%r)' % ', '.join(args)) options, args = parser.parse_args(args) # Force options down configure's throat for d in ['logdir', 'rundir']: o = getattr(options, d, None) if o: log.debug('manager', 'Setting configure.%s to %s' % (d, o)) setattr(configure, d, o) # parse planet config file if len(args) <= 1: log.warning('manager', 'Please specify a planet configuration file') sys.stderr.write("Please specify a planet configuration file.\n") return 1 planetFile = args[1] try: cfg = config.ManagerConfigParser(planetFile) except IOError, e: sys.stderr.write("ERROR: Could not read configuration from '%s':\n" % planetFile) sys.stderr.write("ERROR: %s\n" % e.strerror) return 1
def validate(fname, onlyManager=False, printOnly=False): if not printOnly: _promoteDeprecationWarnings() conf = config.ManagerConfigParser(fname) conf.parseBouncerAndPlugs() _validateManagerPlugs(conf) if onlyManager: return conf = config.PlanetConfigParser(fname) conf.parse()
def setUp(self): from flumotion.twisted import pb from flumotion.common import server, connection from flumotion.manager import manager, config from StringIO import StringIO managerConf = """ <planet> <manager name="planet"> <host>localhost</host> <port>0</port> <transport>tcp</transport> <component name="manager-bouncer" type="htpasswdcrypt-bouncer"> <property name="data"><![CDATA[ user:PSfNpHTkpTx1M ]]></property> </component> </manager> </planet> """ conf = config.ManagerConfigParser(StringIO(managerConf)).manager self.vishnu = manager.Vishnu(conf.name, unsafeTracebacks=True) self.vishnu.loadManagerConfigurationXML(StringIO(managerConf)) s = server.Server(self.vishnu) if conf.transport == "ssl": p = s.startSSL(conf.host, conf.port, conf.certificate, configure.configdir) elif conf.transport == "tcp": p = s.startTCP(conf.host, conf.port) self.tport = p self.port = p.getHost().port i = connection.PBConnectionInfo('localhost', self.port, conf.transport == 'ssl', pb.Authenticator(username='******', password='******')) self.connectionInfo = i