예제 #1
0
 def test_find_allocated_slots(self):
     disk1 = fake.VirtualDisk(200, 0)
     disk2 = fake.VirtualDisk(200, 1)
     disk3 = fake.VirtualDisk(201, 1)
     ide0 = fake.VirtualIDEController(200)
     ide1 = fake.VirtualIDEController(201)
     scsi0 = fake.VirtualLsiLogicController(key=1000, scsiCtlrUnitNumber=7)
     devices = [disk1, disk2, disk3, ide0, ide1, scsi0]
     taken = vm_util._find_allocated_slots(devices)
     self.assertEqual([0, 1], sorted(taken[200]))
     self.assertEqual([1], taken[201])
     self.assertEqual([7], taken[1000])
예제 #2
0
 def test_allocate_controller_key_and_unit_number_ide_default(self):
     # Test that default IDE controllers are used when there is a free slot
     # on them
     disk1 = fake.VirtualDisk(200, 0)
     disk2 = fake.VirtualDisk(200, 1)
     ide0 = fake.VirtualIDEController(200)
     ide1 = fake.VirtualIDEController(201)
     devices = [disk1, disk2, ide0, ide1]
     (controller_key, unit_number,
      controller_spec) = vm_util.allocate_controller_key_and_unit_number(
          None, devices, 'ide')
     self.assertEqual(201, controller_key)
     self.assertEqual(0, unit_number)
     self.assertIsNone(controller_spec)
예제 #3
0
 def test_allocate_controller_key_and_unit_number_scsi(self):
     # Test that we allocate on existing SCSI controller if there is a free
     # slot on it
     devices = [fake.VirtualLsiLogicController(1000, scsiCtlrUnitNumber=7)]
     for unit_number in range(7):
         disk = fake.VirtualDisk(1000, unit_number)
         devices.append(disk)
     factory = fake.FakeFactory()
     (controller_key, unit_number,
      controller_spec) = vm_util.allocate_controller_key_and_unit_number(
          factory, devices, 'lsiLogic')
     self.assertEqual(1000, controller_key)
     self.assertEqual(8, unit_number)
     self.assertIsNone(controller_spec)
예제 #4
0
 def _vmdk_path_and_adapter_type_devices(self, filename, parent=None):
     # Test the adapter_type returned for a lsiLogic sas controller
     controller_key = 1000
     disk = fake.VirtualDisk()
     disk.controllerKey = controller_key
     disk_backing = fake.VirtualDiskFlatVer2BackingInfo()
     disk_backing.fileName = filename
     if parent:
         disk_backing.parent = parent
     disk.backing = disk_backing
     controller = fake.VirtualLsiLogicSASController()
     controller.key = controller_key
     devices = [disk, controller]
     return devices
예제 #5
0
 def test_get_vmdk_path_and_adapter_type(self):
     # Test the adapter_type returned for a lsiLogic sas controller
     controller_key = 1000
     filename = '[test_datastore] test_file.vmdk'
     disk = fake.VirtualDisk()
     disk.controllerKey = controller_key
     disk_backing = fake.VirtualDiskFlatVer2BackingInfo()
     disk_backing.fileName = filename
     disk.backing = disk_backing
     controller = fake.VirtualLsiLogicSASController()
     controller.key = controller_key
     devices = [disk, controller]
     vmdk_info = vm_util.get_vmdk_path_and_adapter_type(devices)
     adapter_type = vmdk_info[2]
     self.assertEqual('lsiLogicsas', adapter_type)
예제 #6
0
 def test_allocate_controller_key_and_unit_number_ide(self):
     # Test that a new controller is created when there is no free slot on
     # the default IDE controllers
     ide0 = fake.VirtualIDEController(200)
     ide1 = fake.VirtualIDEController(201)
     devices = [ide0, ide1]
     for controller_key in [200, 201]:
         for unit_number in [0, 1]:
             disk = fake.VirtualDisk(controller_key, unit_number)
             devices.append(disk)
     factory = fake.FakeFactory()
     (controller_key, unit_number,
      controller_spec) = vm_util.allocate_controller_key_and_unit_number(
          factory, devices, 'ide')
     self.assertEqual(-101, controller_key)
     self.assertEqual(0, unit_number)
     self.assertIsNotNone(controller_spec)