diff --git a/vmware_nsx/common/l3_rpc_agent_api.py b/vmware_nsx/common/l3_rpc_agent_api.py new file mode 100644 index 0000000000..33e47ef4d2 --- /dev/null +++ b/vmware_nsx/common/l3_rpc_agent_api.py @@ -0,0 +1,48 @@ +# Copyright (c) 2013 OpenStack Foundation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +class L3NotifyAPI(object): + """Dummy driver for L3 notifcations - no need - no L3 agenets.""" + + # We need this driver as this code is invoked from the L3 mixin code. + + def agent_updated(self, context, admin_state_up, host): + pass + + def router_deleted(self, context, router_id): + pass + + def routers_updated(self, context, router_ids, operation=None, data=None, + shuffle_agents=False, schedule_routers=True): + pass + + def add_arp_entry(self, context, router_id, arp_table, operation=None): + pass + + def del_arp_entry(self, context, router_id, arp_table, operation=None): + pass + + def delete_fipnamespace_for_ext_net(self, context, ext_net_id): + pass + + def router_removed_from_agent(self, context, router_id, host): + pass + + def router_added_to_agent(self, context, router_ids, host): + pass + + def routers_updated_on_host(self, context, router_ids, host): + pass diff --git a/vmware_nsx/plugins/nsx_v/plugin.py b/vmware_nsx/plugins/nsx_v/plugin.py index cad54c91dd..a84a5724c7 100644 --- a/vmware_nsx/plugins/nsx_v/plugin.py +++ b/vmware_nsx/plugins/nsx_v/plugin.py @@ -85,6 +85,7 @@ import vmware_nsx from vmware_nsx._i18n import _, _LE, _LI, _LW from vmware_nsx.common import config # noqa from vmware_nsx.common import exceptions as nsx_exc +from vmware_nsx.common import l3_rpc_agent_api from vmware_nsx.common import locking from vmware_nsx.common import managers as nsx_managers from vmware_nsx.common import nsx_constants @@ -190,6 +191,8 @@ class NsxVPluginV2(addr_pair_db.AllowedAddressPairsMixin, def __init__(self): self._extension_manager = nsx_managers.ExtensionManager() super(NsxVPluginV2, self).__init__() + # Bind the dummy L3 notifications + self.l3_rpc_notifier = l3_rpc_agent_api.L3NotifyAPI() self.init_is_complete = False registry.subscribe(self.init_complete, resources.PROCESS, diff --git a/vmware_nsx/plugins/nsx_v3/plugin.py b/vmware_nsx/plugins/nsx_v3/plugin.py index 824caeb623..57f4ca37ea 100644 --- a/vmware_nsx/plugins/nsx_v3/plugin.py +++ b/vmware_nsx/plugins/nsx_v3/plugin.py @@ -79,6 +79,7 @@ from vmware_nsx._i18n import _, _LE, _LI, _LW from vmware_nsx.api_replay import utils as api_replay_utils from vmware_nsx.common import config # noqa from vmware_nsx.common import exceptions as nsx_exc +from vmware_nsx.common import l3_rpc_agent_api from vmware_nsx.common import locking from vmware_nsx.common import managers from vmware_nsx.common import utils @@ -172,6 +173,8 @@ class NsxV3Plugin(agentschedulers_db.AZDhcpAgentSchedulerDbMixin, def __init__(self): self._extension_manager = managers.ExtensionManager() super(NsxV3Plugin, self).__init__() + # Bind the dummy L3 notifications + self.l3_rpc_notifier = l3_rpc_agent_api.L3NotifyAPI() LOG.info(_LI("Starting NsxV3Plugin")) self._extension_manager.initialize() self.supported_extension_aliases.extend(