From 178eb383a0df0f46a44d97ed45ff7fdcfc3e4901 Mon Sep 17 00:00:00 2001 From: Sachin Bansal Date: Tue, 20 Oct 2015 09:33:18 -0700 Subject: [PATCH] For transit VN, the route target of the primary RI should be added to the first service RI (for left VN), or last service RI (for right VN). Earlier, we were always adding it to the first service RI. Change-Id: I7e086753b4710431b419e19add132ba3ed5f1b45 Closes-Bug: 1505449 --- src/config/schema-transformer/to_bgp.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/config/schema-transformer/to_bgp.py b/src/config/schema-transformer/to_bgp.py index 24b046a3df1..620bbaec470 100644 --- a/src/config/schema-transformer/to_bgp.py +++ b/src/config/schema-transformer/to_bgp.py @@ -703,8 +703,15 @@ def set_properties(self, properties): self.allow_transit = properties.allow_transit for sc_list in self.service_chains.values(): for service_chain in sc_list: - ri_name = self.get_service_name(service_chain.name, - service_chain.service_list[0]) + if not service_chain.created: + continue + if self.name == service_chain.left_vn: + si_name = service_chain.service_list[0] + elif self.name == service_chain.right_vn: + si_name = service_chain.service_list[-1] + else: + continue + ri_name = self.get_service_name(service_chain.name, si_name) ri = self.rinst.get(ri_name) if not ri: continue @@ -716,8 +723,7 @@ def set_properties(self, properties): else: # if the network is not a transit network any more, then we # need to delete the route target from service RIs - ri.update_route_target_list([], [self.get_route_target()], - import_export='export') + ri.update_route_target_list([], [self.get_route_target()]) # end set_properties def set_route_target_list(self, rt_list):