Esempio n. 1
0
    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."
Esempio n. 2
0
 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."
Esempio n. 3
0
    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())