コード例 #1
0
 def create_disk(self, datastore, disk_id, size):
     spec = self._create_spec(size)
     name = vmdk_path(datastore, disk_id)
     vmdk_mkdir(datastore, disk_id, self._logger)
     self._manage_disk(vim.VirtualDiskManager.CreateVirtualDisk_Task,
                       name=name, spec=spec)
     self._manage_disk(vim.VirtualDiskManager.SetVirtualDiskUuid,
                       name=name, uuid=uuid_to_vmdk_uuid(disk_id))
コード例 #2
0
 def create_disk(self, datastore, disk_id, size):
     spec = self._create_spec(size)
     name = vmdk_path(datastore, disk_id)
     self._vmdk_mkdir(datastore, disk_id)
     self._manage_disk(vim.VirtualDiskManager.CreateVirtualDisk_Task,
                       name=name, spec=spec)
     self._manage_disk(vim.VirtualDiskManager.SetVirtualDiskUuid,
                       name=name, uuid=uuid_to_vmdk_uuid(disk_id))
コード例 #3
0
 def test_vmdk_uuid_conversion(self):
     for id in [
         "01234567-89ab-cedf-0123-456789abcdef",
         "01 23456 789ABCEDF0123456789ABCDEF",
         "01 23 45 67 89 ab ce df-01 23 45 67 89 ab cd ef",
         "0123456789abcedf0123456789abcdef",
     ]:
         vmdk_uuid = uuid_to_vmdk_uuid(id)
         assert_that(vmdk_uuid, equal_to("01 23 45 67 89 ab ce df-01 23 45 67 89 ab cd ef"))
     for id in ["", "01234567-89ab-cedf-0123-456789abcd", "01 23456 789abcedf0123456789abcdefabcd"]:
         self.assertRaises(ValueError, uuid_to_vmdk_uuid, id)
コード例 #4
0
 def test_vmdk_uuid_conversion(self):
     for id in ['01234567-89ab-cedf-0123-456789abcdef',
                '01 23456 789ABCEDF0123456789ABCDEF',
                '01 23 45 67 89 ab ce df-01 23 45 67 89 ab cd ef',
                '0123456789abcedf0123456789abcdef']:
         vmdk_uuid = uuid_to_vmdk_uuid(id)
         assert_that(
             vmdk_uuid,
             equal_to('01 23 45 67 89 ab ce df-01 23 45 67 89 ab cd ef'))
     for id in ['',
                '01234567-89ab-cedf-0123-456789abcd',
                '01 23456 789abcedf0123456789abcdefabcd']:
         self.assertRaises(ValueError, uuid_to_vmdk_uuid, id)
コード例 #5
0
 def test_vmdk_uuid_conversion(self):
     for id in ['01234567-89ab-cedf-0123-456789abcdef',
                '01 23456 789ABCEDF0123456789ABCDEF',
                '01 23 45 67 89 ab ce df-01 23 45 67 89 ab cd ef',
                '0123456789abcedf0123456789abcdef']:
         vmdk_uuid = uuid_to_vmdk_uuid(id)
         assert_that(
             vmdk_uuid,
             equal_to('01 23 45 67 89 ab ce df-01 23 45 67 89 ab cd ef'))
     for id in ['',
                '01234567-89ab-cedf-0123-456789abcd',
                '01 23456 789abcedf0123456789abcdefabcd']:
         self.assertRaises(ValueError, uuid_to_vmdk_uuid, id)
コード例 #6
0
    def test_create_empty_disk(self):
        vm_id = str(uuid.uuid4())
        datastore = "ds1"
        spec = self._create_spec_for_disk_test(datastore, vm_id)

        size_mb = 100
        disk_id = str(uuid.uuid4())
        self.vm_config.create_empty_disk(spec, datastore, disk_id, size_mb)

        devs = [change.device for change in spec.deviceChange]
        device_type = vim.vm.device.VirtualDisk
        disks = self.vm_config.find_devices(devs, device_type)
        assert_that(len(disks), equal_to(1))
        # verify that uuid to be set on disk to be added matches the
        # of the disk (modulo some formatting differences)
        assert_that(disks[0].backing.uuid, equal_to(uuid_to_vmdk_uuid(disk_id)))
コード例 #7
0
    def copy_disk(self, source_datastore, source_id, dest_datastore, dest_id):
        """Copy a virtual disk.

        This method is used to create a "full clone" of a vmdk.
        Underneath, this call boils down to doing a DiskLib_Clone()

        Command line equivalent:
          $ vmkfstools -i source dest

        """
        source = vmdk_path(source_datastore, source_id, IMAGE_FOLDER_NAME_PREFIX)
        dest = vmdk_path(dest_datastore, dest_id)
        self._vmdk_mkdir(dest_datastore, dest_id)
        self._manage_disk(vim.VirtualDiskManager.CopyVirtualDisk_Task,
                          sourceName=source, destName=dest)
        self._manage_disk(vim.VirtualDiskManager.SetVirtualDiskUuid,
                          name=dest, uuid=uuid_to_vmdk_uuid(dest_id))
コード例 #8
0
    def test_create_empty_disk(self):
        vm_id = str(uuid.uuid4())
        datastore = "ds1"
        spec = self._create_spec_for_disk_test(datastore, vm_id)

        size_mb = 100
        disk_id = str(uuid.uuid4())
        self.vm_config.create_empty_disk(spec, datastore, disk_id, size_mb)

        devs = [change.device for change in spec.deviceChange]
        device_type = vim.vm.device.VirtualDisk
        disks = self.vm_config.find_devices(devs, device_type)
        assert_that(len(disks), equal_to(1))
        # verify that uuid to be set on disk to be added matches the
        # of the disk (modulo some formatting differences)
        assert_that(disks[0].backing.uuid,
                    equal_to(uuid_to_vmdk_uuid(disk_id)))
コード例 #9
0
    def copy_disk(self, source_datastore, source_id, dest_datastore, dest_id):
        """Copy a virtual disk.

        This method is used to create a "full clone" of a vmdk.
        Underneath, this call boils down to doing a DiskLib_Clone()

        Command line equivalent:
          $ vmkfstools -i source dest

        """
        source = vmdk_path(source_datastore, source_id, IMAGE_FOLDER_NAME)
        dest = vmdk_path(dest_datastore, dest_id)
        vmdk_mkdir(dest_datastore, dest_id, self._logger)
        self._manage_disk(vim.VirtualDiskManager.CopyVirtualDisk_Task,
                          sourceName=source, destName=dest)
        self._manage_disk(vim.VirtualDiskManager.SetVirtualDiskUuid,
                          name=dest, uuid=uuid_to_vmdk_uuid(dest_id))
コード例 #10
0
 def set_disk_uuid(self, path, uuid):
     try:
         disk_mgr = self._content.virtualDiskManager
         disk_mgr.SetVirtualDiskUuid(name=os_to_datastore_path(path), uuid=uuid_to_vmdk_uuid(uuid))
     except vim.fault.FileFault, e:
         raise DiskFileException(e.msg)
コード例 #11
0
 def set_disk_uuid(self, path, uuid):
     try:
         disk_mgr = self._content.virtualDiskManager
         disk_mgr.SetVirtualDiskUuid(name=os_to_datastore_path(path), uuid=uuid_to_vmdk_uuid(uuid))
     except vim.fault.FileFault, e:
         raise DiskFileException(e.msg)