Exemple #1
0
    def setUp(self):
        impl_idl_ovn.OvsdbNbOvnIdl = fakes.FakeOvsdbNbOvnIdl()
        impl_idl_ovn.OvsdbSbOvnIdl = fakes.FakeOvsdbSbOvnIdl()
        config.cfg.CONF.set_override('extension_drivers',
                                     self._extension_drivers,
                                     group='ml2')
        config.cfg.CONF.set_override('tenant_network_types', ['geneve'],
                                     group='ml2')
        config.cfg.CONF.set_override('vni_ranges', ['1:65536'],
                                     group='ml2_type_geneve')
        super(TestOVNMechanismDriver, self).setUp()
        mm = manager.NeutronManager.get_plugin().mechanism_manager
        self.mech_driver = mm.mech_drivers['ovn'].obj
        self.mech_driver._nb_ovn = fakes.FakeOvsdbNbOvnIdl()
        self.mech_driver._sb_ovn = fakes.FakeOvsdbSbOvnIdl()
        self.nb_ovn = self.mech_driver._nb_ovn

        self.fake_subnet = fakes.FakeSubnet.create_one_subnet().info()
        self.fake_port_no_sg = fakes.FakePort.create_one_port().info()

        self.fake_sg_rule = \
            fakes.FakeSecurityGroupRule.create_one_security_group_rule().info()
        self.fake_sg = fakes.FakeSecurityGroup.create_one_security_group(
            attrs={
                'security_group_rules': [self.fake_sg_rule]
            }).info()

        self.sg_cache = {self.fake_sg['id']: self.fake_sg}
        self.subnet_cache = {self.fake_subnet['id']: self.fake_subnet}
Exemple #2
0
 def setUp(self):
     plugin = 'neutron.tests.unit.extensions.test_l3.TestNoL3NatPlugin'
     l3_plugin = ('networking_ovn.l3.l3_ovn.OVNL3RouterPlugin')
     service_plugins = {'l3_plugin_name': l3_plugin}
     # For these tests we need to enable overlapping ips
     cfg.CONF.set_default('allow_overlapping_ips', True)
     cfg.CONF.set_default('max_routes', 3)
     ext_mgr = test_extraroute.ExtraRouteTestExtensionManager()
     super(test_l3.L3BaseForIntTests,
           self).setUp(plugin=plugin,
                       ext_mgr=ext_mgr,
                       service_plugins=service_plugins)
     l3_gw_mgr = test_l3_gw.TestExtensionManager()
     test_extensions.setup_extensions_middleware(l3_gw_mgr)
     mock.patch('networking_ovn.l3.l3_ovn.OVNL3RouterPlugin._ovn',
                new_callable=mock.PropertyMock,
                return_value=fakes.FakeOvsdbNbOvnIdl()).start()
     mock.patch('networking_ovn.l3.l3_ovn.OVNL3RouterPlugin._sb_ovn',
                new_callable=mock.PropertyMock,
                return_value=fakes.FakeOvsdbNbOvnIdl()).start()
     mock.patch(
         'networking_ovn.l3.l3_ovn_scheduler.'
         'OVNGatewayScheduler._schedule_gateway',
         return_value='hv1').start()
     self.setup_notification_driver()
Exemple #3
0
 def setUp(self):
     impl_idl_ovn.OvsdbNbOvnIdl = fakes.FakeOvsdbNbOvnIdl()
     config.cfg.CONF.set_override('tenant_network_types', ['geneve'],
                                  group='ml2')
     config.cfg.CONF.set_override('vni_ranges', ['1:65536'],
                                  group='ml2_type_geneve')
     super(OVNMechanismDriverTestCase, self).setUp()
     mm = manager.NeutronManager.get_plugin().mechanism_manager
     self.mech_driver = mm.mech_drivers['ovn'].obj
     self.mech_driver._nb_ovn = fakes.FakeOvsdbNbOvnIdl()
     self.mech_driver._sb_ovn = fakes.FakeOvsdbSbOvnIdl()
     self.mech_driver._insert_port_provisioning_block = mock.Mock()
     self.mech_driver.vif_type = portbindings.VIF_TYPE_OVS
