Logical Service Nodes (LSN) are those that provide dhcp
and metadata services to networks when the NSX plugin is
used without the openstack dhcp and metadata proxy
agents. External networks do not work with Neutron's
dhcp and metadata services, therefore there is no need
to provision a LSN in this case.
Added UT to avoid regression.
Closes-bug: #
1316795
Change-Id: I3dab0c9cbecdd9296466c991d02d590d6bd5bd49
% {"action": action, "resource": network})
if action == 'create_network':
network_id = network['id']
+ if network.get(external_net.EXTERNAL):
+ LOG.info(_("Network %s is external: no LSN to create"), network_id)
+ return
plugin.lsn_manager.lsn_create(context, network_id)
elif action == 'delete_network':
# NOTE(armando-migliaccio): on delete_network, network
self.plugin.lsn_manager.lsn_create.assert_called_once_with(
mock.ANY, network['id'])
+ def test_handle_create_network_router_external(self):
+ network = {'id': 'foo_network_id', 'router:external': True}
+ nsx.handle_network_dhcp_access(
+ self.plugin, mock.ANY, network, 'create_network')
+ self.assertFalse(self.plugin.lsn_manager.lsn_create.call_count)
+
def test_handle_delete_network(self):
network_id = 'foo_network_id'
self.plugin.lsn_manager.lsn_delete_by_network.return_value = (