Пример #1
0
    def test_process_network_devices_failed(self):
        device_info = {'current': [1, 2, 3]}
        lbmgr_instance = self.lbmgr_mock.return_value
        lbmgr_instance.update_devices.return_value = device_info
        agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({}, 0,
                                                                     None)
        raise_exception = [0]

        def info_mock(msg):
            if raise_exception[0] < 2:
                raise_exception[0] += 1
            else:
                raise RuntimeError()

        with contextlib.nested(
                mock.patch.object(linuxbridge_neutron_agent.LOG, 'info'),
                mock.patch.object(
                    agent,
                    'process_network_devices')) as (log,
                                                    process_network_devices):
            log.side_effect = info_mock
            process_network_devices.side_effect = RuntimeError
            with testtools.ExpectedException(RuntimeError):
                agent.daemon_loop()
            self.assertEqual(3, log.call_count)
Пример #2
0
 def test_treat_devices_removed_failed(self):
     agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({}, 0,
                                                                  None)
     devices = [DEVICE_1]
     with contextlib.nested(
             mock.patch.object(agent.plugin_rpc, "update_device_down"),
             mock.patch.object(agent, "remove_devices_filter")) as (fn_udd,
                                                                    fn_rdf):
         fn_udd.side_effect = Exception()
         with mock.patch.object(linuxbridge_neutron_agent.LOG,
                                'debug') as log:
             resync = agent.treat_devices_removed(devices)
             self.assertEqual(2, log.call_count)
             self.assertTrue(resync)
             self.assertTrue(fn_udd.called)
             self.assertTrue(fn_rdf.called)
Пример #3
0
 def test_treat_devices_removed_with_not_existed_device(self):
     agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({}, 0,
                                                                  None)
     devices = [DEVICE_1]
     with contextlib.nested(
             mock.patch.object(agent.plugin_rpc, "update_device_down"),
             mock.patch.object(agent, "remove_devices_filter")) as (fn_udd,
                                                                    fn_rdf):
         fn_udd.return_value = {'device': DEVICE_1, 'exists': False}
         with mock.patch.object(linuxbridge_neutron_agent.LOG,
                                'debug') as log:
             resync = agent.treat_devices_removed(devices)
             self.assertEqual(1, log.call_count)
             self.assertFalse(resync)
             self.assertTrue(fn_udd.called)
             self.assertTrue(fn_rdf.called)
 def setUp(self):
     super(TestLinuxBridgeAgent, self).setUp()
     # disable setting up periodic state reporting
     cfg.CONF.set_override('report_interval', 0, 'AGENT')
     cfg.CONF.set_default('firewall_driver',
                          'neutron.agent.firewall.NoopFirewallDriver',
                          group='SECURITYGROUP')
     self.execute_p = mock.patch.object(ip_lib.IPWrapper, '_execute')
     self.execute = self.execute_p.start()
     self.execute.return_value = '\n'.join(self.LINK_SAMPLE)
     self.get_mac_p = mock.patch('neutron.agent.linux.utils.'
                                 'get_interface_mac')
     self.get_mac = self.get_mac_p.start()
     self.get_mac.return_value = '00:00:00:00:00:01'
     self.agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({},
                                                                       0)
Пример #5
0
    def test_update_devices_failed(self):
        lbmgr_instance = self.lbmgr_mock.return_value
        lbmgr_instance.update_devices.side_effect = RuntimeError
        agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({}, 0,
                                                                     None)
        raise_exception = [0]

        def info_mock(msg):
            if raise_exception[0] < 2:
                raise_exception[0] += 1
            else:
                raise RuntimeError()

        with mock.patch.object(linuxbridge_neutron_agent.LOG, 'info') as log:
            log.side_effect = info_mock
            with testtools.ExpectedException(RuntimeError):
                agent.daemon_loop()
            self.assertEqual(3, log.call_count)
Пример #6
0
 def setUp(self):
     super(TestLinuxBridgeAgent, self).setUp()
     # disable setting up periodic state reporting
     cfg.CONF.set_override('report_interval', 0, 'AGENT')
     cfg.CONF.set_default('firewall_driver',
                          'neutron.agent.firewall.NoopFirewallDriver',
                          group='SECURITYGROUP')
     self.get_devices_p = mock.patch.object(ip_lib.IPWrapper, 'get_devices')
     self.get_devices = self.get_devices_p.start()
     self.get_devices.return_value = [ip_lib.IPDevice('eth77')]
     self.get_mac_p = mock.patch('neutron.agent.linux.utils.'
                                 'get_interface_mac')
     self.get_mac = self.get_mac_p.start()
     self.get_mac.return_value = '00:00:00:00:00:01'
     with mock.patch.object(linuxbridge_neutron_agent.LinuxBridgeManager,
                            'get_interface_by_ip',
                            return_value=None):
         self.agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC(
             {}, 0)