Recreate metadata route after VDR gateway is set
Fixes a bug, where a VDR metadata route is cleared which the VDR is attached to an external network. Change-Id: I8d846cf915fb808497e6f5ef7ebcab74d393f61e
This commit is contained in:
parent
b1d15d00cc
commit
7d7406fb55
@ -1119,10 +1119,11 @@ class NsxVPluginV2(agents_db.AgentDbMixin,
|
|||||||
self.edge_manager.update_dhcp_edge_service(
|
self.edge_manager.update_dhcp_edge_service(
|
||||||
context, network_id, address_groups=address_groups)
|
context, network_id, address_groups=address_groups)
|
||||||
|
|
||||||
if resource_id and self.metadata_proxy_handler:
|
if resource_id:
|
||||||
|
if self.metadata_proxy_handler:
|
||||||
LOG.debug('Update metadata for resource %s', resource_id)
|
LOG.debug('Update metadata for resource %s', resource_id)
|
||||||
self.metadata_proxy_handler.configure_router_edge(resource_id,
|
self.metadata_proxy_handler.configure_router_edge(
|
||||||
context)
|
resource_id, context)
|
||||||
|
|
||||||
self.setup_dhcp_edge_fw_rules(context, self, resource_id)
|
self.setup_dhcp_edge_fw_rules(context, self, resource_id)
|
||||||
|
|
||||||
|
@ -171,6 +171,8 @@ class RouterDistributedDriver(router_driver.RouterBaseDriver):
|
|||||||
|
|
||||||
# update static routes in all
|
# update static routes in all
|
||||||
self.update_routes(context, router_id, newnexthop)
|
self.update_routes(context, router_id, newnexthop)
|
||||||
|
if self.plugin.metadata_proxy_handler:
|
||||||
|
self._metadata_route_setup(context, router_id)
|
||||||
|
|
||||||
def add_router_interface(self, context, router_id, interface_info):
|
def add_router_interface(self, context, router_id, interface_info):
|
||||||
info = super(nsx_v.NsxVPluginV2, self.plugin).add_router_interface(
|
info = super(nsx_v.NsxVPluginV2, self.plugin).add_router_interface(
|
||||||
@ -233,7 +235,8 @@ class RouterDistributedDriver(router_driver.RouterBaseDriver):
|
|||||||
# Get all subnets which are attached to the VDR and have DHCP enabled
|
# Get all subnets which are attached to the VDR and have DHCP enabled
|
||||||
vdr_ports = self.plugin.get_ports(
|
vdr_ports = self.plugin.get_ports(
|
||||||
context,
|
context,
|
||||||
filters={'device_id': [router_id]},
|
filters={'device_id': [router_id],
|
||||||
|
'enable_dhcp': True},
|
||||||
fields=['fixed_ips'])
|
fields=['fixed_ips'])
|
||||||
vdr_subnets = [port['fixed_ips'][0]['subnet_id'] for port in vdr_ports]
|
vdr_subnets = [port['fixed_ips'][0]['subnet_id'] for port in vdr_ports]
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user