From cfc28d08da8e4389c2748ef7e2d9dcc6c2ce8ba5 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 (cherry picked from commit f50ca65696205792e83f909b5eee65da00e96187) --- 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 24b046a3df1..5cc34418823 100644 --- a/src/config/schema-transformer/to_bgp.py +++ b/src/config/schema-transformer/to_bgp.py @@ -636,6 +636,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.get_route_target()) + rinst_obj.add_route_target(rtgt_obj, inst_tgt_data) _vnc_lib.routing_instance_update(rinst_obj) except (NoIdError, KeyError): rinst_obj = None @@ -647,6 +650,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.get_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(