def test_lab(self, lab_id, lab_src_url, revision_tag=None): Logging.LOGGER.debug("Controller.test_lab() for lab ID %s and git url %s" \ % (lab_id, lab_src_url)) try: lab_spec = LabManager.get_lab_reqs(lab_id, lab_src_url, revision_tag) self.update_lab_spec(lab_spec, lab_id, lab_src_url, revision_tag) if lab_spec['lab']['runtime_requirements']['hosting'] == 'dedicated': self.undeploy_lab(lab_id) vmpoolmgr = VMPoolManager.VMPoolManager() lab_state = vmpoolmgr.create_vm(lab_spec) ip = lab_state['vm_info']['vm_ip'] port = lab_state['vm_info']['vmm_port'] vmmgrurl = "http://" + ip try: if LabManager.test_lab(vmmgrurl, port, lab_src_url, revision_tag): self.update_state(lab_state) Logging.LOGGER.info("Controller.test_lab: test succcessful") return ip elif LabManager.test_lab(vmmgrurl, port, lab_src_url, revision_tag): self.update_state(lab_state) Logging.LOGGER.info("Controller.test_lab: test succcessful") return ip else: Logging.LOGGER.error("Test failed") return "Test failed: See log file for errors" except Exception, e: Logging.LOGGER.error("Test failed with error: " + str(e)) return "Test failed: See log file for errors" finally: self.system.save()
def test_lab(self, lab_id, lab_src_url, revision_tag=None): Logging.LOGGER.debug("Controller.test_lab() for lab ID %s and git url %s" \ % (lab_id, lab_src_url)) try: lab_spec = LabManager.get_lab_reqs(lab_id, lab_src_url, revision_tag) self.update_lab_spec(lab_spec, lab_id, lab_src_url, revision_tag) if lab_spec['lab']['runtime_requirements']['hosting'] == 'dedicated': """ TODO: Undeploy , fnd proper place to invoke undeploy""" self.undeploy_lab(lab_id) vmpoolmgr = VMPoolManager.VMPoolManager() Logging.LOGGER.debug("Controller: test_lab(); invoking create_vm() on vmpoolmgr") lab_state = vmpoolmgr.create_vm(lab_spec) Logging.LOGGER.debug("Controller: test_lab(): Returned from VMPool = %s" % (str(lab_state))) ip = lab_state['vm_info']['vm_ip'] port = lab_state['vm_info']['vmm_port'] vmmgrurl = "http://" + ip Logging.LOGGER.debug("Controller: test_lab(): vmmgrurl = %s" % (vmmgrurl)) try: (ret_val, ret_str) = LabManager.test_lab(vmmgrurl, port, lab_src_url, revision_tag) if(ret_val): self.update_state(lab_state) Logging.LOGGER.info("Controller: test_lab(): test succcessful") return ip else: Logging.LOGGER.error("Controller: test_lab(); Test failed with error:" + str(ret_str)) return "Test failed: See log file for errors" except Exception, e: Logging.LOGGER.error("Controller: test_lab(); Test failed with error: " + str(e)) return "Test failed: See log file for errors" """ TODO: Garbage collection clean up for the created VM """ finally: self.system.save()
def test_lab(self, lab_id, lab_src_url, revision_tag=None): Logging.LOGGER.debug("Controller.test_lab() for lab ID %s and git url %s" \ % (lab_id, lab_src_url)) try: lab_spec = LabManager.get_lab_reqs(lab_id, lab_src_url, revision_tag) self.update_lab_spec(lab_spec, lab_id, lab_src_url, revision_tag) if lab_spec['lab']['runtime_requirements'][ 'hosting'] == 'dedicated': self.undeploy_lab(lab_id) vmpoolmgr = VMPoolManager.VMPoolManager() lab_state = vmpoolmgr.create_vm(lab_spec) ip = lab_state['vm_info']['vm_ip'] port = lab_state['vm_info']['vmm_port'] vmmgrurl = "http://" + ip try: if LabManager.test_lab(vmmgrurl, port, lab_src_url, revision_tag): self.update_state(lab_state) Logging.LOGGER.info( "Controller.test_lab: test succcessful") return ip elif LabManager.test_lab(vmmgrurl, port, lab_src_url, revision_tag): self.update_state(lab_state) Logging.LOGGER.info( "Controller.test_lab: test succcessful") return ip else: Logging.LOGGER.error("Test failed") return "Test failed: See log file for errors" except Exception, e: Logging.LOGGER.error("Test failed with error: " + str(e)) return "Test failed: See log file for errors" finally: self.system.save()
def test_lab(self, lab_id, lab_src_url, revision_tag=None): Logging.LOGGER.debug("Controller.test_lab() for lab ID %s and git url %s" \ % (lab_id, lab_src_url)) try: lab_spec = LabManager.get_lab_reqs(lab_id, lab_src_url, revision_tag) self.update_lab_spec(lab_spec, lab_id, lab_src_url, revision_tag) if lab_spec['lab']['runtime_requirements'][ 'hosting'] == 'dedicated': """ TODO: Undeploy , fnd proper place to invoke undeploy""" self.undeploy_lab(lab_id) vmpoolmgr = VMPoolManager.VMPoolManager() Logging.LOGGER.debug( "Controller: test_lab(); invoking create_vm() on vmpoolmgr") lab_state = vmpoolmgr.create_vm(lab_spec) Logging.LOGGER.debug( "Controller: test_lab(): Returned from VMPool = %s" % (str(lab_state))) ip = lab_state['vm_info']['vm_ip'] port = lab_state['vm_info']['vmm_port'] vmmgrurl = "http://" + ip Logging.LOGGER.debug("Controller: test_lab(): vmmgrurl = %s" % (vmmgrurl)) try: (ret_val, ret_str) = LabManager.test_lab(vmmgrurl, port, lab_src_url, revision_tag) if (ret_val): self.update_state(lab_state) Logging.LOGGER.info( "Controller: test_lab(): test succcessful") return ip else: Logging.LOGGER.error( "Controller: test_lab(); Test failed with error:" + str(ret_str)) return "Test failed: See log file for errors" except Exception, e: Logging.LOGGER.error( "Controller: test_lab(); Test failed with error: " + str(e)) return "Test failed: See log file for errors" """ TODO: Garbage collection clean up for the created VM """ finally: self.system.save()