def startInstance(self, instanceNo): #AWS_INSTANCE 取得 tableCSINS = self.conn.getTable("CLOUDSTACK_INSTANCE") csInstance = self.conn.selectOne(tableCSINS.select(tableCSINS.c.INSTANCE_NO==instanceNo)) #PCC_INSTANCE 取得 tableINS = self.conn.getTable("INSTANCE") pccInstance = self.conn.selectOne(tableINS.select(tableINS.c.INSTANCE_NO==instanceNo)) #イメージの取得 再考の余地あり image = getImage(pccInstance["IMAGE_NO"]) # if isEmpty(csInstance["INSTANCE_ID"]): #インスタンスの作成 self.run(instanceNo, csInstance, pccInstance, image) #winodowsなら if (startsWithIgnoreCase(image["os"], "windows")): #INSTANCE_ID取得の為、CLOUDSTACK_INSTANCE 再取得 csInstance = self.conn.selectOne(tableCSINS.select(tableCSINS.c.INSTANCE_NO==instanceNo)) self.client.getPasswordData(csInstance["INSTANCE_ID"]) else: # インスタンスが停止中でない場合はスキップ if (csInstance["STATE"] != "Stopped"): return; # インスタンスの起動 self.start(instanceNo, csInstance, pccInstance)
def startInstance(self, instanceNo): #AWS_INSTANCE 取得 tableAWSINS = self.conn.getTable("AWS_INSTANCE") awsInstance = self.conn.selectOne( tableAWSINS.select(tableAWSINS.c.INSTANCE_NO == instanceNo)) #PCC_INSTANCE 取得 tableINS = self.conn.getTable("INSTANCE") pccInstance = self.conn.selectOne( tableINS.select(tableINS.c.INSTANCE_NO == instanceNo)) #イメージの取得 再考の余地あり image = getImage(pccInstance["IMAGE_NO"]) # インスタンスイメージの場合や、EBSイメージでインスタンスIDがない場合 if (image["ebsImage"] == "false" or isEmpty(awsInstance["INSTANCE_ID"])): #インスタンスIDがある場合はスキップ if (isEmpty(awsInstance["INSTANCE_ID"]) == False): return #インスタンスの作成 self.run(instanceNo, awsInstance, pccInstance, image) #インスタンスの作成待ち self.waitRun(instanceNo, pccInstance) #インスタンスにタグをつける self.createTag(instanceNo, pccInstance) #winodowsなら if (startsWithIgnoreCase(image["os"], "windows")): self.waitGetPasswordData(instanceNo, awsInstance) # EBSイメージでインスタンスIDがある場合 else: # インスタンスが停止中でない場合はスキップ if (awsInstance["STATUS"] != "stopped"): return # インスタンスの起動 self.start(instanceNo, awsInstance, pccInstance) # インスタンスの起動待ち self.waitStart(instanceNo, pccInstance)
def startInstance(self, instanceNo): #AWS_INSTANCE 取得 tableAWSINS = self.conn.getTable("AWS_INSTANCE") awsInstance = self.conn.selectOne(tableAWSINS.select(tableAWSINS.c.INSTANCE_NO==instanceNo)) #PCC_INSTANCE 取得 tableINS = self.conn.getTable("INSTANCE") pccInstance = self.conn.selectOne(tableINS.select(tableINS.c.INSTANCE_NO==instanceNo)) #イメージの取得 再考の余地あり image = getImage(pccInstance["IMAGE_NO"]) # インスタンスイメージの場合や、EBSイメージでインスタンスIDがない場合 if(image["ebsImage"] == "false" or isEmpty(awsInstance["INSTANCE_ID"])): #インスタンスIDがある場合はスキップ if (isEmpty(awsInstance["INSTANCE_ID"])==False): return; #インスタンスの作成 self.run(instanceNo, awsInstance, pccInstance, image) #インスタンスの作成待ち self.waitRun(instanceNo, pccInstance) #インスタンスにタグをつける self.createTag(instanceNo, pccInstance) #winodowsなら if (startsWithIgnoreCase(image["os"], "windows")): self.waitGetPasswordData(instanceNo, awsInstance) # EBSイメージでインスタンスIDがある場合 else: # インスタンスが停止中でない場合はスキップ if (awsInstance["STATUS"] != "stopped"): return; # インスタンスの起動 self.start(instanceNo, awsInstance, pccInstance) # インスタンスの起動待ち self.waitStart(instanceNo, pccInstance)