Exemplo n.º 1
0
    def test_create_cloned_volume(self):
        drv = self._driver

        volume = db_fakes.get_fake_volume_info()
        volume_cloned = db_fakes.get_fake_volume_info_cloned()
        new_vhd_path = self.fake_local_path(volume)
        src_vhd_path = self.fake_local_path(volume_cloned)

        self.mox.StubOutWithMock(windows_utils.WindowsUtils,
                                 'copy_vhd_disk')
        self.mox.StubOutWithMock(windows_utils.WindowsUtils,
                                 'import_wt_disk')
        self.mox.StubOutWithMock(vhdutils.VHDUtils,
                                 'resize_vhd')

        self.stubs.Set(drv.utils,
                       'is_resize_needed',
                       lambda vhd_path, new_size, old_size: True)
        self.stubs.Set(drv, 'local_path', self.fake_local_path)

        windows_utils.WindowsUtils.copy_vhd_disk(src_vhd_path,
                                                 new_vhd_path)
        drv.utils.is_resize_needed(new_vhd_path,
                                   volume['size'],
                                   volume_cloned['size'])
        vhdutils.VHDUtils.resize_vhd(new_vhd_path, volume['size'] << 30)
        windows_utils.WindowsUtils.import_wt_disk(new_vhd_path,
                                                  volume['name'])

        self.mox.ReplayAll()

        drv.create_cloned_volume(volume, volume_cloned)
Exemplo n.º 2
0
    def test_create_cloned_volume(self, mock_local_path, mock_tmp_snap):
        tgt_utils = self._driver._tgt_utils

        fake_volume = db_fakes.get_fake_volume_info()
        fake_src_volume = db_fakes.get_fake_volume_info_cloned()

        mock_tmp_snap.return_value.__enter__.return_value = mock.sentinel.tmp_snap_name
        mock_local_path.return_value = mock.sentinel.vol_vhd_path

        self._driver.create_cloned_volume(fake_volume, fake_src_volume)

        mock_tmp_snap.assert_called_once_with(fake_src_volume["name"])
        tgt_utils.export_snapshot.assert_called_once_with(mock.sentinel.tmp_snap_name, mock.sentinel.vol_vhd_path)
        self._driver._vhdutils.resize_vhd.assert_called_once_with(
            mock.sentinel.vol_vhd_path, fake_volume["size"] * units.Gi, is_file_max_size=False
        )
        tgt_utils.import_wt_disk.assert_called_once_with(mock.sentinel.vol_vhd_path, fake_volume["name"])
Exemplo n.º 3
0
    def test_create_cloned_volume(self, mock_local_path, mock_tmp_snap):
        tgt_utils = self._driver._tgt_utils

        fake_volume = db_fakes.get_fake_volume_info()
        fake_src_volume = db_fakes.get_fake_volume_info_cloned()

        mock_tmp_snap.return_value.__enter__.return_value = (
            mock.sentinel.tmp_snap_name)
        mock_local_path.return_value = mock.sentinel.vol_vhd_path

        self._driver.create_cloned_volume(fake_volume, fake_src_volume)

        mock_tmp_snap.assert_called_once_with(fake_src_volume['name'])
        tgt_utils.export_snapshot.assert_called_once_with(
            mock.sentinel.tmp_snap_name, mock.sentinel.vol_vhd_path)
        self._driver._vhdutils.resize_vhd.assert_called_once_with(
            mock.sentinel.vol_vhd_path,
            fake_volume['size'] * units.Gi,
            is_file_max_size=False)
        tgt_utils.import_wt_disk.assert_called_once_with(
            mock.sentinel.vol_vhd_path, fake_volume['name'])