Beispiel #1
0
    def _attach_volume(self):
        self._spawn_instance(True)
        connection_info = db_fakes.get_fake_volume_info_data(
            self._volume_target_portal, self._volume_id)

        self._conn.attach_volume(connection_info,
            self._instance_data["name"], '/dev/sdc')
Beispiel #2
0
    def test_detach_volume(self):
        instance_data = self._get_instance_data()
        instance_name = instance_data['name']

        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']
        mount_point = '/dev/sdc'

        fake_mounted_disk = "fake_mounted_disk"
        fake_device_number = 0
        fake_free_slot = 1
        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)

        vmutils.VMUtils.detach_vm_disk(mox.IsA(str), fake_mounted_disk)

        volumeutils.VolumeUtils.logout_storage_target(mox.IsA(str))

        self._mox.ReplayAll()
        self._conn.detach_volume(connection_info, instance_data, mount_point)
        self._mox.VerifyAll()
Beispiel #3
0
    def _attach_volume(self):
        self._spawn_instance(True)
        connection_info = db_fakes.get_fake_volume_info_data(
            self._volume_target_portal, self._volume_id)

        self._conn.attach_volume(connection_info, self._instance_data["name"],
                                 '/dev/sdc')
    def test_detach_volume(self):
        instance_data = self._get_instance_data()
        instance_name = instance_data['name']

        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']
        mount_point = '/dev/sdc'

        fake_mounted_disk = "fake_mounted_disk"
        fake_device_number = 0
        fake_free_slot = 1
        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)

        vmutils.VMUtils.detach_vm_disk(mox.IsA(str), fake_mounted_disk)

        volumeutils.VolumeUtils.logout_storage_target(mox.IsA(str))

        self._mox.ReplayAll()
        self._conn.detach_volume(connection_info, instance_data, mount_point)
        self._mox.VerifyAll()
Beispiel #5
0
    def test_attach_volume_with_target_connection_failure(self):
        self._spawn_instance(True)

        target = 'nonexistingtarget:3260'
        connection_info = db_fakes.get_fake_volume_info_data(target,
            self._volume_id)

        self.assertRaises(vmutils.HyperVException, self._conn.attach_volume,
            connection_info, self._instance_data["name"], '/dev/sdc')
Beispiel #6
0
    def test_attach_volume_with_target_connection_failure(self):
        self._spawn_instance(True)

        target = 'nonexistingtarget:3260'
        connection_info = db_fakes.get_fake_volume_info_data(target,
            self._volume_id)

        self.assertRaises(vmutils.HyperVException, self._conn.attach_volume,
            connection_info, self._instance_data["name"], '/dev/sdc')
Beispiel #7
0
    def test_detach_volume(self):
        self._attach_volume()
        connection_info = db_fakes.get_fake_volume_info_data(self._volume_target_portal, self._volume_id)

        self._conn.detach_volume(connection_info, self._instance_data, "/dev/sdc")

        (_, volumes_paths, _) = self._hypervutils.get_vm_disks(self._instance_data["name"])
        self.assertEquals(len(volumes_paths), 0)

        sessions_exist = self._hypervutils.iscsi_volume_sessions_exist(self._volume_id)
        self.assertFalse(sessions_exist)
Beispiel #8
0
    def test_detach_volume(self):
        self._attach_volume()
        connection_info = db_fakes.get_fake_volume_info_data(
            self._volume_target_portal, self._volume_id)

        self._conn.detach_volume(connection_info, self._instance_data["name"],
                                 '/dev/sdc')

        (_, volumes_paths,
         _) = self._hypervutils.get_vm_disks(self._instance_data["name"])
        self.assertEquals(len(volumes_paths), 0)

        sessions_exist = self._hypervutils.iscsi_volume_sessions_exist(
            self._volume_id)
        self.assertFalse(sessions_exist)
Beispiel #9
0
    def test_attach_volume(self):
        instance_data = self._get_instance_data()
        instance_name = instance_data['name']

        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']

        mount_point = '/dev/sdc'

        volumeutils.VolumeUtils.login_storage_target(target_lun,
                                                     target_iqn,
                                                     target_portal)

        fake_mounted_disk = "fake_mounted_disk"
        fake_device_number = 0
        fake_controller_path = 'fake_scsi_controller_path'
        fake_free_slot = 1

        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_iscsi_controller(instance_name)
        m.AndReturn(fake_controller_path)

        m = vmutils.VMUtils.get_attached_disks_count(fake_controller_path)
        m.AndReturn(fake_free_slot)

        m = vmutils.VMUtils.attach_volume_to_controller(instance_name,
                                                        fake_controller_path,
                                                        fake_free_slot,
                                                        fake_mounted_disk)
        m.WithSideEffects(self._add_volume_disk)

        self._mox.ReplayAll()
        self._conn.attach_volume(connection_info, instance_data, mount_point)
        self._mox.VerifyAll()

        self.assertEquals(len(self._instance_volume_disks), 1)
Beispiel #10
0
    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_attach_volume(self):
        instance_data = self._get_instance_data()
        instance_name = instance_data['name']

        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']

        mount_point = '/dev/sdc'

        volumeutils.VolumeUtils.login_storage_target(target_lun, target_iqn,
                                                     target_portal)

        fake_mounted_disk = "fake_mounted_disk"
        fake_device_number = 0
        fake_controller_path = 'fake_scsi_controller_path'
        fake_free_slot = 1

        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_iscsi_controller(instance_name)
        m.AndReturn(fake_controller_path)

        m = vmutils.VMUtils.get_attached_disks_count(fake_controller_path)
        m.AndReturn(fake_free_slot)

        m = vmutils.VMUtils.attach_volume_to_controller(
            instance_name, fake_controller_path, fake_free_slot,
            fake_mounted_disk)
        m.WithSideEffects(self._add_volume_disk)

        self._mox.ReplayAll()
        self._conn.attach_volume(connection_info, instance_data, mount_point)
        self._mox.VerifyAll()

        self.assertEquals(len(self._instance_volume_disks), 1)
Beispiel #12
0
    def test_detach_volume(self):
        instance_data = self._get_instance_data()
        instance_name = instance_data['name']

        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']

        mount_point = '/dev/sdc'

        self._mock_detach_volume(target_iqn, target_lun)

        self._mox.ReplayAll()
        self._conn.detach_volume(connection_info, instance_data, mount_point)
        self._mox.VerifyAll()
    def test_detach_volume(self):
        instance_data = self._get_instance_data()
        instance_name = instance_data['name']

        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']

        mount_point = '/dev/sdc'

        self._mock_detach_volume(target_iqn, target_lun)

        self._mox.ReplayAll()
        self._conn.detach_volume(connection_info, instance_data, mount_point)
        self._mox.VerifyAll()
Beispiel #14
0
    def test_attach_volume(self):
        instance_data = self._get_instance_data()

        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']
        mount_point = '/dev/sdc'

        self._mock_attach_volume(instance_data['name'], target_iqn, target_lun,
                                 target_portal)

        self._mox.ReplayAll()
        self._conn.attach_volume(connection_info, instance_data, mount_point)
        self._mox.VerifyAll()

        self.assertEquals(len(self._instance_volume_disks), 1)
    def test_attach_volume(self):
        instance_data = self._get_instance_data()

        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']
        mount_point = '/dev/sdc'

        self._mock_attach_volume(instance_data['name'], target_iqn, target_lun,
                                 target_portal)

        self._mox.ReplayAll()
        self._conn.attach_volume(connection_info, instance_data, mount_point)
        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)