Skip to content

Commit

Permalink
Merge "[DM]: routing instance config parameters need to be passed in …
Browse files Browse the repository at this point in the history
…a bettwer way"
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Aug 11, 2016
2 parents 61c195a + 5ae6e8e commit 35dd4d4
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 48 deletions.
75 changes: 34 additions & 41 deletions src/config/device-manager/device_manager/db.py
Expand Up @@ -548,10 +548,13 @@ def add_pnf_vrfs(self, first_vrf, pnf_dict, pnf_ris):
vrf_name = self.get_pnf_vrf_name(
si_obj, if_type, is_left_first_vrf)
vrf_interfaces = pnf_inters
self.config_manager.add_routing_instance(
vrf_name, False, False, import_set,
export_set, [], [], False, vrf_interfaces,
None, None, None, static_routes, True)
ri_conf = { 'ri_name': vrf_name }
ri_conf['import_targets'] = import_set
ri_conf['export_targets'] = export_set
ri_conf['interfaces'] = vrf_interfaces
ri_conf['static_routes'] = static_routes
ri_conf['no_vrf_table_label'] = True
self.config_manager.add_routing_instance(ri_conf)

def push_config(self):
if self.delete_config() or not self.is_vnc_managed():
Expand Down Expand Up @@ -623,19 +626,19 @@ def push_config(self):
irb_ips = None
if vn_obj.get_forwarding_mode() == 'l2_l3':
irb_ips = vn_irb_ip_map.get(vn_id, [])
self.config_manager.add_routing_instance(
vrf_name_l2,
True,
vn_obj.get_forwarding_mode() == 'l2_l3',
import_set,
export_set,
vn_obj.get_prefixes(),
irb_ips,
vn_obj.router_external,
interfaces,
vn_obj.get_vxlan_vni(),
None,
vn_obj.vn_network_id)

ri_conf = { 'ri_name': vrf_name_l2 }
ri_conf['is_l2'] = True
ri_conf['is_l2_l3'] = (vn_obj.get_forwarding_mode() == 'l2_l3')
ri_conf['import_targets'] = import_set
ri_conf['export_targets'] = export_set
ri_conf['prefixes'] = vn_obj.get_prefixes()
ri_conf['gateways'] = irb_ips
ri_conf['router_external'] = vn_obj.router_external
ri_conf['interfaces'] = interfaces
ri_conf['vni'] = vn_obj.get_vxlan_vni()
ri_conf['network_id'] = vn_obj.vn_network_id
self.config_manager.add_routing_instance(ri_conf)

if vn_obj.get_forwarding_mode() in ['l3', 'l2_l3']:
interfaces = []
Expand All @@ -644,17 +647,14 @@ def push_config(self):
JunosInterface(
'irb.' + str(vn_obj.vn_network_id),
'l3', 0)]
self.config_manager.add_routing_instance(
vrf_name_l3,
False,
vn_obj.get_forwarding_mode() == 'l2_l3',
import_set,
export_set,
vn_obj.get_prefixes(),
None,
vn_obj.router_external,
interfaces)

ri_conf = { 'ri_name': vrf_name_l3 }
ri_conf['is_l2_l3'] = (vn_obj.get_forwarding_mode() == 'l2_l3')
ri_conf['import_targets'] = import_set
ri_conf['export_targets'] = export_set
ri_conf['prefixes'] = vn_obj.get_prefixes()
ri_conf['router_external'] = vn_obj.router_external
ri_conf['interfaces'] = interfaces
self.config_manager.add_routing_instance(ri_conf)
break

if (export_set is not None and
Expand All @@ -679,19 +679,12 @@ def push_config(self):
JunosInterface(
service_ports[0] + "." + str(service_port_id + 1),
'l3', 0))
self.config_manager.add_routing_instance(
vrf_name,
False,
False,
import_set,
set(),
None,
None,
False,
interfaces,
None,
vn_obj.instance_ip_map,
vn_obj.vn_network_id)
ri_conf = { 'ri_name': vrf_name }
ri_conf['import_targets'] = import_set
ri_conf['interfaces'] = interfaces
ri_conf['fip_map'] = vn_obj.instance_ip_map
ri_conf['network_id'] = vn_obj.vn_network_id
self.config_manager.add_routing_instance(ri_conf)
# Add PNF ri configuration
self.add_pnf_vrfs(first_vrf, pnf_dict, pnf_ris)

Expand Down
23 changes: 16 additions & 7 deletions src/config/device-manager/device_manager/physical_router_config.py
Expand Up @@ -303,13 +303,22 @@ def add_inet_filter_term(self, ri_name, prefixes, inet_type):
no_vrf_table_label: if this is set to True will not generate vrf table label knob
'''

def add_routing_instance(self, ri_name, is_l2, is_l2_l3,
import_targets, export_targets,
prefixes=[], gateways=[],
router_external=False,
interfaces=[], vni=None,
fip_map=None, network_id=None,
static_routes={}, no_vrf_table_label=False):
def add_routing_instance(self, ri_conf):
ri_name = ri_conf.get("ri_name")
is_l2 = ri_conf.get("is_l2", False)
is_l2_l3 = ri_conf.get("is_l2_l3", False)
import_targets = ri_conf.get("import_targets", set())
export_targets = ri_conf.get("export_targets", set())
prefixes = ri_conf.get("prefixes", [])
gateways = ri_conf.get("gateways", [])
router_external = ri_conf.get("router_external", False)
interfaces = ri_conf.get("interfaces", [])
vni = ri_conf.get("vni", None)
fip_map = ri_conf.get("fip_map", None)
network_id = ri_conf.get("network_id", None)
static_routes = ri_conf.get("static_routes", {})
no_vrf_table_label = ri_conf.get("no_vrf_table_label", False)

self.routing_instances[ri_name] = {'import_targets': import_targets,
'export_targets': export_targets,
'prefixes': prefixes,
Expand Down

0 comments on commit 35dd4d4

Please sign in to comment.