本文整理汇总了Python中dm_utils.DMUtils.make_vrf_name方法的典型用法代码示例。如果您正苦于以下问题:Python DMUtils.make_vrf_name方法的具体用法?Python DMUtils.make_vrf_name怎么用?Python DMUtils.make_vrf_name使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dm_utils.DMUtils
的用法示例。
在下文中一共展示了DMUtils.make_vrf_name方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: feature_config
# 需要导入模块: from dm_utils import DMUtils [as 别名]
# 或者: from dm_utils.DMUtils import make_vrf_name [as 别名]
def feature_config(self, **kwargs):
self.pi_map = OrderedDict()
feature_config = Feature(name=self.feature_name())
vn_map = self._get_interconnect_vn_map()
for vn_uuid, vn_list in vn_map.iteritems():
vn_obj = db.VirtualNetworkDM.get(vn_uuid)
ri_obj = self._get_primary_ri(vn_obj)
if ri_obj is None:
continue
ri_name = DMUtils.make_vrf_name(vn_obj.fq_name[-1],
vn_obj.vn_network_id, 'l3')
export_targets, import_targets = self._get_export_import_targets(vn_obj, ri_obj)
ri = self._build_ri_config(vn_obj, ri_name, ri_obj, export_targets,
import_targets, feature_config, vn_list)
feature_config.add_routing_instances(ri)
for pi, li_map in self.pi_map.values():
pi.set_logical_interfaces(li_map.values())
feature_config.add_physical_interfaces(pi)
return feature_config
示例2: feature_config
# 需要导入模块: from dm_utils import DMUtils [as 别名]
# 或者: from dm_utils.DMUtils import make_vrf_name [as 别名]
def feature_config(self, **kwargs):
self.pi_map = OrderedDict()
feature_config = Feature(name=self.feature_name())
vns = self._get_connected_vn_ids()
use_gateway_ip = all([c.additional_params.use_gateway_ip == 'True' for c in self._configs])
irb_ip_map = self._physical_router.allocate_irb_ips_for(vns, use_gateway_ip)
for vn_uuid in vns:
vn_obj = db.VirtualNetworkDM.get(vn_uuid)
ri_obj = self._get_primary_ri(vn_obj)
if ri_obj is None:
continue
ri_name = DMUtils.make_vrf_name(vn_obj.fq_name[-1],
vn_obj.vn_network_id, 'l3')
export_targets, import_targets = self._get_export_import_targets(vn_obj, ri_obj)
ri = self._build_ri_config(vn_obj, ri_name, ri_obj, export_targets,
import_targets, feature_config, irb_ip_map.get(vn_uuid, []))
feature_config.add_routing_instances(ri)
for pi, li_map in self.pi_map.values():
pi.set_logical_interfaces(li_map.values())
feature_config.add_physical_interfaces(pi)
return feature_config
示例3: build_ri_config
# 需要导入模块: from dm_utils import DMUtils [as 别名]
# 或者: from dm_utils.DMUtils import make_vrf_name [as 别名]
def build_ri_config(self):
if not self.is_spine():
esi_map = self.get_ae_alloc_esi_map()
self.physical_router.evaluate_ae_id_map(esi_map)
self.build_ae_config(esi_map)
vn_dict = self.get_vn_li_map()
vn_irb_ip_map = None
if self.is_spine():
self.physical_router.evaluate_vn_irb_ip_map(set(vn_dict.keys()), 'l2_l3', 'irb', False)
self.physical_router.evaluate_vn_irb_ip_map(set(vn_dict.keys()), 'l3', 'lo0', True)
vn_irb_ip_map = self.physical_router.get_vn_irb_ip_map()
for vn_id, interfaces in vn_dict.items():
vn_obj = VirtualNetworkDM.get(vn_id)
if (vn_obj is None or
vn_obj.get_vxlan_vni() is None or
vn_obj.vn_network_id is None):
continue
export_set = None
import_set = None
for ri_id in vn_obj.routing_instances:
# Find the primary RI by matching the name
ri_obj = RoutingInstanceDM.get(ri_id)
if ri_obj is None:
continue
if ri_obj.fq_name[-1] == vn_obj.fq_name[-1]:
vrf_name_l2 = DMUtils.make_vrf_name(vn_obj.fq_name[-1],
vn_obj.vn_network_id, 'l2')
vrf_name_l3 = DMUtils.make_vrf_name(vn_obj.fq_name[-1],
vn_obj.vn_network_id, 'l3')
export_set = copy.copy(ri_obj.export_targets)
import_set = copy.copy(ri_obj.import_targets)
if self.is_spine():
for ri2_id in ri_obj.routing_instances:
ri2 = RoutingInstanceDM.get(ri2_id)
if ri2 is None:
continue
import_set |= ri2.export_targets
if vn_obj.get_forwarding_mode() in ['l2', 'l2_l3'] and self.is_l2_supported(vn_obj):
irb_ips = None
if vn_obj.get_forwarding_mode() == 'l2_l3' and self.is_spine():
irb_ips = vn_irb_ip_map['irb'].get(vn_id, [])
ri_conf = { 'ri_name': vrf_name_l2, 'vn': vn_obj }
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['interfaces'] = interfaces
ri_conf['vni'] = vn_obj.get_vxlan_vni()
ri_conf['network_id'] = vn_obj.vn_network_id
self.add_routing_instance(ri_conf)
if vn_obj.get_forwarding_mode() in ['l3'] and self.is_l3_supported(vn_obj):
interfaces = []
lo0_ips = vn_irb_ip_map['lo0'].get(vn_id, [])
ri_conf = { 'ri_name': vrf_name_l3, 'vn': vn_obj }
ri_conf['is_l2'] = False
ri_conf['is_l2_l3'] = False
ri_conf['import_targets'] = import_set
ri_conf['export_targets'] = export_set
ri_conf['prefixes'] = vn_obj.get_prefixes()
ri_conf['interfaces'] = interfaces
ri_conf['gateways'] = lo0_ips
ri_conf['network_id'] = vn_obj.vn_network_id
self.add_routing_instance(ri_conf)
break
return
示例4: push_conf
# 需要导入模块: from dm_utils import DMUtils [as 别名]
# 或者: from dm_utils.DMUtils import make_vrf_name [as 别名]
def push_conf(self, is_delete=False):
if not self.physical_router:
return 0
if is_delete:
return self.send_conf(is_delete=True)
if not self.ensure_bgp_config():
return 0
self.build_bgp_config()
vn_dict = self.get_vn_li_map()
self.physical_router.evaluate_vn_irb_ip_map(set(vn_dict.keys()), 'l2_l3', 'irb', False)
self.physical_router.evaluate_vn_irb_ip_map(set(vn_dict.keys()), 'l3', 'lo0', True)
vn_irb_ip_map = self.physical_router.get_vn_irb_ip_map()
first_vrf = []
pnfs = self.config_pnf_logical_interface()
pnf_dict = pnfs[0]
pnf_ris = pnfs[1]
for vn_id, interfaces in vn_dict.items():
vn_obj = VirtualNetworkDM.get(vn_id)
if (vn_obj is None or
vn_obj.get_vxlan_vni() is None or
vn_obj.vn_network_id is None):
continue
export_set = None
import_set = None
for ri_id in vn_obj.routing_instances:
# Find the primary RI by matching the name
ri_obj = RoutingInstanceDM.get(ri_id)
if ri_obj is None:
continue
if ri_obj.fq_name[-1] == vn_obj.fq_name[-1]:
vrf_name_l2 = DMUtils.make_vrf_name(vn_obj.fq_name[-1],
vn_obj.vn_network_id, 'l2')
vrf_name_l3 = DMUtils.make_vrf_name(vn_obj.fq_name[-1],
vn_obj.vn_network_id, 'l3')
export_set = copy.copy(ri_obj.export_targets)
import_set = copy.copy(ri_obj.import_targets)
for ri2_id in ri_obj.routing_instances:
ri2 = RoutingInstanceDM.get(ri2_id)
if ri2 in pnf_ris:
first_vrf.append(ri2)
if ri2 is None:
continue
import_set |= ri2.export_targets
if vn_obj.get_forwarding_mode() in ['l2', 'l2_l3']:
irb_ips = None
if vn_obj.get_forwarding_mode() == 'l2_l3':
irb_ips = vn_irb_ip_map['irb'].get(vn_id, [])
ri_conf = { 'ri_name': vrf_name_l2, 'vn': vn_obj }
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
ri_conf['highest_enapsulation_priority'] = \
GlobalVRouterConfigDM.global_encapsulation_priority
self.add_routing_instance(ri_conf)
if vn_obj.get_forwarding_mode() in ['l3', 'l2_l3']:
interfaces = []
lo0_ips = None
if vn_obj.get_forwarding_mode() == 'l2_l3':
interfaces = [
JunosInterface(
'irb.' + str(vn_obj.vn_network_id),
'l3', 0)]
else:
lo0_ips = vn_irb_ip_map['lo0'].get(vn_id, [])
ri_conf = { 'ri_name': vrf_name_l3, 'vn': vn_obj }
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
ri_conf['gateways'] = lo0_ips
ri_conf['network_id'] = vn_obj.vn_network_id
self.add_routing_instance(ri_conf)
break
if (export_set is not None and
self.physical_router.is_junos_service_ports_enabled() and
len(vn_obj.instance_ip_map) > 0):
service_port_ids = DMUtils.get_service_ports(vn_obj.vn_network_id)
if self.physical_router.is_service_port_id_valid(service_port_ids[0]) == False:
self._logger.error("DM can't allocate service interfaces for "
"(vn, vn-id)=(%s,%s)" % (
vn_obj.fq_name,
vn_obj.vn_network_id))
else:
vrf_name = DMUtils.make_vrf_name(vn_obj.fq_name[-1],
vn_obj.vn_network_id, 'l3', True)
#.........这里部分代码省略.........
示例5: build_ri_config
# 需要导入模块: from dm_utils import DMUtils [as 别名]
# 或者: from dm_utils.DMUtils import make_vrf_name [as 别名]
def build_ri_config(self):
vn_dict = self.get_vn_li_map()
vn_irb_ip_map = None
if self.is_gateway():
self.physical_router.evaluate_vn_irb_ip_map(set(vn_dict.keys()), 'l2_l3', 'irb', False)
self.physical_router.evaluate_vn_irb_ip_map(set(vn_dict.keys()), 'l3', 'lo0', True)
vn_irb_ip_map = self.physical_router.get_vn_irb_ip_map()
for vn_id, interfaces in self.get_sorted_key_value_pairs(vn_dict):
vn_obj = VirtualNetworkDM.get(vn_id)
if (vn_obj is None or
vn_obj.get_vxlan_vni() is None or
vn_obj.vn_network_id is None):
continue
export_set = None
import_set = None
for ri_id in vn_obj.routing_instances:
# Find the primary RI by matching the name
ri_obj = RoutingInstanceDM.get(ri_id)
if ri_obj is None:
continue
if ri_obj.fq_name[-1] == vn_obj.fq_name[-1]:
vrf_name_l2 = DMUtils.make_vrf_name(vn_obj.fq_name[-1],
vn_obj.vn_network_id, 'l2')
vrf_name_l3 = DMUtils.make_vrf_name(vn_obj.fq_name[-1],
vn_obj.vn_network_id, 'l3')
if vn_obj.route_targets:
export_set = vn_obj.route_targets & ri_obj.export_targets
import_set = vn_obj.route_targets & ri_obj.import_targets
else:
export_set = copy.copy(ri_obj.export_targets)
import_set = copy.copy(ri_obj.import_targets)
for ri2_id in ri_obj.routing_instances:
ri2 = RoutingInstanceDM.get(ri2_id)
if ri2 is None:
continue
import_set |= ri2.export_targets
if vn_obj.get_forwarding_mode() in ['l2', 'l2_l3']:
irb_ips = None
if vn_obj.get_forwarding_mode() == 'l2_l3' and self.is_gateway():
irb_ips = vn_irb_ip_map['irb'].get(vn_id, [])
ri_conf = {'ri_name': vrf_name_l2, 'vn': vn_obj,
'is_l2': True, 'is_l2_l3': (
vn_obj.get_forwarding_mode() == 'l2_l3'),
'import_targets': import_set,
'export_targets': export_set,
'prefixes': vn_obj.get_prefixes(),
'gateways': irb_ips,
'router_external': vn_obj.router_external,
'interfaces': interfaces,
'vni': vn_obj.get_vxlan_vni(),
'network_id': vn_obj.vn_network_id,
'encapsulation_priorities':
GlobalVRouterConfigDM.
global_encapsulation_priorities}
self.add_routing_instance(ri_conf)
if vn_obj.get_forwarding_mode() in ['l3', 'l2_l3']:
interfaces = []
lo0_ips = None
if vn_obj.get_forwarding_mode() == 'l2_l3':
interfaces = [
JunosInterface(
'irb.' + str(vn_obj.vn_network_id),
'l3', 0)]
elif self.is_gateway():
lo0_ips = vn_irb_ip_map['lo0'].get(vn_id, [])
is_internal_vn = True if '_contrail_lr_internal_vn_' in vn_obj.name else False
is_dci_vn = True if '_contrail_dci_internal_vn_' in vn_obj.name else False
ri_conf = {'ri_name': vrf_name_l3, 'vn': vn_obj,
'is_l2': False,
'is_l2_l3': vn_obj.get_forwarding_mode() ==
'l2_l3',
'import_targets': import_set,
'export_targets': export_set,
'prefixes': vn_obj.get_prefixes(),
'router_external': vn_obj.router_external,
'interfaces': interfaces,
'gateways': lo0_ips,
'network_id': vn_obj.vn_network_id}
if is_dci_vn:
ri_conf["prefixes"] = vn_obj.get_prefixes(self.physical_router.uuid)
ri_conf['vni'] = vn_obj.get_vxlan_vni(is_dci_vn = is_dci_vn)
ri_conf['is_dci_network'] = True
elif is_internal_vn:
ri_conf['vni'] = vn_obj.get_vxlan_vni(is_internal_vn = is_internal_vn)
lr_uuid = DMUtils.extract_lr_uuid_from_internal_vn_name(vrf_name_l3)
lr = LogicalRouterDM.get(lr_uuid)
if lr:
ri_conf['router_external'] = lr.logical_router_gateway_external
if lr.data_center_interconnect:
ri_conf['connected_dci_network'] = lr.data_center_interconnect
self.add_routing_instance(ri_conf)
break
if export_set and\
self.physical_router.is_junos_service_ports_enabled() and\
#.........这里部分代码省略.........