update ce_bgp_af to fix bugs (#59678)

* update ce_bgp_af to fix bugs

* update ce_bgp_af to fix bugs

* update ce_vrrp to fix bugs

* update ce_bgp_af to fix bugs

* update ce_bgp_af to fix bugs
pull/59878/head
yanzhangi 5 years ago committed by ansibot
parent c4bb38d2b1
commit d6fd4eb8e6

@ -327,7 +327,6 @@ options:
'''
EXAMPLES = '''
- name: CloudEngine BGP address family test
hosts: cloudengine
connection: local
@ -339,23 +338,19 @@ EXAMPLES = '''
username: "{{ username }}"
password: "{{ password }}"
transport: cli
tasks:
- name: "Config BGP Address_Family"
ce_bgp_af:
state: present
vrf_name: js
af_type: ipv4uni
provider: "{{ cli }}"
- name: "Undo BGP Address_Family"
ce_bgp_af:
state: absent
vrf_name: js
af_type: ipv4uni
provider: "{{ cli }}"
- name: "Config import route"
ce_bgp_af:
state: present
@ -364,7 +359,6 @@ EXAMPLES = '''
import_protocol: ospf
import_process_id: 123
provider: "{{ cli }}"
- name: "Undo import route"
ce_bgp_af:
state: absent
@ -373,7 +367,6 @@ EXAMPLES = '''
import_protocol: ospf
import_process_id: 123
provider: "{{ cli }}"
- name: "Config network route"
ce_bgp_af:
state: present
@ -382,7 +375,6 @@ EXAMPLES = '''
network_address: 1.1.1.1
mask_len: 24
provider: "{{ cli }}"
- name: "Undo network route"
ce_bgp_af:
state: absent
@ -436,7 +428,7 @@ CE_GET_BGP_ADDRESS_FAMILY_HEADER = """
<vrfName>%s</vrfName>
<bgpVrfAFs>
<bgpVrfAF>
<afType></afType>
<afType>%s</afType>
"""
CE_GET_BGP_ADDRESS_FAMILY_TAIL = """
</bgpVrfAF>
@ -479,7 +471,7 @@ CE_CREATE_BGP_ADDRESS_FAMILY_HEADER = """
<bgpVrf>
<vrfName>%s</vrfName>
<bgpVrfAFs>
<bgpVrfAF operation="create">
<bgpVrfAF operation="merge">
<afType>%s</afType>
"""
CE_CREATE_BGP_ADDRESS_FAMILY_TAIL = """
@ -836,6 +828,7 @@ class BgpAf(object):
need_cfg = False
vrf_name = module.params['vrf_name']
af_type = module.params['af_type']
if vrf_name:
if len(vrf_name) > 31 or len(vrf_name) == 0:
module.fail_json(
@ -846,7 +839,7 @@ class BgpAf(object):
state = module.params['state']
af_type = module.params['af_type']
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -888,6 +881,7 @@ class BgpAf(object):
state = module.params['state']
vrf_name = module.params['vrf_name']
af_type = module.params['af_type']
router_id = module.params['router_id']
if router_id:
@ -895,7 +889,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The len of router_id %s is out of [0 - 255].' % router_id)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<routerId></routerId>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -927,7 +921,7 @@ class BgpAf(object):
determin_med = module.params['determin_med']
if determin_med != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<determinMed></determinMed>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -959,7 +953,7 @@ class BgpAf(object):
ebgp_if_sensitive = module.params['ebgp_if_sensitive']
if ebgp_if_sensitive != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<ebgpIfSensitive></ebgpIfSensitive>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -991,7 +985,7 @@ class BgpAf(object):
relay_delay_enable = module.params['relay_delay_enable']
if relay_delay_enable != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<relayDelayEnable></relayDelayEnable>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1031,6 +1025,7 @@ class BgpAf(object):
need_cfg = False
vrf_name = module.params['vrf_name']
af_type = module.params['af_type']
max_load_ibgp_num = module.params['max_load_ibgp_num']
if max_load_ibgp_num:
@ -1038,7 +1033,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The value of max_load_ibgp_num %s is out of [1 - 65535].' % max_load_ibgp_num)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<maxLoadIbgpNum></maxLoadIbgpNum>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1059,7 +1054,7 @@ class BgpAf(object):
ibgp_ecmp_nexthop_changed = module.params['ibgp_ecmp_nexthop_changed']
if ibgp_ecmp_nexthop_changed != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<ibgpEcmpNexthopChanged></ibgpEcmpNexthopChanged>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1083,7 +1078,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The value of max_load_ebgp_num %s is out of [1 - 65535].' % max_load_ebgp_num)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<maxLoadEbgpNum></maxLoadEbgpNum>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1104,7 +1099,7 @@ class BgpAf(object):
ebgp_ecmp_nexthop_changed = module.params['ebgp_ecmp_nexthop_changed']
if ebgp_ecmp_nexthop_changed != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<ebgpEcmpNexthopChanged></ebgpEcmpNexthopChanged>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1128,7 +1123,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The value of maximum_load_balance %s is out of [1 - 65535].' % maximum_load_balance)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<maximumLoadBalance></maximumLoadBalance>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1149,7 +1144,7 @@ class BgpAf(object):
ecmp_nexthop_changed = module.params['ecmp_nexthop_changed']
if ecmp_nexthop_changed != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<ecmpNexthopChanged></ecmpNexthopChanged>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1173,7 +1168,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The value of default_local_pref %s is out of [0 - 4294967295].' % default_local_pref)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<defaultLocalPref></defaultLocalPref>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1197,7 +1192,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The value of default_med %s is out of [0 - 4294967295].' % default_med)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<defaultMed></defaultMed>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1218,7 +1213,7 @@ class BgpAf(object):
default_rt_import_enable = module.params['default_rt_import_enable']
if default_rt_import_enable != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<defaultRtImportEnable></defaultRtImportEnable>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1242,7 +1237,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The len of router_id %s is out of [0 - 255].' % router_id)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<routerId></routerId>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1263,7 +1258,7 @@ class BgpAf(object):
vrf_rid_auto_sel = module.params['vrf_rid_auto_sel']
if vrf_rid_auto_sel != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<vrfRidAutoSel></vrfRidAutoSel>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1284,7 +1279,7 @@ class BgpAf(object):
nexthop_third_party = module.params['nexthop_third_party']
if nexthop_third_party != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<nexthopThirdParty></nexthopThirdParty>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1305,7 +1300,7 @@ class BgpAf(object):
summary_automatic = module.params['summary_automatic']
if summary_automatic != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<summaryAutomatic></summaryAutomatic>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1326,7 +1321,7 @@ class BgpAf(object):
auto_frr_enable = module.params['auto_frr_enable']
if auto_frr_enable != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<autoFrrEnable></autoFrrEnable>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1347,7 +1342,7 @@ class BgpAf(object):
load_balancing_as_path_ignore = module.params['load_balancing_as_path_ignore']
if load_balancing_as_path_ignore != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<loadBalancingAsPathIgnore></loadBalancingAsPathIgnore>" + \
CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1369,7 +1364,7 @@ class BgpAf(object):
rib_only_enable = module.params['rib_only_enable']
if rib_only_enable != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<ribOnlyEnable></ribOnlyEnable>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1393,7 +1388,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The len of rib_only_policy_name %s is out of [1 - 40].' % rib_only_policy_name)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<ribOnlyPolicyName></ribOnlyPolicyName>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1414,7 +1409,7 @@ class BgpAf(object):
active_route_advertise = module.params['active_route_advertise']
if active_route_advertise != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<activeRouteAdvertise></activeRouteAdvertise>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1435,7 +1430,7 @@ class BgpAf(object):
as_path_neglect = module.params['as_path_neglect']
if as_path_neglect != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<asPathNeglect></asPathNeglect>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1456,7 +1451,7 @@ class BgpAf(object):
med_none_as_maximum = module.params['med_none_as_maximum']
if med_none_as_maximum != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<medNoneAsMaximum></medNoneAsMaximum>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1477,7 +1472,7 @@ class BgpAf(object):
router_id_neglect = module.params['router_id_neglect']
if router_id_neglect != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<routerIdNeglect></routerIdNeglect>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1498,7 +1493,7 @@ class BgpAf(object):
igp_metric_ignore = module.params['igp_metric_ignore']
if igp_metric_ignore != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<igpMetricIgnore></igpMetricIgnore>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1519,7 +1514,7 @@ class BgpAf(object):
always_compare_med = module.params['always_compare_med']
if always_compare_med != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<alwaysCompareMed></alwaysCompareMed>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1540,7 +1535,7 @@ class BgpAf(object):
determin_med = module.params['determin_med']
if determin_med != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<determinMed></determinMed>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1564,7 +1559,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The value of preference_external %s is out of [1 - 255].' % preference_external)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<preferenceExternal></preferenceExternal>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1588,7 +1583,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The value of preference_internal %s is out of [1 - 255].' % preference_internal)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<preferenceInternal></preferenceInternal>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1612,7 +1607,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The value of preference_local %s is out of [1 - 255].' % preference_local)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<preferenceLocal></preferenceLocal>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1636,7 +1631,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The len of prefrence_policy_name %s is out of [1 - 40].' % prefrence_policy_name)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<prefrencePolicyName></prefrencePolicyName>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1657,7 +1652,7 @@ class BgpAf(object):
reflect_between_client = module.params['reflect_between_client']
if reflect_between_client != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<reflectBetweenClient></reflectBetweenClient>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1682,7 +1677,7 @@ class BgpAf(object):
msg='Error: The value of reflector_cluster_id %s is out of '
'[1 - 4294967295].' % reflector_cluster_id)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<reflectorClusterId></reflectorClusterId>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1706,7 +1701,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The len of reflector_cluster_ipv4 %s is out of [0 - 255].' % reflector_cluster_ipv4)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<reflectorClusterIpv4></reflectorClusterIpv4>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1730,7 +1725,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The len of rr_filter_number %s is out of [1 - 51].' % rr_filter_number)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<rrFilterNumber></rrFilterNumber>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1751,7 +1746,7 @@ class BgpAf(object):
policy_vpn_target = module.params['policy_vpn_target']
if policy_vpn_target != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<policyVpnTarget></policyVpnTarget>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1772,7 +1767,7 @@ class BgpAf(object):
next_hop_sel_depend_type = module.params['next_hop_sel_depend_type']
if next_hop_sel_depend_type:
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<nextHopSelDependType></nextHopSelDependType>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1798,7 +1793,7 @@ class BgpAf(object):
msg='Error: The len of nhp_relay_route_policy_name %s is '
'out of [1 - 40].' % nhp_relay_route_policy_name)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<nhpRelayRoutePolicyName></nhpRelayRoutePolicyName>" + \
CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1820,7 +1815,7 @@ class BgpAf(object):
ebgp_if_sensitive = module.params['ebgp_if_sensitive']
if ebgp_if_sensitive != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<ebgpIfSensitive></ebgpIfSensitive>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1841,7 +1836,7 @@ class BgpAf(object):
reflect_chg_path = module.params['reflect_chg_path']
if reflect_chg_path != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<reflectChgPath></reflectChgPath>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1865,7 +1860,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The value of add_path_sel_num %s is out of [2 - 64].' % add_path_sel_num)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<addPathSelNum></addPathSelNum>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1889,7 +1884,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The value of route_sel_delay %s is out of [0 - 3600].' % route_sel_delay)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<routeSelDelay></routeSelDelay>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1910,7 +1905,7 @@ class BgpAf(object):
allow_invalid_as = module.params['allow_invalid_as']
if allow_invalid_as != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<allowInvalidAs></allowInvalidAs>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1931,7 +1926,7 @@ class BgpAf(object):
policy_ext_comm_enable = module.params['policy_ext_comm_enable']
if policy_ext_comm_enable != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<policyExtCommEnable></policyExtCommEnable>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1952,7 +1947,7 @@ class BgpAf(object):
supernet_uni_adv = module.params['supernet_uni_adv']
if supernet_uni_adv != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<supernetUniAdv></supernetUniAdv>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1973,7 +1968,7 @@ class BgpAf(object):
supernet_label_adv = module.params['supernet_label_adv']
if supernet_label_adv != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<supernetLabelAdv></supernetLabelAdv>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -1997,7 +1992,7 @@ class BgpAf(object):
module.fail_json(
msg='Error: The len of ingress_lsp_policy_name %s is out of [1 - 40].' % ingress_lsp_policy_name)
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<ingressLspPolicyName></ingressLspPolicyName>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -2018,7 +2013,7 @@ class BgpAf(object):
originator_prior = module.params['originator_prior']
if originator_prior != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<originatorPrior></originatorPrior>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -2039,7 +2034,7 @@ class BgpAf(object):
lowest_priority = module.params['lowest_priority']
if lowest_priority != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<lowestPriority></lowestPriority>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -2060,7 +2055,7 @@ class BgpAf(object):
relay_delay_enable = module.params['relay_delay_enable']
if relay_delay_enable != 'no_use':
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % vrf_name + \
conf_str = CE_GET_BGP_ADDRESS_FAMILY_HEADER % (vrf_name, af_type) + \
"<relayDelayEnable></relayDelayEnable>" + CE_GET_BGP_ADDRESS_FAMILY_TAIL
recv_xml = self.netconf_get_config(module=module, conf_str=conf_str)
@ -2229,18 +2224,19 @@ class BgpAf(object):
cmds = []
cmd = "ipv4-family vpn-instance %s" % vrf_name
cmds.append(cmd)
if af_type == "ipv4multi":
cmd = "ipv4-family multicast"
elif af_type == "ipv4vpn":
cmd = "ipv4-family vpnv4"
elif af_type == "ipv6uni":
cmd = "ipv6-family unicast"
cmd = "ipv6-family vpn-instance %s" % vrf_name
if vrf_name == "_public_":
cmd = "ipv6-family unicast"
elif af_type == "ipv6vpn":
cmd = "ipv6-family vpnv6"
elif af_type == "evpn":
cmd = "ipv6-family vpn-instance %s" % vrf_name
cmd = "l2vpn-family evpn"
cmds.append(cmd)
return cmds
@ -2265,18 +2261,19 @@ class BgpAf(object):
cmds = []
cmd = "ipv4-family vpn-instance %s" % vrf_name
cmds.append(cmd)
if af_type == "ipv4multi":
cmd = "ipv4-family multicast"
elif af_type == "ipv4vpn":
cmd = "ipv4-family vpnv4"
elif af_type == "ipv6uni":
cmd = "ipv6-family unicast"
cmd = "ipv6-family vpn-instance %s" % vrf_name
if vrf_name == "_public_":
cmd = "ipv6-family unicast"
elif af_type == "ipv6vpn":
cmd = "ipv6-family vpnv6"
elif af_type == "evpn":
cmd = "ipv6-family vpn-instance %s" % vrf_name
cmd = "l2vpn-family evpn"
cmds.append(cmd)
return cmds
@ -2301,18 +2298,19 @@ class BgpAf(object):
cmds = []
cmd = "undo ipv4-family vpn-instance %s" % vrf_name
cmds.append(cmd)
if af_type == "ipv4multi":
cmd = "undo ipv4-family multicast"
elif af_type == "ipv4vpn":
cmd = "undo ipv4-family vpnv4"
elif af_type == "ipv6uni":
cmd = "undo ipv6-family unicast"
cmd = "undo ipv6-family vpn-instance %s" % vrf_name
if vrf_name == "_public_":
cmd = "undo ipv6-family unicast"
elif af_type == "ipv6vpn":
cmd = "undo ipv6-family vpnv6"
elif af_type == "evpn":
cmd = "undo ipv6-family vpn-instance %s" % vrf_name
cmd = "l2vpn-family evpn"
cmds.append(cmd)
return cmds
@ -2342,7 +2340,9 @@ class BgpAf(object):
if ibgp_ecmp_nexthop_changed == "true":
cmd = "maximum load-balancing ibgp %s ecmp-nexthop-changed" % max_load_ibgp_num
cmds.append(cmd)
else:
cmd = "undo maximum load-balancing ibgp %s ecmp-nexthop-changed" % max_load_ibgp_num
cmds.append(cmd)
max_load_ebgp_num = module.params['max_load_ebgp_num']
if max_load_ebgp_num:
conf_str += "<maxLoadEbgpNum>%s</maxLoadEbgpNum>" % max_load_ebgp_num
@ -2411,12 +2411,19 @@ class BgpAf(object):
vrf_rid_auto_sel = module.params['vrf_rid_auto_sel']
if vrf_rid_auto_sel != 'no_use':
conf_str += "<vrfRidAutoSel>%s</vrfRidAutoSel>" % vrf_rid_auto_sel
family = "ipv4-family"
if af_type == "ipv6uni":
family = "ipv6-family"
if vrf_rid_auto_sel == "true":
cmd = "router-id %s vpn-instance auto-select" % router_id
cmd = "%s vpn-instance %s" % (family, vrf_name)
cmds.append(cmd)
cmd = "router-id auto-select"
cmds.append(cmd)
else:
cmd = "undo router-id %s vpn-instance auto-select" % router_id
cmds.append(cmd)
cmd = "%s vpn-instance %s" % (family, vrf_name)
cmds.append(cmd)
cmd = "undo router-id auto-select"
cmds.append(cmd)
nexthop_third_party = module.params['nexthop_third_party']
if nexthop_third_party != 'no_use':
@ -2470,7 +2477,7 @@ class BgpAf(object):
cmds.append(cmd)
rib_only_policy_name = module.params['rib_only_policy_name']
if rib_only_policy_name:
if rib_only_policy_name and rib_only_enable == "true":
conf_str += "<ribOnlyPolicyName>%s</ribOnlyPolicyName>" % rib_only_policy_name
cmd = "routing-table rib-only route-policy %s" % rib_only_policy_name
@ -2500,7 +2507,7 @@ class BgpAf(object):
if med_none_as_maximum != 'no_use':
conf_str += "<medNoneAsMaximum>%s</medNoneAsMaximum>" % med_none_as_maximum
if med_none_as_maximum:
if med_none_as_maximum == "true":
cmd = "bestroute med-none-as-maximum"
else:
cmd = "undo bestroute med-none-as-maximum"
@ -2523,7 +2530,9 @@ class BgpAf(object):
if igp_metric_ignore == "true":
cmd = "bestroute igp-metric-ignore"
cmds.append(cmd)
else:
cmd = "undo bestroute igp-metric-ignore"
cmds.append(cmd)
always_compare_med = module.params['always_compare_med']
if always_compare_med != 'no_use':
conf_str += "<alwaysCompareMed>%s</alwaysCompareMed>" % always_compare_med
@ -2531,7 +2540,9 @@ class BgpAf(object):
if always_compare_med == "true":
cmd = "compare-different-as-med"
cmds.append(cmd)
else:
cmd = "undo compare-different-as-med"
cmds.append(cmd)
determin_med = module.params['determin_med']
if determin_med != 'no_use':
conf_str += "<determinMed>%s</determinMed>" % determin_med
@ -2539,6 +2550,9 @@ class BgpAf(object):
if determin_med == "true":
cmd = "deterministic-med"
cmds.append(cmd)
else:
cmd = "undo deterministic-med"
cmds.append(cmd)
preference_external = module.params['preference_external']
if preference_external:
@ -2590,10 +2604,17 @@ class BgpAf(object):
rr_filter_number = module.params['rr_filter_number']
if rr_filter_number:
conf_str += "<rrFilterNumber>%s</rrFilterNumber>" % rr_filter_number
cmd = 'rr-filter %s' % rr_filter_number
cmds.append(cmd)
policy_vpn_target = module.params['policy_vpn_target']
if policy_vpn_target != 'no_use':
conf_str += "<policyVpnTarget>%s</policyVpnTarget>" % policy_vpn_target
if policy_vpn_target == 'true':
cmd = 'policy vpn-target'
else:
cmd = 'undo policy vpn-target'
cmds.append(cmd)
next_hop_sel_depend_type = module.params['next_hop_sel_depend_type']
if next_hop_sel_depend_type:
@ -2815,6 +2836,8 @@ class BgpAf(object):
cmds = []
cmd = "import-route %s %s" % (import_protocol, import_process_id)
if import_process_id == "0":
cmd = "import-route %s" % import_protocol
cmds.append(cmd)
return cmds
@ -3383,6 +3406,9 @@ def main():
end_tmp[item] = bgp_import_network_route_rst[item]
if end_tmp:
end_state["bgp import & network route"] = end_tmp
if end_state == existing:
changed = False
updates = list()
results = dict()
results['proposed'] = proposed

Loading…
Cancel
Save