Exemple #4
0
 def setUp(self):
     super(TestACLs, self).setUp()
     self.driver = mock.Mock()
     self.driver._nb_ovn = fakes.FakeOvsdbNbOvnIdl()
     self.plugin = fakes.FakePlugin()
     self.admin_context = mock.Mock()
     self.fake_port = fakes.FakePort.create_one_port({
         'id':
         'fake_port_id1',
         'network_id':
         'network_id1',
         'fixed_ips': [{
             'subnet_id': 'subnet_id1',
             'ip_address': '1.1.1.1'
         }],
     }).info()
     self.fake_subnet = fakes.FakeSubnet.create_one_subnet({
         'id':
         'subnet_id1',
         'ip_version':
         4,
         'cidr':
         '1.1.1.0/24',
     }).info()
     patcher = mock.patch(
         'neutron.agent.ovsdb.native.idlutils.row_by_value',
         lambda *args, **kwargs: mock.MagicMock())
     patcher.start()
Exemple #5
0
 def setUp(self):
     super(TestACLs, self).setUp()
     self.driver = mock.Mock()
     self.driver._nb_ovn = fakes.FakeOvsdbNbOvnIdl()
     self.plugin = fakes.FakePlugin()
     self.admin_context = mock.Mock()
     self.fake_port = fakes.FakePort.create_one_port({
         'id':
         'fake_port_id1',
         'network_id':
         'network_id1',
         'fixed_ips': [{
             'subnet_id': 'subnet_id1',
             'ip_address': '1.1.1.1'
         }],
     }).info()
     self.fake_subnet = fakes.FakeSubnet.create_one_subnet({
         'id':
         'subnet_id1',
         'ip_version':
         4,
         'cidr':
         '1.1.1.0/24',
     }).info()
     patcher = mock.patch('ovsdbapp.backend.ovs_idl.idlutils.row_by_value',
                          lambda *args, **kwargs: mock.MagicMock())
     patcher.start()
     mock.patch(
         "networking_ovn.common.acl._acl_columns_name_severity_supported",
         return_value=True).start()
    def setUp(self):
        super(TestTrunkHandler, self).setUp()
        self.context = mock.Mock()
        self.plugin_driver = mock.Mock()
        self.plugin_driver._plugin = mock.Mock()
        self.plugin_driver._plugin.update_port = mock.Mock()
        self.plugin_driver._nb_ovn = fakes.FakeOvsdbNbOvnIdl()
        self.handler = trunk_driver.OVNTrunkHandler(self.plugin_driver)
        self.trunk_1 = mock.Mock()
        self.trunk_1.port_id = "trunk-1"

        self.trunk_2 = mock.Mock()
        self.trunk_2.port_id = "trunk-2"

        self.sub_port_1 = mock.Mock()
        self.sub_port_1.segmentation_id = 40
        self.sub_port_1.trunk_id = "trunk-1"
        self.sub_port_1.port_id = "sub_port_1"
        self.sub_port_1_obj = self._get_fake_port_obj(
            port_id='sub_port_1')

        self.sub_port_2 = mock.Mock()
        self.sub_port_2.segmentation_id = 41
        self.sub_port_2.trunk_id = "trunk-1"
        self.sub_port_2.port_id = "sub_port_2"
        self.sub_port_2_obj = self._get_fake_port_obj(
            port_id='sub_port_1')

        self.sub_port_3 = mock.Mock()
        self.sub_port_3.segmentation_id = 42
        self.sub_port_3.trunk_id = "trunk-2"
        self.sub_port_3.port_id = "sub_port_3"

        self.sub_port_4 = mock.Mock()
        self.sub_port_4.segmentation_id = 43
        self.sub_port_4.trunk_id = "trunk-2"
        self.sub_port_4.port_id = "sub_port_4"

        self.get_trunk_object = mock.patch(
            "neutron.objects.trunk.Trunk.get_object").start()
        self.get_trunk_object.side_effect = lambda ctxt, id: \
            self.trunk_1 if id == 'trunk-1' else self.trunk_2
        self.mock_get_port = mock.patch(
            "neutron.objects.ports.Port.get_object").start()
        self.mock_get_port.side_effect = lambda ctxt, id: (
            self.sub_port_1_obj if id == 'sub_port_1' else (
                self.sub_port_2_obj if id == 'sub_port_2' else None))
        self.mock_update_pb = mock.patch(
            "neutron.objects.ports.PortBinding.update_object").start()
        self.mock_clear_levels = mock.patch(
            "neutron.objects.ports.PortBindingLevel.delete_objects").start()
