def get_config(self, enable_api=True): #computers = project.job_set.buildcomputer_set.all() assignments = self.project.jobassignment_set.all() # computers = assignments.computers_set.all() db_info = get_database_info() #FIXME from cthulhubot.bbot import HttpApi builders = [ { 'name': assignment.get_domain_object().get_identifier(), 'slavename': ProjectClient.objects.get(project=self.project, computer=assignment.computer).get_name(), 'builddir': assignment.get_domain_object().get_identifier(), 'factory': assignment.get_domain_object().get_factory() } for assignment in assignments ] schedulers = [] if enable_api: schedulers.append(HttpApi(port=int(self.api_port), name="api", builders=[b['name'] for b in builders])) config = { 'slavePortnum' : int(self.buildmaster_port), 'slaves' : [BuildSlave(client.get_name(), client.password) for client in ProjectClient.objects.filter(project=self.project)], 'change_source' : PBChangeSource(), 'builders' : builders, 'schedulers' : self.get_schedulers(assignments)+schedulers, 'status' : [ MongoDb(database = get_database_name(), master_id = self.pk, host = db_info['host'], port = db_info['port'], username = db_info['username'], password = db_info['password'], ), ], 'projectName' : self.project.name, 'projectURL' : self.project.tracker_uri, 'buildbotURL' : self.get_webstatus_uri(), 'multiMaster' : True, 'db_poll_interval' : getattr(settings, "BUILDBOT_DB_POLL_INTERVAL", 60), 'db_url' : getattr(settings, "BUILDBOT_DB_URL", BUILDBOT_DEFAULT_DB), } return config
def _get_command_skeleton(self): command = [ "python", "setup.py", "save_repository_information_git", "--mongodb-host=%s" % getattr(settings, "MONGODB_HOST", "localhost"), "--mongodb-port=%s" % getattr(settings, "MONGODB_PORT", 27017), "--mongodb-database=%s" % get_database_name(), "--mongodb-collection=repository", ] if getattr(settings, "MONGODB_USERNAME", None): command.append("--mongodb-username=%s" % getattr(settings, "MONGODB_USERNAME", None)) if getattr(settings, "MONGODB_PASSWORD", None): command.append("--mongodb-password=%s" % getattr(settings, "MONGODB_PASSWORD", None)) return command