def test_create_duplicate_default_l2_gateway_noop(self): def_bridge_cluster_name = nsx_v3_mocks.NSX_BRIDGE_CLUSTER_NAME with mock.patch.object(nsx_v3_driver.NsxV3Driver, 'subscribe_callback_notifications'): cfg.CONF.set_override("default_bridge_cluster", def_bridge_cluster_name, "nsx_v3") nsx_v3_driver.NsxV3Driver(mock.MagicMock()) nsx_v3_driver.NsxV3Driver(mock.MagicMock()) l2gws = self.driver._get_l2_gateways(self.context) # Verify whether only one default L2 gateway is created self.assertEqual(1, len(l2gws))
def test_nsxl2gw_driver_init(self): with mock.patch.object(nsx_v3_driver.NsxV3Driver, 'subscribe_callback_notifications') as sub: with mock.patch.object(nsx_v3_driver.LOG, 'debug') as debug: nsx_v3_driver.NsxV3Driver(mock.MagicMock()) self.assertTrue(sub.called) self.assertTrue(debug.called)
def test_create_default_l2_gateway(self): def_bep_name = NSX_DEFAULT_BEP_NAME cfg.CONF.set_override("default_bridge_endpoint_profile", def_bep_name, "nsx_v3") with mock.patch.object(nsx_v3_driver.NsxV3Driver, '_get_bridge_vlan_tz_id', return_value=['some_tz_id']) as mock_get_tz: nsx_v3_driver.NsxV3Driver(mock.MagicMock()) def_bep_id = (self.nsxlib.bridge_endpoint_profile. get_id_by_name_or_id(def_bep_name)) # fake the callback invoked after init registry.publish(resources.PROCESS, events.BEFORE_SPAWN, mock.MagicMock()) l2gws = self.driver._get_l2_gateways(self.context) def_l2gw = None for l2gw in l2gws: for device in l2gw['devices']: if device['device_name'] == def_bep_id: def_l2gw = l2gw self.assertIsNotNone(def_l2gw) self.assertTrue(def_l2gw.devices[0].device_name, def_bep_id) self.assertTrue(def_l2gw.devices[0].interfaces[0].interface_name, 'some_tz_id') mock_get_tz.assert_called_once_with({ 'id': def_bep_id, 'edge_cluster_id': 'meh' })
def setUp(self): super(TestNsxV3L2GatewayDriver, self).setUp() self.core_plugin = importutils.import_object(NSX_V3_PLUGIN_CLASS) self.driver = nsx_v3_driver.NsxV3Driver(mock.MagicMock()) mock.patch.object(config, 'register_l2gw_opts_helper') mock.patch('neutron.services.service_base.load_drivers', return_value=({ 'dummyprovider': self.driver }, 'dummyprovider')).start() mock.patch.object(l2gateway_db.L2GatewayMixin, '__init__'), mock.patch.object(l2gateway_db, 'subscribe') mock.patch('neutron.db.servicetype_db.ServiceTypeManager.get_instance', return_value=mock.MagicMock()).start() mock_default_bep_uuid = uuidutils.generate_uuid() mock.patch( 'vmware_nsxlib.v3.core_resources.' 'NsxLibBridgeEndpointProfile.get_id_by_name_or_id', return_value=mock_default_bep_uuid).start() mock.patch( 'vmware_nsxlib.v3.core_resources.' 'NsxLibBridgeEndpointProfile.get', return_value={ 'id': mock_default_bep_uuid, 'edge_cluster_id': 'meh' }).start() mock.patch( 'vmware_nsxlib.v3.core_resources.' 'NsxLibTransportZone.get_transport_type', return_value="VLAN").start() self.l2gw_plugin = core_l2gw_plugin.L2GatewayPlugin() self.context = context.get_admin_context()
def test_create_default_l2_gateway_no_bc_uuid_noop(self): with mock.patch.object(nsx_v3_driver.NsxV3Driver, 'subscribe_callback_notifications'): nsx_v3_driver.NsxV3Driver(mock.MagicMock()) l2gws = self.driver._get_l2_gateways(self.context) # Verify no default L2 gateway is created if bridge cluster id is # not configured in nsx.ini self.assertEqual([], l2gws)
def setUp(self): super(TestNsxV3L2GatewayDriver, self).setUp() cfg.CONF.set_override("nsx_l2gw_driver", NSX_V3_L2GW_DRIVER_CLASS_PATH) self.core_plugin = importutils.import_object(NSX_V3_PLUGIN_CLASS) self.driver = nsx_v3_driver.NsxV3Driver() self.l2gw_plugin = l2gw_plugin.NsxL2GatewayPlugin(mock.MagicMock()) self.context = context.get_admin_context()
def test_create_duplicate_default_l2_gateway_noop(self): def_bridge_cluster_name = nsx_v3_mocks.NSX_BRIDGE_CLUSTER_NAME cfg.CONF.set_override("default_bridge_cluster", def_bridge_cluster_name, "nsx_v3") for i in range(0, 2): nsx_v3_driver.NsxV3Driver(mock.MagicMock()) # fake the callback invoked after init registry.publish(resources.PROCESS, events.BEFORE_SPAWN, mock.MagicMock()) l2gws = self.driver._get_l2_gateways(self.context) # Verify whether only one default L2 gateway is created self.assertEqual(1, len(l2gws))
def setUp(self): super(TestNsxV3L2GatewayDriver, self).setUp() self.core_plugin = importutils.import_object(NSX_V3_PLUGIN_CLASS) self.driver = nsx_v3_driver.NsxV3Driver(mock.MagicMock()) mock.patch.object(config, 'register_l2gw_opts_helper') mock.patch('neutron.services.service_base.load_drivers', return_value=({'dummyprovider': self.driver}, 'dummyprovider')).start() mock.patch.object(l2gateway_db.L2GatewayMixin, '__init__'), mock.patch.object(l2gateway_db, 'subscribe') mock.patch('neutron.db.servicetype_db.ServiceTypeManager.get_instance', return_value=mock.MagicMock()).start() self.l2gw_plugin = core_l2gw_plugin.L2GatewayPlugin() self.context = context.get_admin_context()
def test_create_duplicate_default_l2_gateway_noop(self): def_bep_name = NSX_DEFAULT_BEP_NAME cfg.CONF.set_override("default_bridge_endpoint_profile", def_bep_name, "nsx_v3") with mock.patch.object(nsx_v3_driver.NsxV3Driver, '_get_bridge_vlan_tz_id', return_value=['some_tz_id']): for i in range(0, 2): nsx_v3_driver.NsxV3Driver(mock.MagicMock()) # fake the callback invoked after init registry.publish(resources.PROCESS, events.BEFORE_SPAWN, mock.MagicMock()) l2gws = self.driver._get_l2_gateways(self.context) # Verify whether only one default L2 gateway is created self.assertEqual(1, len(l2gws))
def __init__(self, plugin): super(NsxTvdL2GatewayDriver, self).__init__() self._plugin = plugin # supported drivers: self.drivers = {} try: self.drivers[projectpluginmap.NsxPlugins.NSX_T] = ( t_driver.NsxV3Driver(plugin)) except Exception: LOG.warning("NsxTvdL2GatewayDriver failed to initialize the NSX-T " "driver") self.drivers[projectpluginmap.NsxPlugins.NSX_T] = None try: self.drivers[projectpluginmap.NsxPlugins.NSX_V] = ( v_driver.NsxvL2GatewayDriver(plugin)) except Exception: LOG.warning("NsxTvdL2GatewayDriver failed to initialize the NSX-V " "driver") self.drivers[projectpluginmap.NsxPlugins.NSX_V] = None
def test_create_default_l2_gateway(self): def_bridge_cluster_name = nsx_v3_mocks.NSX_BRIDGE_CLUSTER_NAME cfg.CONF.set_override("default_bridge_cluster", def_bridge_cluster_name, "nsx_v3") nsx_v3_driver.NsxV3Driver(mock.MagicMock()) # fake the callback invoked after init registry.publish(resources.PROCESS, events.BEFORE_SPAWN, mock.MagicMock()) l2gws = self.driver._get_l2_gateways(self.context) def_bridge_cluster_id = (self.nsxlib.bridge_cluster. get_id_by_name_or_id(def_bridge_cluster_name)) def_l2gw = None for l2gw in l2gws: for device in l2gw['devices']: if device['device_name'] == def_bridge_cluster_id: def_l2gw = l2gw self.assertIsNotNone(def_l2gw) self.assertTrue(def_l2gw.devices[0].device_name, def_bridge_cluster_id) self.assertTrue(def_l2gw.devices[0].interfaces[0].interface_name, 'default-bridge-cluster')
def test_create_default_l2_gateway(self): def_bridge_cluster_name = nsx_v3_mocks.NSX_BRIDGE_CLUSTER_NAME with mock.patch.object(nsx_v3_driver.NsxV3Driver, 'subscribe_callback_notifications'): cfg.CONF.set_override("default_bridge_cluster", def_bridge_cluster_name, "nsx_v3") nsx_v3_driver.NsxV3Driver(mock.MagicMock()) l2gws = self.driver._get_l2_gateways(self.context) def_bridge_cluster_id = ( self.nsxlib.get_bridge_cluster_id_by_name_or_id( def_bridge_cluster_name)) def_l2gw = None for l2gw in l2gws: for device in l2gw['devices']: if device['device_name'] == def_bridge_cluster_id: def_l2gw = l2gw self.assertIsNotNone(def_l2gw) self.assertTrue(def_l2gw.devices[0].device_name, def_bridge_cluster_id) self.assertTrue(def_l2gw.devices[0].interfaces[0].interface_name, 'default-bridge-cluster')