Pass in block_device_info into PartitionInstance
The partitionInstance constructor now also takes the block_device_info as optional kwarg. Change-Id: Ibbfcceb671ea069e65729aed88aa2cd90e20b0d5
This commit is contained in:
parent
6c83181d89
commit
112c4cda58
|
@ -251,7 +251,18 @@ class DPMDriverInstanceTestCase(TestCase):
|
|||
self.dpmdriver.spawn(mock_context, mock_inst, None, None, None, None,
|
||||
[])
|
||||
|
||||
mocked_get_part_inst.assert_called_once_with(mock_inst, mock_context)
|
||||
mocked_get_part_inst.assert_called_once_with(mock_inst, mock_context,
|
||||
None)
|
||||
|
||||
@mock.patch.object(driver.DPMDriver, '_get_partition_instance')
|
||||
def test_spawn_bdi(self, mocked_get_part_inst):
|
||||
"""Make sure that block_device_info is provided to PartitionInstance"""
|
||||
mock_bdm = mock.Mock()
|
||||
mock_inst = mock.Mock()
|
||||
self.dpmdriver.spawn(None, mock_inst, None, None, None, None,
|
||||
[], block_device_info=mock_bdm)
|
||||
|
||||
mocked_get_part_inst.assert_called_once_with(mock_inst, None, mock_bdm)
|
||||
|
||||
@mock.patch.object(vm.PartitionInstance, 'get_partition')
|
||||
@mock.patch.object(vm.PartitionInstance, 'create')
|
||||
|
|
|
@ -70,11 +70,13 @@ class DPMDriver(driver.ComputeDriver):
|
|||
|
||||
self.volume_drivers = self._get_volume_drivers()
|
||||
|
||||
def _get_partition_instance(self, instance, context=None):
|
||||
def _get_partition_instance(self, instance, context=None,
|
||||
block_device_info=None):
|
||||
if instance.image_ref != '':
|
||||
raise exceptions.BootFromImageNotSupported()
|
||||
else:
|
||||
return vm.PartitionInstance(instance, self._cpc, context)
|
||||
return vm.PartitionInstance(instance, self._cpc, context,
|
||||
block_device_info)
|
||||
|
||||
def init_host(self, host):
|
||||
"""Driver initialization of the hypervisor node"""
|
||||
|
@ -303,7 +305,8 @@ class DPMDriver(driver.ComputeDriver):
|
|||
admin_password, allocations, network_info=None,
|
||||
block_device_info=None):
|
||||
|
||||
inst = self._get_partition_instance(instance, context)
|
||||
inst = self._get_partition_instance(instance, context,
|
||||
block_device_info)
|
||||
|
||||
# The creation of NICs is limited in DPM by the partitions
|
||||
# boot-os-specific-parameters property. It is used to pass additional
|
||||
|
|
|
@ -119,11 +119,12 @@ def cpcsubset_partition_list(cpc):
|
|||
|
||||
|
||||
class PartitionInstance(object):
|
||||
def __init__(self, instance, cpc, context=None):
|
||||
def __init__(self, instance, cpc, context=None, block_device_info=None):
|
||||
self.instance = instance
|
||||
self.cpc = cpc
|
||||
self.partition = self.get_partition()
|
||||
self.context = context
|
||||
self.block_device_info = block_device_info
|
||||
|
||||
@staticmethod
|
||||
def create_object(instance, cpc, flavor=None):
|
||||
|
|
Loading…
Reference in New Issue