def test_boot_from_volume(self): block_device_info = db_fakes.get_fake_block_device_info(self._volume_target_portal, self._volume_id) self._spawn_instance(False, block_device_info) (_, volumes_paths, _) = self._hypervutils.get_vm_disks(self._instance_data["name"]) self.assertEquals(len(volumes_paths), 1) sessions_exist = self._hypervutils.iscsi_volume_sessions_exist(self._volume_id) self.assertTrue(sessions_exist)
def _test_pre_live_migration(self, cow, with_volumes): self.flags(use_cow_images=cow) instance_data = self._get_instance_data() instance = db.instance_create(self._context, instance_data) instance['system_metadata'] = {} network_info = fake_network.fake_get_instance_nw_info(self.stubs, spectacular=True) m = livemigrationutils.LiveMigrationUtils.check_live_migration_config() m.AndReturn(True) if cow: m = basevolumeutils.BaseVolumeUtils.volume_in_mapping(mox.IsA(str), None) m.AndReturn(False) m = vhdutils.VHDUtils.get_vhd_info(mox.Func(self._check_img_path)) m.AndReturn({'MaxInternalSize': 1024}) fake.PathUtils.copyfile(mox.IsA(str), mox.IsA(str)) vhdutils.VHDUtils.resize_vhd(mox.IsA(str), mox.IsA(object)) if with_volumes: block_device_info = db_fakes.get_fake_block_device_info( self._volume_target_portal, self._volume_id) mapping = driver.block_device_info_get_mapping(block_device_info) data = mapping[0]['connection_info']['data'] target_lun = data['target_lun'] target_iqn = data['target_iqn'] target_portal = data['target_portal'] fake_mounted_disk = "fake_mounted_disk" fake_device_number = 0 self._mock_login_storage_target(target_iqn, target_lun, target_portal, fake_mounted_disk, fake_device_number) else: block_device_info = None self._mox.ReplayAll() self._conn.pre_live_migration(self._context, instance, block_device_info, network_info) self._mox.VerifyAll() if cow: self.assertTrue(self._fetched_image is not None) else: self.assertTrue(self._fetched_image is None)
def test_boot_from_volume(self): block_device_info = db_fakes.get_fake_block_device_info( self._volume_target_portal, self._volume_id) self._setup_spawn_instance_mocks(cow=False, block_device_info=block_device_info, boot_from_volume=True) self._mox.ReplayAll() self._spawn_instance(False, block_device_info) self._mox.VerifyAll() self.assertEquals(len(self._instance_volume_disks), 1)
def test_boot_from_volume(self): block_device_info = db_fakes.get_fake_block_device_info( self._volume_target_portal, self._volume_id) self._spawn_instance(False, block_device_info) (_, volumes_paths, _) = self._hypervutils.get_vm_disks(self._instance_data["name"]) self.assertEquals(len(volumes_paths), 1) sessions_exist = self._hypervutils.iscsi_volume_sessions_exist( self._volume_id) self.assertTrue(sessions_exist)
def test_boot_from_volume(self): connection_info = db_fakes.get_fake_volume_info_data( self._volume_target_portal, self._volume_id) data = connection_info['data'] target_lun = data['target_lun'] target_iqn = data['target_iqn'] target_portal = data['target_portal'] block_device_info = db_fakes.get_fake_block_device_info( self._volume_target_portal, self._volume_id) fake_mounted_disk = "fake_mounted_disk" fake_device_number = 0 fake_controller_path = 'fake_scsi_controller_path' volumeutils.VolumeUtils.login_storage_target(target_lun, target_iqn, target_portal) m = volumeutils.VolumeUtils.get_device_number_for_target(target_iqn, target_lun) m.AndReturn(fake_device_number) m = vmutils.VMUtils.get_mounted_disk_by_drive_number( fake_device_number) m.AndReturn(fake_mounted_disk) m = vmutils.VMUtils.get_vm_ide_controller(mox.IsA(str), mox.IsA(int)) m.AndReturn(fake_controller_path) m = vmutils.VMUtils.attach_volume_to_controller(mox.IsA(str), fake_controller_path, 0, fake_mounted_disk) m.WithSideEffects(self._add_volume_disk) self._setup_spawn_instance_mocks(cow=False, block_device_info=block_device_info, boot_from_volume=True) self._mox.ReplayAll() self._spawn_instance(False, block_device_info) self._mox.VerifyAll() self.assertEquals(len(self._instance_volume_disks), 1)
def test_boot_from_volume(self): connection_info = db_fakes.get_fake_volume_info_data( self._volume_target_portal, self._volume_id) data = connection_info['data'] target_lun = data['target_lun'] target_iqn = data['target_iqn'] target_portal = data['target_portal'] block_device_info = db_fakes.get_fake_block_device_info( self._volume_target_portal, self._volume_id) fake_mounted_disk = "fake_mounted_disk" fake_device_number = 0 fake_controller_path = 'fake_scsi_controller_path' volumeutils.VolumeUtils.login_storage_target(target_lun, target_iqn, target_portal) m = volumeutils.VolumeUtils.get_device_number_for_target( target_iqn, target_lun) m.AndReturn(fake_device_number) m = vmutils.VMUtils.get_mounted_disk_by_drive_number( fake_device_number) m.AndReturn(fake_mounted_disk) m = vmutils.VMUtils.get_vm_ide_controller(mox.IsA(str), mox.IsA(int)) m.AndReturn(fake_controller_path) m = vmutils.VMUtils.attach_volume_to_controller( mox.IsA(str), fake_controller_path, 0, fake_mounted_disk) m.WithSideEffects(self._add_volume_disk) self._setup_spawn_instance_mocks(cow=False, block_device_info=block_device_info, boot_from_volume=True) self._mox.ReplayAll() self._spawn_instance(False, block_device_info) self._mox.VerifyAll() self.assertEquals(len(self._instance_volume_disks), 1)