Host route to metadata server with Bigswitch/Floodlight Plugin
Host route to metadata server was not getting propagated to VM when using the Big Switch/Floodlight plugin. The reason being the update to the subnet (with the host route information) was not being picked up by the dhcp agent. This is being fixed here by sending a notification to the dhcp agent when the host route is added to the subnet. Fixes: Bug #1134043 Change-Id: If040f51946bcb734da319249df17d03e68aa5588
This commit is contained in:
parent
6bb8b1df88
commit
65497444fd
@ -52,6 +52,7 @@ import socket
|
||||
|
||||
from oslo.config import cfg
|
||||
|
||||
from quantum.api.rpc.agentnotifiers import dhcp_rpc_agent_api
|
||||
from quantum.common import constants as const
|
||||
from quantum.common import exceptions
|
||||
from quantum.common import rpc as q_rpc
|
||||
@ -328,6 +329,7 @@ class QuantumRestProxyV2(db_base_plugin_v2.QuantumDbPluginV2,
|
||||
if sync_data:
|
||||
self._send_all_data()
|
||||
|
||||
self._dhcp_agent_notifier = dhcp_rpc_agent_api.DhcpAgentNotifyAPI()
|
||||
LOG.debug(_("QuantumRestProxyV2: initialization done"))
|
||||
|
||||
def create_network(self, context, network):
|
||||
@ -1113,9 +1115,14 @@ class QuantumRestProxyV2(db_base_plugin_v2.QuantumDbPluginV2,
|
||||
nexthop = fixed_ip['ip_address']
|
||||
subnet['host_routes'] = [{'destination': destination,
|
||||
'nexthop': nexthop}]
|
||||
self.update_subnet(context, subnet_id, {'subnet': subnet})
|
||||
LOG.debug(_("Adding host route: "))
|
||||
LOG.debug(_("destination:%s nexthop:%s"), (destination,
|
||||
updated_subnet = self.update_subnet(context,
|
||||
subnet_id,
|
||||
{'subnet': subnet})
|
||||
payload = {'subnet': updated_subnet}
|
||||
self._dhcp_agent_notifier.notify(context, payload,
|
||||
'subnet.update.end')
|
||||
LOG.debug("Adding host route: ")
|
||||
LOG.debug("destination:%s nexthop:%s" % (destination,
|
||||
nexthop))
|
||||
|
||||
def _get_network_with_floatingips(self, network):
|
||||
|
Loading…
Reference in New Issue
Block a user