Add attach_nics method to PartitionInstance
We now can add all NICs with a single command! This is also usefull once we might introduce ssc support which requires additional verifications cross all nics. Change-Id: Ic78686b662c97d67d6376e8b8592aa20887026f8
This commit is contained in:
parent
ae261d2405
commit
d0b5290a8f
|
@ -270,6 +270,21 @@ class VmPartitionInstanceTestCase(TestCase):
|
|||
Exception,
|
||||
self.partition_inst.attach_nic, vif)
|
||||
|
||||
@mock.patch.object(vm.PartitionInstance, 'attach_nic')
|
||||
def test_attach_nics(self, mocked_attach_nic):
|
||||
vif1 = {"address": "mac1"}
|
||||
vif2 = {"address": "mac2"}
|
||||
self.partition_inst.attach_nics([vif1, vif2])
|
||||
mock_calls = mocked_attach_nic.call_args_list
|
||||
# attach nic called 2 times
|
||||
self.assertEqual(2, len(mock_calls))
|
||||
|
||||
# mock_calls is a list of calls
|
||||
# each call is a tuple (args, kwargs)
|
||||
# args is a tuple (arg1, arg2, arg3). We need the first arg [0]
|
||||
self.assertEqual("mac1", mock_calls[0][0][0].mac)
|
||||
self.assertEqual("mac2", mock_calls[1][0][0].mac)
|
||||
|
||||
def test_append_to_boot_os_specific_parameters_empty(self):
|
||||
data = '1800,0,fa163ee49a98;'
|
||||
self.partition_inst.append_to_boot_os_specific_parameters(data)
|
||||
|
|
|
@ -28,7 +28,6 @@ from nova_dpm.virt.dpm import constants
|
|||
from nova_dpm.virt.dpm import exceptions
|
||||
from nova_dpm.virt.dpm import host as Host
|
||||
from nova_dpm.virt.dpm import utils
|
||||
from nova_dpm.virt.dpm.vif import DPMVIF
|
||||
from nova_dpm.virt.dpm import vm
|
||||
from oslo_log import log as logging
|
||||
from oslo_utils import importutils
|
||||
|
@ -318,10 +317,7 @@ class DPMDriver(driver.ComputeDriver):
|
|||
max_ports=constants.MAX_NICS_PER_PARTITION,
|
||||
current_ports=len(network_info)
|
||||
))
|
||||
for vif_dict in network_info:
|
||||
vif_obj = DPMVIF(vif_dict)
|
||||
inst.attach_nic(vif_obj)
|
||||
|
||||
inst.attach_nics(network_info)
|
||||
inst.set_boot_properties()
|
||||
inst.launch()
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ from nova_dpm.virt.dpm.block_device import BlockDevice
|
|||
from nova_dpm.virt.dpm import constants
|
||||
from nova_dpm.virt.dpm import exceptions
|
||||
from nova_dpm.virt.dpm import utils
|
||||
from nova_dpm.virt.dpm import vif
|
||||
from oslo_log import log as logging
|
||||
from zhmcclient._exceptions import NotFound
|
||||
from zhmcclient import HTTPError
|
||||
|
@ -223,6 +224,11 @@ class PartitionInstance(object):
|
|||
vif_obj.dpm_nic_object_id
|
||||
}
|
||||
|
||||
def attach_nics(self, network_info):
|
||||
for vif_dict in network_info:
|
||||
vif_obj = vif.DPMVIF(vif_dict)
|
||||
self.attach_nic(vif_obj)
|
||||
|
||||
def attach_nic(self, vif_obj):
|
||||
# TODO(preethipy): Implement the listener flow to register for
|
||||
# nic creation events
|
||||
|
|
Loading…
Reference in New Issue