def __init__(self,fileName, resourceManager, configurationManager, stats, jobSubmissionTime,dedicatedMode): # job2Submit of type JsdlParser.Job self.jsdlFile = fileName self.profiler = Timing.timeprofile() self.resourceManager = resourceManager self.configurationManager = configurationManager self.stats = stats self.jobSubmissionTime = jobSubmissionTime self.dedicatedMode = dedicatedMode self.runOnInstance = None self.jobHashValue = None try: self.jobToSubmit = JsdlParser.Job(self.jsdlFile) except: print "Error while parsing file %s:" % self.jsdlFile, sys.exc_info()[0] hashKey = "{0}{1}{2}".format(self.jobToSubmit.executableName,self.jobToSubmit.dataStaging,self.jobToSubmit.arguments) self.jobHashValue = hashlib.sha1(hashKey).hexdigest()
def initialization(self,resourceSpec,configurationManager): self.profiler = Timing.timeprofile() self.profiler.mark("resource_mng_connect") self.configurationManager = configurationManager self.keyPairFile = configurationManager.getKeyPairFile() self.VmInstanceUser = configurationManager.getVmInstanceUser() logging.debug("Private key file is %s" % self.keyPairFile) self.buildResourceSpec(resourceSpec) # Connect to Amazon EC2 self.AWS_ACCESS_KEY_ID = configurationManager.getEC2AccessKeyId() self.AWS_SECRET_ACCESS_KEY = configurationManager.getEC2SecretAccessKey() logging.debug("Checking validity of private key %s." % self.keyPairFile) key= paramiko.RSAKey(None, None,self.keyPairFile,'', None, None) self.instances = [] self.vmInstancesList = [] self.vmInstances = {} self.runningInstancesDic = { 'm1.small':0, 'c1.medium':0,'m1.large':0,'m1.xlarge':0,'c1.xlarge':0 } self.runningInstancesFile = configurationManager.getRunningInstancesFile() self.instanceWriteCount = 1