def test_create_vm(self): expected_goldimage_name = NameUtil.goldimage_vmdisk_name( "ubuntu1604-x86_64", "os") vm_name = NameUtil.goldimage_vm_name(self.scenario, "ubuntu1604") datastore_name = self.cluster._mgmt_server_info.prism_container_id node_id = self.cluster.nodes()[0].node_id() vm = self.cluster.create_vm(self.scenario.goldimages_directory, "ubuntu1604", vm_name, vcpus=1, ram_mb=1024, node_id=node_id, datastore_name=datastore_name, data_disks=[10, 20, 30]) vms = self.cluster.find_vms([vm_name]) assert len(vms) == 1, "Too many VMs found for %s" % vm_name assert vms[0].vm_name() == vm_name, "VM found %s wasn't %s" % ( vms[0].vm_name(), vm_name) assert isinstance(vms[0], AcropolisVm), ("VM is %s instead of AcropolisVm" % str(type(vms[0]))) found_images = self.__get_image_names() assert expected_goldimage_name in found_images, \ "Goldimage disk wasn't found in image service." self.scenario.cluster.cleanup() found_images = self.__get_image_names() assert expected_goldimage_name not in found_images, \ "Goldimage disk wasn't found in image service."
def test_create_vm(self): vm_name = NameUtil.goldimage_vm_name(self.scenario, "ubuntu1604") datastore_name = self.cluster._vcenter_info.vcenter_datastore_name node_id = self.cluster.nodes()[0].node_id() vm = self.cluster.create_vm(self.scenario.goldimages_directory, "ubuntu1604", vm_name, vcpus=1, ram_mb=1024, node_id=node_id, datastore_name=datastore_name, data_disks=[10, 20, 30]) vms = self.cluster.find_vms([vm_name]) assert len(vms) == 1, "Too many VMs found for %s" % vm_name assert vms[0].vm_name() == vm_name, "VM found %s wasn't %s" % ( vms[0].vm_name(), vm_name) assert isinstance(vms[0], VsphereVm), ("VM is %s instead of VsphereVm" % str(type(vms[0]))) paths = self._get_datastore_paths("__curie_goldimage*") assert len(paths) > 0, "Goldimage paths were not found in datastore. %s" % paths self.scenario.cluster.cleanup() paths = self._get_datastore_paths("__curie_goldimage*") assert len(paths) == 0, \ "Goldimage paths were found in datastore after cleanup."
def __deploy_from_template(self): """Deploy a VM template. If the template has already been deployed on the cluster, this function is a no-op. Returns: CurieVM: VM of the deployed template. Raises: CurieException: If no image named goldimage_name exists. CurieTestException: If the VM fails to be created properly. """ image_name = "%s_%s" % (self.vm_group.template_name(), NameUtil.sanitize_filename( self.vm_group.name())) vm_name = NameUtil.goldimage_vm_name(self.scenario, image_name) vm = self.scenario.cluster.find_vm(vm_name) if vm is not None: return vm node_id = self.scenario.cluster.nodes()[0].node_id() if self.vm_group.template_type() == "OVF": return self.scenario.cluster.import_vm( self.scenario.goldimages_directory, self.vm_group.template_name(), vm_name, node_id=node_id) elif self.vm_group.template_type() == "DISK": return self.scenario.cluster.create_vm( self.scenario.goldimages_directory, self.vm_group.template_name(), vm_name, node_id=node_id, vcpus=self.vm_group.vcpus(), ram_mb=self.vm_group.ram_mb(), data_disks=self.vm_group.data_disks())