def setUp(self): cfg.CONF.set_override('apps_list', self.apps_list, group='df') super(DFAppTestBase, self).setUp() mock.patch('ryu.base.app_manager.AppManager.get_instance').start() self.controller = df_local_controller.DfLocalController('fake_host') self.nb_api = self.controller.nb_api = mock.MagicMock() self.vswitch_api = self.controller.vswitch_api = mock.MagicMock() kwargs = dict(nb_api=self.controller.nb_api, vswitch_api=self.controller.vswitch_api, db_store=self.controller.db_store) self.controller.open_flow_app = ryu_base_app.RyuDFAdapter(**kwargs) self.open_flow_app = self.controller.open_flow_app self.datapath = self.open_flow_app._datapath = mock.Mock() self.open_flow_app.load(self.controller.open_flow_app, **kwargs) self.controller.topology = topology.Topology(self.controller, False) # Add basic network topology self.controller.logical_switch_updated(fake_logic_switch1) self.controller.logical_switch_updated(fake_external_switch1) self.controller.router_updated(fake_logic_router1) self.arp_responder = mock.patch( 'dragonflow.controller.common.arp_responder.ArpResponder').start() mock.patch( 'dragonflow.controller.df_base_app.DFlowApp.mod_flow').start() mock.patch('dragonflow.controller.df_base_app.DFlowApp.' 'add_flow_go_to_table').start()
def setUp(self): super(TestRyuDFAdapter, self).setUp() self.db_store = mock.Mock() self.ryu_df_adapter = ryu_base_app.RyuDFAdapter(db_store=self.db_store) self.mock_app = mock.Mock(spec=[ 'update_logical_switch', 'remove_logical_switch', 'add_local_port', 'remove_local_port', 'add_remote_port', 'remove_remote_port', 'router_created', 'router_updated', 'router_deleted', 'add_security_group_rule', 'remove_security_group_rule', 'switch_features_handler', 'port_desc_stats_reply_handler', 'packet_in_handler' ]) def dispatcher_load(*args, **kwargs): self.ryu_df_adapter.dispatcher.apps = [self.mock_app] self.ryu_df_adapter.dispatcher.load = dispatcher_load self.ryu_df_adapter.load()
def setUp(self, enable_selective_topo_dist=False): extra_apps = ['portbinding'] cfg.CONF.set_override( 'apps_list', self.apps_list + extra_apps, group='df', ) cfg.CONF.set_override('host', fake_chassis1.id) super(DFAppTestBase, self).setUp() self.useFixture(log_fixture.SetLogLevel([None], logging.DEBUG)) mock_app = mock.patch( 'ryu.base.app_manager.AppManager.get_instance').start() self.addCleanup(mock_app.stop) mock_nb = mock.patch('dragonflow.db.api_nb.NbApi.get_instance') mock_nb.start() self.addCleanup(mock_nb.stop) mod_flow = mock.patch( 'dragonflow.controller.df_base_app.DFlowApp.mod_flow') mod_flow_mock = mod_flow.start() self.addCleanup(mod_flow.stop) add_flow_go_to_table_mock_patch = mock.patch( 'dragonflow.controller.df_base_app.DFlowApp.add_flow_go_to_table') add_flow_go_to_table = add_flow_go_to_table_mock_patch add_flow_go_to_table_mock = add_flow_go_to_table.start() self.addCleanup(add_flow_go_to_table_mock_patch.stop) execute = mock.patch('neutron.agent.common.utils.execute') execute_mock = execute.start() self.addCleanup(execute.stop) # CLear old objects from cache db_store.get_instance().clear() self.nb_api = api_nb.NbApi.get_instance(False) self.controller = df_local_controller.DfLocalController( fake_chassis1.id, self.nb_api) self.vswitch_api = self.controller.vswitch_api = mock.MagicMock() kwargs = dict( nb_api=self.controller.nb_api, vswitch_api=self.controller.vswitch_api, ) self.controller.open_flow_app = ryu_base_app.RyuDFAdapter(**kwargs) self.open_flow_app = self.controller.open_flow_app self.datapath = self.open_flow_app._datapath = mock.Mock() self.open_flow_app.load(self.controller.open_flow_app, **kwargs) self.topology = self.controller.topology = topology.Topology( self.controller, enable_selective_topo_dist) # Add basic network topology self.controller.update(fake_logic_switch1) self.controller.update(fake_lswitch_default_subnets[0]) self.controller.update(fake_external_switch1) self.controller.update(fake_logic_router1) self.controller.db_store.update(fake_chassis1) self.controller.db_store.update(fake_chassis2) mod_flow_mock.reset_mock() add_flow_go_to_table_mock.reset_mock() execute_mock.reset_mock()
def setUp(self): super(TestRyuDFAdapter, self).setUp() self.ryu_df_adapter = ryu_base_app.RyuDFAdapter( vswitch_api=mock.Mock(), nb_api=mock.Mock()) self.mock_app = mock.Mock(spec=[ 'router_updated', 'router_deleted', 'add_security_group_rule', 'remove_security_group_rule', 'switch_features_handler', 'port_desc_stats_reply_handler', 'packet_in_handler' ]) def dispatcher_load(*args, **kwargs): self.ryu_df_adapter.dispatcher.apps = {'mock': self.mock_app} self.ryu_df_adapter.dispatcher.load = dispatcher_load self.ryu_df_adapter.load()
def setUp(self, enable_selective_topo_dist=False): cfg.CONF.set_override('apps_list', self.apps_list, group='df') super(DFAppTestBase, self).setUp() mock.patch('ryu.base.app_manager.AppManager.get_instance').start() mock.patch('dragonflow.db.api_nb.NbApi.get_instance').start() mod_flow = mock.patch( 'dragonflow.controller.df_base_app.DFlowApp.mod_flow').start() add_flow_go_to_table_mock_patch = mock.patch( 'dragonflow.controller.df_base_app.DFlowApp.add_flow_go_to_table') add_flow_go_to_table = add_flow_go_to_table_mock_patch.start() execute = mock.patch('neutron.agent.common.utils.execute').start() # CLear old objects from cache db_store._instance = None nb_api = api_nb.NbApi.get_instance(False) self.controller = df_local_controller.DfLocalController( 'fake_host', nb_api) self.nb_api = self.controller.nb_api = mock.MagicMock() self.vswitch_api = self.controller.vswitch_api = mock.MagicMock() kwargs = dict( nb_api=self.controller.nb_api, vswitch_api=self.controller.vswitch_api, ) self.controller.open_flow_app = ryu_base_app.RyuDFAdapter(**kwargs) self.open_flow_app = self.controller.open_flow_app self.datapath = self.open_flow_app._datapath = mock.Mock() self.open_flow_app.load(self.controller.open_flow_app, **kwargs) self.topology = self.controller.topology = topology.Topology( self.controller, enable_selective_topo_dist) # Add basic network topology self.controller.update(fake_logic_switch1) self.controller.update(fake_external_switch1) self.controller.update(fake_logic_router1) self.controller.db_store.update(fake_chassis1) self.controller.db_store.update(fake_chassis2) mod_flow.reset_mock() add_flow_go_to_table.reset_mock() execute.reset_mock()
def setUp(self): super(TestRyuDFAdapter, self).setUp() cfg.CONF.set_override( 'datapath_layout_path', 'etc/dragonflow_datapath_layout.yaml', group='df', ) self.ryu_df_adapter = ryu_base_app.RyuDFAdapter( vswitch_api=mock.Mock(), nb_api=mock.Mock(), db_change_callback=mock.Mock()) self.mock_app = mock.Mock(spec=[ 'router_updated', 'router_deleted', 'add_security_group_rule', 'remove_security_group_rule', 'switch_features_handler', 'port_desc_stats_reply_handler', 'packet_in_handler' ]) def dispatcher_load(*args, **kwargs): self.ryu_df_adapter.dispatcher.apps = {'mock': self.mock_app} self.ryu_df_adapter.dispatcher.load = dispatcher_load self.ryu_df_adapter.load()