Exemple #7
0
 def setUp(self):
     plugin = 'neutron.tests.unit.extensions.test_l3.TestNoL3NatPlugin'
     l3_plugin = ('networking_ovn.l3.l3_ovn.OVNL3RouterPlugin')
     service_plugins = {'l3_plugin_name': l3_plugin}
     # For these tests we need to enable overlapping ips
     cfg.CONF.set_default('allow_overlapping_ips', True)
     ext_mgr = test_l3.L3TestExtensionManager()
     impl_idl_ovn.OvsdbNbOvnIdl = mock.Mock()
     super(OVNL3BaseForTests, self).setUp(plugin=plugin,
                                          ext_mgr=ext_mgr,
                                          service_plugins=service_plugins)
     mgr = manager.NeutronManager.get_instance()
     self.plugin = mgr.get_service_plugins().get(
         service_constants.L3_ROUTER_NAT)
     patcher = mock.patch('networking_ovn.l3.l3_ovn.OVNL3RouterPlugin._ovn',
                          new_callable=mock.PropertyMock,
                          return_value=fakes.FakeOvsdbNbOvnIdl())
     patcher.start()
     self.setup_notification_driver()
Exemple #8
0
 def setUp(self):
     super(OVNL3RouterPlugin, self).setUp()
     self.fake_router_port = {
         'device_id': '',
         'mac_address': 'aa:aa:aa:aa:aa:aa',
         'fixed_ips': [{
             'ip_address': '10.0.0.100',
             'subnet_id': 'subnet-id'
         }],
         'id': 'router-port-id'
     }
     self.fake_subnet = {'id': 'subnet-id', 'cidr': '10.0.0.1/24'}
     self.fake_router = {
         'id': 'router-id',
         'name': 'router',
         'admin_state_up': False,
         'routes': [{
             'destination': '1.1.1.0/24',
             'nexthop': '2.2.2.3'
         }]
     }
     mgr = manager.NeutronManager.get_instance()
     self.l3_plugin = mgr.get_service_plugins().get(
         service_constants.L3_ROUTER_NAT)
     mock.patch('networking_ovn.l3.l3_ovn.OVNL3RouterPlugin._ovn',
                new_callable=mock.PropertyMock,
                return_value=fakes.FakeOvsdbNbOvnIdl()).start()
     mock.patch('networking_ovn.l3.l3_ovn.OVNL3RouterPlugin._sb_ovn',
                new_callable=mock.PropertyMock,
                return_value=fakes.FakeOvsdbSbOvnIdl()).start()
     mock.patch('neutron.db.db_base_plugin_v2.NeutronDbPluginV2.get_port',
                return_value=self.fake_router_port).start()
     mock.patch('neutron.db.db_base_plugin_v2.NeutronDbPluginV2.get_subnet',
                return_value=self.fake_subnet).start()
     mock.patch('neutron.db.l3_db.L3_NAT_dbonly_mixin.get_router',
                return_value=self.fake_router).start()
     mock.patch(
         'neutron.db.extraroute_db.ExtraRoute_dbonly_mixin.update_router',
         return_value=self.fake_router).start()
    def setUp(self):
        super(TestTrunkHandler, self).setUp()
        self.context = mock.Mock()
        self.plugin_driver = mock.Mock()
        self.plugin_driver._plugin = mock.Mock()
        self.plugin_driver._plugin.update_port = mock.Mock()
        self.plugin_driver._nb_ovn = fakes.FakeOvsdbNbOvnIdl()
        self.handler = trunk_driver.OVNTrunkHandler(self.plugin_driver)
        self.trunk_1 = mock.Mock()
        self.trunk_1.port_id = "parent_port_1"

        self.trunk_2 = mock.Mock()
        self.trunk_2.port_id = "parent_port_2"

        self.sub_port_1 = mock.Mock()
        self.sub_port_1.segmentation_id = 40
        self.sub_port_1.trunk_id = "trunk-1"
        self.sub_port_1.port_id = "sub_port_1"

        self.sub_port_2 = mock.Mock()
        self.sub_port_2.segmentation_id = 41
        self.sub_port_2.trunk_id = "trunk-1"
        self.sub_port_2.port_id = "sub_port_2"

        self.sub_port_3 = mock.Mock()
        self.sub_port_3.segmentation_id = 42
        self.sub_port_3.trunk_id = "trunk-2"
        self.sub_port_3.port_id = "sub_port_3"

        self.sub_port_4 = mock.Mock()
        self.sub_port_4.segmentation_id = 43
        self.sub_port_4.trunk_id = "trunk-2"
        self.sub_port_4.port_id = "sub_port_4"

        self.get_trunk_object = mock.patch(
            "neutron.objects.trunk.Trunk.get_object").start()
        self.get_trunk_object.side_effect = lambda ctxt, id: \
            self.trunk_1 if id == 'trunk-1' else self.trunk_2
 def setUp(self):
     super(OVNL3RouterPlugin, self).setUp()
     network_attrs = {'router:external': True}
     self.fake_network = \
         fakes.FakeNetwork.create_one_network(attrs=network_attrs).info()
     self.fake_router_port = {
         'device_id': '',
         'device_owner': 'network:router_interface',
         'mac_address': 'aa:aa:aa:aa:aa:aa',
         'fixed_ips': [{
             'ip_address': '10.0.0.100',
             'subnet_id': 'subnet-id'
         }],
         'id': 'router-port-id'
     }
     self.fake_router_port_assert = {
         'lrouter': 'neutron-router-id',
         'mac': 'aa:aa:aa:aa:aa:aa',
         'name': 'lrp-router-port-id',
         'networks': ['10.0.0.100/24']
     }
     self.fake_router_ports = [self.fake_router_port]
     self.fake_subnet = {
         'id': 'subnet-id',
         'ip_version': 4,
         'cidr': '10.0.0.0/24'
     }
     self.fake_router = {
         'id': 'router-id',
         'name': 'router',
         'admin_state_up': False,
         'routes': [{
             'destination': '1.1.1.0/24',
             'nexthop': '10.0.0.2'
         }]
     }
     self.fake_router_interface_info = {
         'port_id': 'router-port-id',
         'device_id': '',
         'mac_address': 'aa:aa:aa:aa:aa:aa',
         'subnet_id': 'subnet-id',
         'subnet_ids': ['subnet-id'],
         'fixed_ips': [{
             'ip_address': '10.0.0.100',
             'subnet_id': 'subnet-id'
         }],
         'id': 'router-port-id'
     }
     self.fake_external_fixed_ips = {
         'network_id':
         'ext-network-id',
         'external_fixed_ips': [{
             'ip_address': '192.168.1.1',
             'subnet_id': 'ext-subnet-id'
         }]
     }
     self.fake_router_with_ext_gw = {
         'id': 'router-id',
         'name': 'router',
         'admin_state_up': True,
         'external_gateway_info': self.fake_external_fixed_ips,
         'gw_port_id': 'gw-port-id'
     }
     self.fake_router_without_ext_gw = {
         'id': 'router-id',
         'name': 'router',
         'admin_state_up': True,
     }
     self.fake_ext_subnet = {
         'id': 'ext-subnet-id',
         'ip_version': 4,
         'cidr': '192.168.1.0/24',
         'gateway_ip': '192.168.1.254'
     }
     self.fake_ext_gw_port = {
         'device_id':
         '',
         'device_owner':
         'network:router_gateway',
         'fixed_ips': [{
             'ip_address': '192.168.1.1',
             'subnet_id': 'ext-subnet-id'
         }],
         'mac_address':
         '00:00:00:02:04:06',
         'network_id':
         self.fake_network['id'],
         'id':
         'gw-port-id'
     }
     self.fake_ext_gw_port_assert = {
         'lrouter': 'neutron-router-id',
         'mac': '00:00:00:02:04:06',
         'name': 'lrp-gw-port-id',
         'networks': ['192.168.1.1/24'],
         'gateway_chassis': ['hv1']
     }
     self.fake_floating_ip_attrs = {
         'floating_ip_address': '192.168.0.10',
         'fixed_ip_address': '10.0.0.10'
     }
     self.fake_floating_ip = fakes.FakeFloatingIp.create_one_fip(
         attrs=self.fake_floating_ip_attrs)
     self.fake_floating_ip_new_attrs = {
         'router_id': 'new-router-id',
         'floating_ip_address': '192.168.0.10',
         'fixed_ip_address': '10.10.10.10'
     }
     self.fake_floating_ip_new = fakes.FakeFloatingIp.create_one_fip(
         attrs=self.fake_floating_ip_new_attrs)
     self.l3_inst = directory.get_plugin(plugin_constants.L3)
     self._start_mock('networking_ovn.l3.l3_ovn.OVNL3RouterPlugin._ovn',
                      new_callable=mock.PropertyMock,
                      return_value=fakes.FakeOvsdbNbOvnIdl())
     self._start_mock('networking_ovn.l3.l3_ovn.OVNL3RouterPlugin._sb_ovn',
                      new_callable=mock.PropertyMock,
                      return_value=fakes.FakeOvsdbSbOvnIdl())
     self._start_mock('neutron.plugins.ml2.plugin.Ml2Plugin.get_network',
                      return_value=self.fake_network)
     self._start_mock(
         'neutron.db.db_base_plugin_v2.NeutronDbPluginV2.get_port',
         return_value=self.fake_router_port)
     self._start_mock(
         'neutron.db.db_base_plugin_v2.NeutronDbPluginV2.get_subnet',
         return_value=self.fake_subnet)
     self._start_mock('neutron.db.l3_db.L3_NAT_dbonly_mixin.get_router',
                      return_value=self.fake_router)
     self._start_mock(
         'neutron.db.extraroute_db.ExtraRoute_dbonly_mixin.update_router',
         return_value=self.fake_router)
     self._start_mock(
         'neutron.db.l3_db.L3_NAT_dbonly_mixin.remove_router_interface',
         return_value=self.fake_router_interface_info)
     self._start_mock('neutron.db.l3_db.L3_NAT_dbonly_mixin.create_router',
                      return_value=self.fake_router_with_ext_gw)
     self._start_mock('neutron.db.l3_db.L3_NAT_dbonly_mixin.delete_router',
                      return_value={})
     self._start_mock(
         'networking_ovn.common.ovn_client.'
         'OVNClient.get_candidates_for_scheduling',
         return_value=[])
     self._start_mock(
         'networking_ovn.l3.l3_ovn_scheduler.'
         'OVNGatewayLeastLoadedScheduler._schedule_gateway',
         return_value=['hv1'])
     self._start_mock(
         'neutron.db.l3_db.L3_NAT_dbonly_mixin.create_floatingip',
         return_value=self.fake_floating_ip)
     self._start_mock(
         'neutron.db.l3_db.L3_NAT_dbonly_mixin._get_floatingip',
         return_value=self.fake_floating_ip)
 def setUp(self):
     super(OVNL3RouterPlugin, self).setUp()
     self.fake_router_port = {
         'device_id': '',
         'device_owner': 'network:router_interface',
         'mac_address': 'aa:aa:aa:aa:aa:aa',
         'fixed_ips': [{
             'ip_address': '10.0.0.100',
             'subnet_id': 'subnet-id'
         }],
         'id': 'router-port-id'
     }
     self.fake_router_port_assert = {
         'lrouter': 'neutron-router-id',
         'mac': 'aa:aa:aa:aa:aa:aa',
         'name': 'lrp-router-port-id',
         'networks': ['10.0.0.100/24']
     }
     self.fake_router_ports = [self.fake_router_port]
     self.fake_subnet = {
         'id': 'subnet-id',
         'ip_version': 4,
         'cidr': '10.0.0.0/24'
     }
     self.fake_router = {
         'id': 'router-id',
         'name': 'router',
         'admin_state_up': False,
         'routes': [{
             'destination': '1.1.1.0/24',
             'nexthop': '10.0.0.2'
         }]
     }
     self.fake_router_interface_info = {
         'port_id': 'router-port-id',
         'device_id': '',
         'mac_address': 'aa:aa:aa:aa:aa:aa',
         'subnet_id': 'subnet-id',
         'subnet_ids': ['subnet-id'],
         'fixed_ips': [{
             'ip_address': '10.0.0.100',
             'subnet_id': 'subnet-id'
         }],
         'id': 'router-port-id'
     }
     self.fake_external_fixed_ips = {
         'network_id':
         'ext-network-id',
         'external_fixed_ips': [{
             'ip_address': '192.168.1.1',
             'subnet_id': 'ext-subnet-id'
         }]
     }
     self.fake_router_with_ext_gw = {
         'id': 'router-id',
         'name': 'router',
         'admin_state_up': True,
         'external_gateway_info': self.fake_external_fixed_ips,
         'gw_port_id': 'gw-port-id'
     }
     self.fake_router_without_ext_gw = {
         'id': 'router-id',
         'name': 'router',
         'admin_state_up': True,
     }
     self.fake_ext_subnet = {
         'id': 'ext-subnet-id',
         'ip_version': 4,
         'cidr': '192.168.1.0/24',
         'gateway_ip': '192.168.1.254'
     }
     self.fake_ext_gw_port = {
         'device_id':
         '',
         'device_owner':
         'network:router_gateway',
         'fixed_ips': [{
             'ip_address': '192.168.1.1',
             'subnet_id': 'ext-subnet-id'
         }],
         'mac_address':
         '00:00:00:02:04:06',
         'id':
         'gw-port-id'
     }
     self.fake_ext_gw_port_assert = {
         'lrouter': 'neutron-router-id',
         'mac': '00:00:00:02:04:06',
         'name': 'lrp-gw-port-id',
         'networks': ['192.168.1.1/24'],
         'options': {
             'redirect-chassis': 'hv1'
         }
     }
     self.fake_floating_ip = {
         'id': 'fip-id',
         'tenant_id': '',
         'floating_ip_address': '192.168.0.10',
         'floating_network_id': 'fip-net-id',
         'router_id': 'router-id',
         'fixed_port_id': 'port_id',
         'floating_port_id': 'fip-port-id',
         'fixed_ip_address': '10.0.0.10',
         'status': 'Active'
     }
     self.fake_floating_ip_new = {
         'id': 'fip-id',
         'tenant_id': '',
         'floating_ip_address': '192.168.0.10',
         'floating_network_id': 'fip-net-id',
         'router_id': 'new-router-id',
         'fixed_port_id': 'new-port_id',
         'floating_port_id': 'fip-port-id',
         'fixed_ip_address': '10.10.10.10',
         'status': 'Active'
     }
     self.l3_plugin = directory.get_plugin(constants.L3)
     mock.patch('networking_ovn.l3.l3_ovn.OVNL3RouterPlugin._ovn',
                new_callable=mock.PropertyMock,
                return_value=fakes.FakeOvsdbNbOvnIdl()).start()
     mock.patch('networking_ovn.l3.l3_ovn.OVNL3RouterPlugin._sb_ovn',
                new_callable=mock.PropertyMock,
                return_value=fakes.FakeOvsdbSbOvnIdl()).start()
     mock.patch('neutron.db.db_base_plugin_v2.NeutronDbPluginV2.get_port',
                return_value=self.fake_router_port).start()
     mock.patch('neutron.db.db_base_plugin_v2.NeutronDbPluginV2.get_subnet',
                return_value=self.fake_subnet).start()
     mock.patch('neutron.db.l3_db.L3_NAT_dbonly_mixin.get_router',
                return_value=self.fake_router).start()
     mock.patch(
         'neutron.db.extraroute_db.ExtraRoute_dbonly_mixin.update_router',
         return_value=self.fake_router).start()
     mock.patch(
         'neutron.db.l3_db.L3_NAT_dbonly_mixin.remove_router_interface',
         return_value=self.fake_router_interface_info).start()
     mock.patch('neutron.db.l3_db.L3_NAT_dbonly_mixin.create_router',
                return_value=self.fake_router_with_ext_gw).start()
     mock.patch('neutron.db.l3_db.L3_NAT_dbonly_mixin.delete_router',
                return_value={}).start()
     mock.patch(
         'networking_ovn.l3.l3_ovn_scheduler.'
         'OVNGatewayLeastLoadedScheduler._schedule_gateway',
         return_value='hv1').start()
     mock.patch('neutron.db.l3_db.L3_NAT_dbonly_mixin.create_floatingip',
                return_value=self.fake_floating_ip).start()
     mock.patch('neutron.db.l3_db.L3_NAT_dbonly_mixin._get_floatingip',
                return_value=self.fake_floating_ip).start()
Exemple #12
0
 def setUp(self):
     super(TestOVNMechansimDriverSegment, self).setUp()
     mm = manager.NeutronManager.get_plugin().mechanism_manager
     self.mech_driver = mm.mech_drivers['ovn'].obj
     self.mech_driver._nb_ovn = fakes.FakeOvsdbNbOvnIdl()
     self.mech_driver._sb_ovn = fakes.FakeOvsdbSbOvnIdl()
Exemple #13
0
 def setUp(self):
     super(TestBaseCommand, self).setUp()
     self.ovn_api = fakes.FakeOvsdbNbOvnIdl()
     self.transaction = fakes.FakeOvsdbTransaction()
     self.ovn_api.transaction = self.transaction