def matchOrCreateScenario(scenList, rootPath): scenIDList = [] for scen in scenList: try: scenID = models.Scenario.get( \ models.Scenario.scenType == scen.scenType, \ models.Scenario.numFollowers == scen.numFollowers, \ models.Scenario.numAggregators == scen.numAggregators, \ models.Scenario.aggPerFollower == scen.aggPerFollower, \ models.Scenario.policy == scen.policy, \ models.Scenario.numFacts == scen.numFacts, \ models.Scenario.ruleScenario == scen.ruleScenario, \ models.Scenario.valRange == scen.valRange, \ models.Scenario.numExtraCols == scen.numExtraCols, \ models.Scenario.numHosts == scen.numHosts, \ models.Scenario.hosts == str(scen.hosts), \ models.Scenario.numPeersPerHost == scen.numPeersPerHost, \ models.Scenario.networkFile == scen.networkFile \ ).scenID print '*** Found matching scenario with scenID %i.' % scenID except DoesNotExist: # scenario was not found, create it scenID = scenario.generateScenarioFiles(scen, rootPath) print '*** Scenario not found; created new scenario %i' % scenID scenIDList.append(scenID) return scenIDList
# scenID = _ _ _ (filled in later) scenType = 'MAF', \ numFollowers = 6*3, \ numAggregators = 3*3, \ aggPerFollower = 1*3, \ policy = tup[0], \ numFacts = tup[1], \ ruleScenario = tup[2], \ valRange = 1000, \ hosts = ['slave01','slave02','slave03','slave04','slave05'], \ numHosts = 5, \ numPeersPerHost = 3*3 ) scenarioList.append(scenario) return scenarioList if __name__ == "__main__": rootPath = os.path.join(pathToRepository, '/webdamlog-exp') # create scenario instances scenarioList = case1() print len(scenarioList) # generate scenarios for s in scenarioList: newScenID = scenario.generateScenarioFiles( s, rootPath ) print 'Generated new scenario: ', newScenID localSVNCommit(rootPath) # commit results
scenType = 'MAF', \ numFollowers = 6*3, \ numAggregators = 3*3, \ aggPerFollower = 1*3, \ policy = tup[0], \ numFacts = tup[1], \ ruleScenario = tup[2], \ valRange = 1000, \ hosts = ['slave01','slave02','slave03','slave04','slave05'], \ numHosts = 5, \ numPeersPerHost = 3*3 ) scenarioList.append(scenario) return scenarioList if __name__ == "__main__": rootPath = os.path.join(pathToRepository, '/webdamlog-exp') # create scenario instances scenarioList = case1() print len(scenarioList) # generate scenarios for s in scenarioList: newScenID = scenario.generateScenarioFiles(s, rootPath) print 'Generated new scenario: ', newScenID localSVNCommit(rootPath) # commit results