From 29d4c7d5849d8690a3567e502b71336116f4e11b Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Wed, 19 Jul 2017 12:59:20 -0400 Subject: Add support for fdio scenarios Add support for the following scenarios: - os-odl-fdio-ha - os-odl-fdio-noha - os-nosdn-fdio-noha - os-nosdn-fdio-ha apex-tripleo-heat-templates: If11092e6581445a70e63c8f6c48518698b3cc8fc apex-puppet-tripleo: If498c41d706c8f14a5b0bbee64cb4d26cd78c2d0 apex-os-net-config: If7a2c6119bf613f1fc8846237b077cd8f0e26015 Change-Id: Id3fdd09f6e0d2b7666d08c0dc7802165797eefdc Signed-off-by: Feng Pan --- build/patches/neutron-patch-NSDriver.patch | 64 ++++++++---------------------- 1 file changed, 16 insertions(+), 48 deletions(-) (limited to 'build/patches/neutron-patch-NSDriver.patch') diff --git a/build/patches/neutron-patch-NSDriver.patch b/build/patches/neutron-patch-NSDriver.patch index d5889e38..f01d0318 100644 --- a/build/patches/neutron-patch-NSDriver.patch +++ b/build/patches/neutron-patch-NSDriver.patch @@ -1,16 +1,16 @@ -From ff4e918d21970a81604a0aaa2af888141f93cdac Mon Sep 17 00:00:00 2001 +From d51e6ba77c3f40c7c04c97b1de06bf9344c95929 Mon Sep 17 00:00:00 2001 From: Feng Pan -Date: Sun, 5 Feb 2017 21:34:19 -0500 +Date: Thu, 20 Jul 2017 16:12:45 -0400 Subject: [PATCH] Add NSDriver --- neutron/agent/l3/namespaces.py | 6 ++-- - neutron/agent/l3/router_info.py | 14 ++++---- + neutron/agent/l3/router_info.py | 12 ++++--- neutron/agent/linux/interface.py | 76 +++++++++++++++++++++++++++++++++++++++- - 3 files changed, 87 insertions(+), 9 deletions(-) + 3 files changed, 86 insertions(+), 8 deletions(-) diff --git a/neutron/agent/l3/namespaces.py b/neutron/agent/l3/namespaces.py -index e70d7bb..3c932a8 100644 +index f65c706..e9fc4b7 100644 --- a/neutron/agent/l3/namespaces.py +++ b/neutron/agent/l3/namespaces.py @@ -18,6 +18,7 @@ import functools @@ -32,7 +32,7 @@ index e70d7bb..3c932a8 100644 name = self._get_ns_name(router_id) super(RouterNamespace, self).__init__( name, agent_conf, driver, use_ipv6) -@@ -131,7 +133,7 @@ class RouterNamespace(Namespace): +@@ -132,7 +134,7 @@ class RouterNamespace(Namespace): elif d.name.startswith(ROUTER_2_FIP_DEV_PREFIX): ns_ip.del_veth(d.name) elif d.name.startswith(EXTERNAL_DEV_PREFIX): @@ -42,10 +42,10 @@ index e70d7bb..3c932a8 100644 bridge=self.agent_conf.external_network_bridge, namespace=self.name, diff --git a/neutron/agent/l3/router_info.py b/neutron/agent/l3/router_info.py -index 3fd3934..b33fb7e 100644 +index 46db6a5..6775882 100644 --- a/neutron/agent/l3/router_info.py +++ b/neutron/agent/l3/router_info.py -@@ -27,6 +27,7 @@ from neutron.common import exceptions as n_exc +@@ -30,6 +30,7 @@ from neutron.common import exceptions as n_exc from neutron.common import ipv6_utils from neutron.common import utils as common_utils from neutron.ipam import utils as ipam_utils @@ -53,15 +53,15 @@ index 3fd3934..b33fb7e 100644 LOG = logging.getLogger(__name__) INTERNAL_DEV_PREFIX = namespaces.INTERNAL_DEV_PREFIX -@@ -47,6 +48,7 @@ class RouterInfo(object): - agent_conf, +@@ -52,6 +53,7 @@ class RouterInfo(object): interface_driver, use_ipv6=False): + self.agent = agent + self.ovs_driver = OVSInterfaceDriver(agent_conf) self.router_id = router_id self.ex_gw_port = None self._snat_enabled = None -@@ -57,7 +59,7 @@ class RouterInfo(object): +@@ -63,7 +65,7 @@ class RouterInfo(object): self.router = router self.use_ipv6 = use_ipv6 ns = self.create_router_namespace_object( @@ -70,7 +70,7 @@ index 3fd3934..b33fb7e 100644 self.router_namespace = ns self.ns_name = ns.name self.available_mark_ids = set(range(ADDRESS_SCOPE_MARK_ID_MIN, -@@ -94,9 +96,9 @@ class RouterInfo(object): +@@ -100,9 +102,9 @@ class RouterInfo(object): self.router_namespace.create() def create_router_namespace_object( @@ -82,7 +82,7 @@ index 3fd3934..b33fb7e 100644 @property def router(self): -@@ -583,7 +585,7 @@ class RouterInfo(object): +@@ -609,7 +611,7 @@ class RouterInfo(object): for ip in floating_ips] def _plug_external_gateway(self, ex_gw_port, interface_name, ns_name): @@ -91,7 +91,7 @@ index 3fd3934..b33fb7e 100644 ex_gw_port['id'], interface_name, ex_gw_port['mac_address'], -@@ -641,7 +643,7 @@ class RouterInfo(object): +@@ -679,7 +681,7 @@ class RouterInfo(object): self._add_route_to_gw(ex_gw_port, device_name=interface_name, namespace=ns_name, preserve_ips=preserve_ips) @@ -100,17 +100,8 @@ index 3fd3934..b33fb7e 100644 interface_name, ip_cidrs, namespace=ns_name, -@@ -735,7 +737,7 @@ class RouterInfo(object): - for stale_dev in stale_devs: - LOG.debug('Deleting stale external router device: %s', stale_dev) - pd.remove_gw_interface(self.router['id']) -- self.driver.unplug(stale_dev, -+ self.ovs_driver.unplug(stale_dev, - bridge=self.agent_conf.external_network_bridge, - namespace=self.ns_name, - prefix=EXTERNAL_DEV_PREFIX) diff --git a/neutron/agent/linux/interface.py b/neutron/agent/linux/interface.py -index c2eb06e..80da16f 100644 +index 1f1ed39..b7781e2 100644 --- a/neutron/agent/linux/interface.py +++ b/neutron/agent/linux/interface.py @@ -15,7 +15,7 @@ @@ -122,7 +113,7 @@ index c2eb06e..80da16f 100644 import netaddr from neutron_lib import constants from oslo_config import cfg -@@ -288,6 +288,80 @@ class NullDriver(LinuxInterfaceDriver): +@@ -317,6 +317,80 @@ class NullDriver(LinuxInterfaceDriver): def unplug(self, device_name, bridge=None, namespace=None, prefix=None): pass @@ -203,29 +194,6 @@ index c2eb06e..80da16f 100644 class OVSInterfaceDriver(LinuxInterfaceDriver): """Driver for creating an internal interface on an OVS bridge.""" -diff --git a/neutron/agent/l3/ha_router.py b/usr/lib/python2.7/site-packages/neutron/agent/l3/ha_router.py -index ca0e50d..2c4fdad 100644 ---- a/neutron/agent/l3/ha_router.py -+++ b/usr/lib/python2.7/site-packages/neutron/agent/l3/ha_router.py -@@ -52,15 +52,14 @@ class HaRouterNamespace(namespaces.RouterNamespace): - class HaRouter(router.RouterInfo): - def __init__(self, state_change_callback, *args, **kwargs): - super(HaRouter, self).__init__(*args, **kwargs) -- - self.ha_port = None - self.keepalived_manager = None - self.state_change_callback = state_change_callback - - def create_router_namespace_object( -- self, router_id, agent_conf, iface_driver, use_ipv6): -+ self, router_id, agent_conf, iface_driver, use_ipv6, ovs_driver): - return HaRouterNamespace( -- router_id, agent_conf, iface_driver, use_ipv6) -+ router_id, agent_conf, iface_driver, use_ipv6, ovs_driver) - - @property - def ha_priority(self): - -- 2.9.3 -- cgit 1.2.3-korg