From f50ca65696205792e83f909b5eee65da00e96187 Mon Sep 17 00:00:00 2001 From: Sachin Bansal Date: Fri, 20 Nov 2015 10:57:47 -0800 Subject: [PATCH] Schema transformer should restore route target list at restart When schema transformer restarts, it resets route targets to what is currently applicable. But it is not restoring the primary routing-instance's target as an export target on service routing instances if needed. With this patch, that is fixed. Change-Id: Id829af2e3d16f98b52f2b21a8c9f2fdff21ecde5 Closes-Bug: 1518415 --- src/config/schema-transformer/to_bgp.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/config/schema-transformer/to_bgp.py b/src/config/schema-transformer/to_bgp.py index 05ca117e3d6..c770bf4ab94 100644 --- a/src/config/schema-transformer/to_bgp.py +++ b/src/config/schema-transformer/to_bgp.py @@ -514,6 +514,9 @@ def locate_routing_instance(self, rinst_name, service_chain=None, for rt in self.rt_list: rtgt_obj = RouteTarget(rt) rinst_obj.add_route_target(rtgt_obj, inst_tgt_data) + if not is_default and self.allow_transit: + rtgt_obj = RouteTarget(self._route_target) + rinst_obj.add_route_target(rtgt_obj, inst_tgt_data) if (not compare_refs(rinst_obj.get_route_target_refs(), old_rt_refs)): need_update = True @@ -529,6 +532,9 @@ def locate_routing_instance(self, rinst_name, service_chain=None, for rt in self.rt_list: rtgt_obj = RouteTarget(rt) rinst_obj.add_route_target(rtgt_obj, inst_tgt_data) + if not is_default and self.allow_transit: + rtgt_obj = RouteTarget(self._route_target) + rinst_obj.add_route_target(rtgt_obj, inst_tgt_data) _vnc_lib.routing_instance_create(rinst_obj) except (BadRequest, HttpError) as e: _sandesh._logger.error(