diff options
author | Muawia Khan <muawia@plumgrid.com> | 2016-03-30 14:43:34 +0500 |
---|---|---|
committer | Muawia Khan <muawia@plumgrid.com> | 2016-09-30 11:06:18 +0500 |
commit | 50f508a7ca619682cc48877971429deba3c2a68d (patch) | |
tree | d3496d19321fa4d9674ce0c2296ee8b32f8063f5 | |
parent | 81bdceffaf630bb1acc4f7bdfa943fd167b3ed73 (diff) | |
download | nova-50f508a7ca619682cc48877971429deba3c2a68d.tar.gz |
Remove network information from IOVisor vif
IOVisor vif driver fails with some network names
because of schema usage in ifc_ctl, so this changeset
removes the network name along to the ifc_ctl
Change-Id: If91591acd95cd965ed2b8738136f2bd3d7bc4b0b
Closes-Bug: #1527370
(cherry picked from commit 5dc7bcee56ca4d7cad9dfe16f879cabd23192521)
-rw-r--r-- | nova/tests/unit/virt/libvirt/test_vif.py | 20 | ||||
-rw-r--r-- | nova/virt/libvirt/vif.py | 12 |
2 files changed, 16 insertions, 16 deletions
diff --git a/nova/tests/unit/virt/libvirt/test_vif.py b/nova/tests/unit/virt/libvirt/test_vif.py index 6f48247b62..89fcfb2bbb 100644 --- a/nova/tests/unit/virt/libvirt/test_vif.py +++ b/nova/tests/unit/virt/libvirt/test_vif.py @@ -900,23 +900,27 @@ class LibvirtVifTestCase(test.NoDBTestCase): d = vif.LibvirtGenericVIFDriver() with mock.patch.object(utils, 'execute') as execute: execute.side_effect = processutils.ProcessExecutionError - mynetwork = network_model.Network(id='network-id-xxx-yyy-zzz', - label='mylabel') - myvif = network_model.VIF(id='vif-xxx-yyy-zzz', - address='ca:fe:de:ad:be:ef', - network=mynetwork) - d.unplug_iovisor(None, myvif) + d.unplug_iovisor(None, self.vif_iovisor) @mock.patch('nova.network.linux_net.device_exists') def test_plug_iovisor(self, device_exists): device_exists.return_value = True d = vif.LibvirtGenericVIFDriver() with mock.patch.object(utils, 'execute') as execute: - execute.side_effect = processutils.ProcessExecutionError instance = objects.Instance(id=1, uuid='f0000000-0000-0000-0000-000000000001', project_id='myproject') - d.plug_iovisor(instance, self.vif_ivs) + d.plug_iovisor(instance, self.vif_iovisor) + execute.assert_has_calls([ + mock.call('ifc_ctl', 'gateway', 'add_port', + 'tap-xxx-yyy-zzz', run_as_root=True), + mock.call('ifc_ctl', 'gateway', 'ifup', + 'tap-xxx-yyy-zzz', + 'access_vm', self.vif_iovisor['id'], + self.vif_iovisor['address'], + 'pgtag2=%s' % self.vif_iovisor['network']['id'], + 'pgtag1=%s' % instance.project_id, + run_as_root=True)]) def test_unplug_vrouter_with_details(self): d = vif.LibvirtGenericVIFDriver() diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py index 576c0ae5a4..8db67f6620 100644 --- a/nova/virt/libvirt/vif.py +++ b/nova/virt/libvirt/vif.py @@ -624,10 +624,9 @@ class LibvirtGenericVIFDriver(object): utils.execute('ifc_ctl', 'gateway', 'add_port', dev, run_as_root=True) utils.execute('ifc_ctl', 'gateway', 'ifup', dev, - 'access_vm', - vif['network']['label'] + "_" + iface_id, - vif['address'], 'pgtag2=%s' % net_id, - 'pgtag1=%s' % tenant_id, run_as_root=True) + 'access_vm', iface_id, vif['address'], + 'pgtag2=%s' % net_id, 'pgtag1=%s' % tenant_id, + run_as_root=True) except processutils.ProcessExecutionError: LOG.exception(_LE("Failed while plugging vif"), instance=instance) @@ -886,13 +885,10 @@ class LibvirtGenericVIFDriver(object): Delete network device and to their respective connection to the Virtual Domain in PLUMgrid Platform. """ - iface_id = vif['id'] dev = self.get_vif_devname(vif) try: utils.execute('ifc_ctl', 'gateway', 'ifdown', - dev, 'access_vm', - vif['network']['label'] + "_" + iface_id, - vif['address'], run_as_root=True) + dev, run_as_root=True) utils.execute('ifc_ctl', 'gateway', 'del_port', dev, run_as_root=True) linux_net.delete_net_dev(dev) |