Exemplo n.º 1
0
    def _test_plug(self, namespace=None, mtu=None):
        def device_exists(device, root_helper=None, namespace=None):
            return device.startswith('brq')

        root_veth = mock.Mock()
        ns_veth = mock.Mock()

        self.ip().add_veth = mock.Mock(return_value=(root_veth, ns_veth))

        self.device_exists.side_effect = device_exists
        br = interface.BridgeInterfaceDriver()
        mac_address = 'aa:bb:cc:dd:ee:ff'
        br.plug('ns-0',
                'port-1234',
                mac_address,
                namespace=namespace)

        ip_calls = [mock.call(),
                    mock.call().add_veth('tap0', 'ns-0', namespace2=namespace)]
        ns_veth.assert_has_calls([mock.call.link.set_address(mac_address)])

        self.ip.assert_has_calls(ip_calls)

        root_veth.assert_has_calls([mock.call.link.set_up()])
        ns_veth.assert_has_calls([mock.call.link.set_up()])
Exemplo n.º 2
0
 def test_plug_dev_exists(self):
     self.device_exists.return_value = True
     with mock.patch('manila.network.linux.interface.LOG.warning') as log:
         br = interface.BridgeInterfaceDriver()
         br.plug('port-1234', 'tap0', 'aa:bb:cc:dd:ee:ff')
         self.ip_dev.assert_has_calls([])
         self.assertEqual(1, log.call_count)
Exemplo n.º 3
0
 def test_unplug(self):
     self.device_exists.return_value = True
     with mock.patch('manila.network.linux.interface.LOG.debug') as log:
         br = interface.BridgeInterfaceDriver()
         br.unplug('tap0')
         self.assertTrue(log.called)
     self.ip_dev.assert_has_calls([mock.call('tap0', None),
                                   mock.call().link.delete()])
Exemplo n.º 4
0
 def test_unplug_no_device(self):
     self.device_exists.return_value = False
     self.ip_dev().link.delete.side_effect = RuntimeError
     with mock.patch('manila.network.linux.interface.LOG') as log:
         br = interface.BridgeInterfaceDriver()
         br.unplug('tap0')
         [mock.call(), mock.call('tap0'), mock.call().link.delete()]
         self.assertEqual(1, log.error.call_count)
Exemplo n.º 5
0
 def test_get_device_name(self):
     br = interface.BridgeInterfaceDriver()
     device_name = br.get_device_name(FakePort)
     self.assertEqual('ns-abcdef01-12', device_name)