Refactoring to persistence connection BGP, factory, reload, save, showrun modules (#43534)

* Refactoring to persistence connection BGP, factory, reload, save, showrun modules

* Refactoring methods from Util to module file

* Removing BGP Utility methods

* Adding to errors that need to be ignored
This commit is contained in:
Anil Kumar Muraleedharan 2018-08-03 18:10:24 +05:30 committed by Nathaniel Case
commit 119376a685
8 changed files with 1072 additions and 1114 deletions

View file

@ -184,6 +184,8 @@ def run_cnos_commands(module, commands, check_rc=True):
# Exception in Exceptions
if 'VLAN_ACCESS_MAP' in errMsg:
return retVal + '<<' + errMsg + '\n'
if 'confederation identifier' in errMsg:
return retVal + '<<' + errMsg + '\n'
# Add more here if required
retVal = retVal + '<< ' + 'Error-101 ' + errMsg + '\n'
return str(retVal)
@ -1361,836 +1363,6 @@ def portChannelConfig(module, prompt, answer):
# EOM
def routerConfig(
obj, deviceType, prompt, timeout, protocol, asNum, routerArg1,
routerArg2, routerArg3, routerArg4, routerArg5, routerArg6, routerArg7,
routerArg8):
retVal = ""
# Wait time to get response from server
timeout = timeout
if(protocol == "bgp"):
# bgp config command happens here.
command = "routing-protocol bgp "
value = checkSanityofVariable(deviceType, "bgp_as_number", asNum)
if(value == "ok"):
# BGP command happens here. It creates if not present
command = command + asNum + "\n"
# debugOutput(command)
retVal = waitForDeviceResponse(
command, "(config-router)#", timeout, obj)
retVal = retVal + bgpConfig(
obj, deviceType, "(config-router)#", timeout, routerArg1,
routerArg2, routerArg3, routerArg4, routerArg5, routerArg6,
routerArg7, routerArg8)
else:
retVal = "Error-176"
elif(protocol == "ospf"):
retVal = "Command Value is Not supported as of now"
else:
retVal = "Error-177"
return retVal
# EOM
def bgpNeighborAFConfig(
obj, deviceType, prompt, timeout, bgpNeighborAFArg1, bgpNeighborAFArg2,
bgpNeighborAFArg3):
retVal = ""
command = ""
timeout = timeout
if(bgpNeighborAFArg1 == "allowas-in"):
command = command + bgpNeighborAFArg1 + " "
if(bgpNeighborAFArg2 is not None):
value = checkSanityofVariable(
deviceType, "bgp_neighbor_af_occurances", bgpNeighborAFArg2)
if(value == "ok"):
command = command + bgpNeighborAFArg2
else:
retVal = "Error-325"
return retVal
else:
command = command
elif(bgpNeighborAFArg1 == "default-originate"):
command = command + bgpNeighborAFArg1 + " "
if(bgpNeighborAFArg2 is not None and bgpNeighborAFArg2 == "route-map"):
command = command + bgpNeighborAFArg2 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_af_routemap", bgpNeighborAFArg2)
if(value == "ok"):
command = command + bgpNeighborAFArg3
else:
retVal = "Error-324"
return retVal
elif(bgpNeighborAFArg1 == "filter-list"):
command = command + bgpNeighborAFArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_af_filtername", bgpNeighborAFArg2)
if(value == "ok"):
command = command + bgpNeighborAFArg2 + " "
if(bgpNeighborAFArg3 == "in" or bgpNeighborAFArg3 == "out"):
command = command + bgpNeighborAFArg3
else:
retVal = "Error-323"
return retVal
else:
retVal = "Error-322"
return retVal
elif(bgpNeighborAFArg1 == "maximum-prefix"):
command = command + bgpNeighborAFArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_af_maxprefix", bgpNeighborAFArg2)
if(value == "ok"):
command = command + bgpNeighborAFArg2 + " "
if(bgpNeighborAFArg3 is not None):
command = command + bgpNeighborAFArg3
else:
command = command.strip()
else:
retVal = "Error-326"
return retVal
elif(bgpNeighborAFArg1 == "next-hop-self"):
command = command + bgpNeighborAFArg1
elif(bgpNeighborAFArg1 == "prefix-list"):
command = command + bgpNeighborAFArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_af_prefixname", bgpNeighborAFArg2)
if(value == "ok"):
command = command + bgpNeighborAFArg2 + " "
if(bgpNeighborAFArg3 == "in" or bgpNeighborAFArg3 == "out"):
command = command + bgpNeighborAFArg3
else:
retVal = "Error-321"
return retVal
else:
retVal = "Error-320"
return retVal
elif(bgpNeighborAFArg1 == "route-map"):
command = command + bgpNeighborAFArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_af_routemap", bgpNeighborAFArg2)
if(value == "ok"):
command = command + bgpNeighborAFArg2
else:
retVal = "Error-319"
return retVal
elif(bgpNeighborAFArg1 == "route-reflector-client"):
command = command + bgpNeighborAFArg1
elif(bgpNeighborAFArg1 == "send-community"):
command = command + bgpNeighborAFArg1 + " "
if(bgpNeighborAFArg2 is not None and bgpNeighborAFArg2 == "extended"):
command = command + bgpNeighborAFArg2
else:
command = command
elif(bgpNeighborAFArg1 == "soft-reconfiguration"):
command = command + bgpNeighborAFArg1 + " inbound"
elif(bgpNeighborAFArg1 == "unsuppress-map"):
command = command + bgpNeighborAFArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_af_routemap", bgpNeighborAFArg2)
if(value == "ok"):
command = command + bgpNeighborAFArg2
else:
retVal = "Error-318"
return retVal
else:
retVal = "Error-317"
return retVal
command = command + "\n"
# debugOutput(command)
retVal = retVal + waitForDeviceResponse(command, prompt, timeout, obj)
command = "exit \n"
retVal = retVal + \
waitForDeviceResponse(
command, "(config-router-neighbor)#", timeout, obj)
return retVal
# EOM
def bgpNeighborConfig(
obj, deviceType, prompt, timeout, bgpNeighborArg1, bgpNeighborArg2,
bgpNeighborArg3, bgpNeighborArg4, bgpNeighborArg5):
retVal = ""
command = ""
timeout = timeout
if(bgpNeighborArg1 == "address-family"):
command = command + bgpNeighborArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_address_family", bgpNeighborArg2)
if(value == "ok"):
command = command + bgpNeighborArg2 + " unicast \n"
# debugOutput(command)
retVal = waitForDeviceResponse(
command, "(config-router-neighbor-af)#", timeout, obj)
retVal = retVal + bgpNeighborAFConfig(
obj, deviceType, "(config-router-neighbor-af)#", timeout,
bgpNeighborArg3, bgpNeighborArg4, bgpNeighborArg5)
return retVal
else:
retVal = "Error-316"
return retVal
elif(bgpNeighborArg1 == "advertisement-interval"):
command = command + bgpNeighborArg1
elif(bgpNeighborArg1 == "bfd"):
command = command + bgpNeighborArg1 + " "
if(bgpNeighborArg2 is not None and bgpNeighborArg2 == "mutihop"):
command = command + bgpNeighborArg2
else:
command = command
elif(bgpNeighborArg1 == "connection-retry-time"):
command = command + bgpNeighborArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_connection_retrytime", bgpNeighborArg2)
if(value == "ok"):
command = command + bgpNeighborArg2
else:
retVal = "Error-315"
return retVal
elif(bgpNeighborArg1 == "description"):
command = command + bgpNeighborArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_description", bgpNeighborArg2)
if(value == "ok"):
command = command + bgpNeighborArg2
else:
retVal = "Error-314"
return retVal
elif(bgpNeighborArg1 == "disallow-infinite-holdtime"):
command = command + bgpNeighborArg1
elif(bgpNeighborArg1 == "dont-capability-negotiate"):
command = command + bgpNeighborArg1
elif(bgpNeighborArg1 == "dynamic-capability"):
command = command + bgpNeighborArg1
elif(bgpNeighborArg1 == "ebgp-multihop"):
command = command + bgpNeighborArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_maxhopcount", bgpNeighborArg2)
if(value == "ok"):
command = command + bgpNeighborArg2
else:
retVal = "Error-313"
return retVal
elif(bgpNeighborArg1 == "interface"):
command = command + bgpNeighborArg1 + " "
# TBD
elif(bgpNeighborArg1 == "local-as"):
command = command + bgpNeighborArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_local_as", bgpNeighborArg2)
if(value == "ok"):
command = command + bgpNeighborArg2 + " "
if(bgpNeighborArg3 is not None and
bgpNeighborArg3 == "no-prepend"):
command = command + bgpNeighborArg3 + " "
if(bgpNeighborArg4 is not None and
bgpNeighborArg4 == "replace-as"):
command = command + bgpNeighborArg4 + " "
if(bgpNeighborArg5 is not None and
bgpNeighborArg5 == "dual-as"):
command = command + bgpNeighborArg5
else:
command = command.strip()
else:
command = command.strip()
else:
command = command.strip()
else:
retVal = "Error-312"
return retVal
elif(bgpNeighborArg1 == "maximum-peers"):
command = command + bgpNeighborArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_maxpeers", bgpNeighborArg2)
if(value == "ok"):
command = command + bgpNeighborArg2
else:
retVal = "Error-311"
return retVal
elif(bgpNeighborArg1 == "password"):
command = command + bgpNeighborArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_password", bgpNeighborArg2)
if(value == "ok"):
command = command + bgpNeighborArg2
else:
retVal = "Error-310"
return retVal
elif(bgpNeighborArg1 == "remove-private-AS"):
command = command + bgpNeighborArg1
elif(bgpNeighborArg1 == "timers"):
command = command + bgpNeighborArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_timers_Keepalive", bgpNeighborArg2)
if(value == "ok"):
command = command + bgpNeighborArg2 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_timers_holdtime", bgpNeighborArg3)
if(value == "ok"):
command = command + bgpNeighborArg3
else:
retVal = "Error-309"
return retVal
else:
retVal = "Error-308"
return retVal
elif(bgpNeighborArg1 == "transport"):
command = command + bgpNeighborArg1 + " connection-mode passive "
elif(bgpNeighborArg1 == "ttl-security"):
command = command + bgpNeighborArg1 + " hops "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_ttl_hops", bgpNeighborArg2)
if(value == "ok"):
command = command + bgpNeighborArg2
else:
retVal = "Error-307"
return retVal
elif(bgpNeighborArg1 == "update-source"):
command = command + bgpNeighborArg1 + " "
if(bgpNeighborArg2 is not None):
value = checkSanityofVariable(
deviceType, "bgp_neighbor_update_options", bgpNeighborArg2)
if(value == "ok"):
command = command + bgpNeighborArg2 + " "
if(bgpNeighborArg2 == "ethernet"):
value = checkSanityofVariable(
deviceType, "bgp_neighbor_update_ethernet",
bgpNeighborArg3)
if(value == "ok"):
command = command + bgpNeighborArg3
else:
retVal = "Error-304"
return retVal
elif(bgpNeighborArg2 == "loopback"):
value = checkSanityofVariable(
deviceType, "bgp_neighbor_update_loopback",
bgpNeighborArg3)
if(value == "ok"):
command = command + bgpNeighborArg3
else:
retVal = "Error-305"
return retVal
else:
value = checkSanityofVariable(
deviceType, "bgp_neighbor_update_vlan",
bgpNeighborArg3)
if(value == "ok"):
command = command + bgpNeighborArg3
else:
retVal = "Error-306"
return retVal
else:
command = command + bgpNeighborArg2
else:
retVal = "Error-303"
return retVal
elif(bgpNeighborArg1 == "weight"):
command = command + bgpNeighborArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_neighbor_weight", bgpNeighborArg2)
if(value == "ok"):
command = command + bgpNeighborArg2
else:
retVal = "Error-302"
return retVal
else:
retVal = "Error-301"
return retVal
command = command + "\n"
# debugOutput(command)
retVal = retVal + waitForDeviceResponse(command, prompt, timeout, obj)
command = "exit \n"
retVal = retVal + \
waitForDeviceResponse(command, "(config-router)#", timeout, obj)
return retVal
# EOM
def bgpAFConfig(
obj, deviceType, prompt, timeout, bgpAFArg1, bgpAFArg2, bgpAFArg3,
bgpAFArg4, bgpAFArg5, bgpAFArg6):
retVal = ""
command = ""
timeout = timeout
if(bgpAFArg1 == "aggregate-address"):
command = command + bgpAFArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_aggregate_prefix", bgpAFArg2)
if(value == "ok"):
if(bgpAFArg2 is None):
command = command.strip()
elif(bgpAFArg2 == "as-set" or bgpAFArg2 == "summary-only"):
command = command + bgpAFArg2 + " "
if((bgpAFArg3 is not None) and (bgpAFArg2 == "as-set")):
command = command + "summary-only"
else:
retVal = "Error-297"
return retVal
else:
retVal = "Error-296"
return retVal
elif(bgpAFArg1 == "client-to-client"):
command = command + bgpAFArg1 + " reflection "
elif(bgpAFArg1 == "dampening"):
command = command + bgpAFArg1 + " "
if(bgpAFArg2 == "route-map"):
command = command + bgpAFArg2 + " "
value = checkSanityofVariable(
deviceType, "addrfamily_routemap_name", bgpAFArg3)
if(value == "ok"):
command = command + bgpAFArg3
else:
retVal = "Error-196"
return retVal
elif(bgpAFArg2 is not None):
value = checkSanityofVariable(
deviceType, "reachability_half_life", bgpAFArg2)
if(value == "ok"):
command = command + bgpAFArg2 + " "
if(bgpAFArg3 is not None):
value1 = checkSanityofVariable(
deviceType, "start_reuse_route_value", bgpAFArg3)
value2 = checkSanityofVariable(
deviceType, "start_suppress_route_value", bgpAFArg4)
value3 = checkSanityofVariable(
deviceType, "max_duration_to_suppress_route",
bgpAFArg5)
if(value1 == "ok" and value2 == "ok" and value3 == "ok"):
command = command + bgpAFArg3 + " " + bgpAFArg4 + \
" " + bgpAFArg5 + " "
if(bgpAFArg6 is not None):
value = checkSanityofVariable(
deviceType,
"unreachability_halftime_for_penalty",
bgpAFArg6)
if(value == "ok"):
command = command + bgpAFArg6
else:
retVal = "Error-295"
return retVal
else:
command = command.strip()
else:
retVal = "Error-294"
return retVal
elif(bgpAFArg1 == "distance"):
command = command + bgpAFArg1 + " "
value = checkSanityofVariable(
deviceType, "distance_external_AS", bgpAFArg2)
if(value == "ok"):
command = command + bgpAFArg2 + " "
value = checkSanityofVariable(
deviceType, "distance_internal_AS", bgpAFArg3)
if(value == "ok"):
command = command + bgpAFArg3 + " "
value = checkSanityofVariable(
deviceType, "distance_local_routes", bgpAFArg4)
if(value == "ok"):
command = command + bgpAFArg4
else:
retVal = "Error-291"
return retVal
else:
retVal = "Error-292"
return retVal
else:
retVal = "Error-293"
return retVal
elif(bgpAFArg1 == "maximum-paths"):
command = command + bgpAFArg1 + " "
value = checkSanityofVariable(deviceType, "maxpath_option", bgpAFArg2)
if(value == "ok"):
command = command + bgpAFArg2 + " "
value = checkSanityofVariable(
deviceType, "maxpath_numbers", bgpAFArg3)
if(value == "ok"):
command = command + bgpAFArg3
else:
retVal = "Error-199"
return retVal
else:
retVal = "Error-290"
return retVal
elif(bgpAFArg1 == "network"):
command = command + bgpAFArg1 + " "
if(bgpAFArg2 == "synchronization"):
command = command + bgpAFArg2
else:
value = checkSanityofVariable(
deviceType, "network_ip_prefix_with_mask", bgpAFArg2)
if(value == "ok"):
command = command + bgpAFArg2 + " "
if(bgpAFArg3 is not None and bgpAFArg3 == "backdoor"):
command = command + bgpAFArg3
elif(bgpAFArg3 is not None and bgpAFArg3 == "route-map"):
command = command + bgpAFArg3
value = checkSanityofVariable(
deviceType, "addrfamily_routemap_name", bgpAFArg4)
if(value == "ok"):
command = command + bgpAFArg4 + " "
if(bgpAFArg5 is not None and bgpAFArg5 == "backdoor"):
command = command + bgpAFArg5
else:
retVal = "Error-298"
return retVal
else:
retVal = "Error-196"
return retVal
else:
command = command.strip()
else:
value = checkSanityofVariable(
deviceType, "network_ip_prefix_value", bgpAFArg2)
if(value == "ok"):
command = command + bgpAFArg2 + " "
if(bgpAFArg3 is not None and bgpAFArg3 == "backdoor"):
command = command + bgpAFArg3
elif(bgpAFArg3 is not None and bgpAFArg3 == "route-map"):
command = command + bgpAFArg3
value = checkSanityofVariable(
deviceType, "addrfamily_routemap_name", bgpAFArg4)
if(value == "ok"):
command = command + bgpAFArg4 + " "
if(bgpAFArg5 is not None and
bgpAFArg5 == "backdoor"):
command = command + bgpAFArg5
else:
retVal = "Error-298"
return retVal
else:
retVal = "Error-196"
return retVal
elif(bgpAFArg3 is not None and bgpAFArg3 == "mask"):
command = command + bgpAFArg3
value = checkSanityofVariable(
deviceType, "network_ip_prefix_mask", bgpAFArg4)
if(value == "ok"):
command = command + bgpAFArg4 + " "
else:
retVal = "Error-299"
return retVal
else:
command = command.strip()
else:
retVal = "Error-300"
return retVal
elif(bgpAFArg1 == "nexthop"):
command = command + bgpAFArg1 + " trigger-delay critical "
value = checkSanityofVariable(
deviceType, "nexthop_crtitical_delay", bgpAFArg2)
if(value == "ok"):
command = command + bgpAFArg2 + " "
value = checkSanityofVariable(
deviceType, "nexthop_noncrtitical_delay", bgpAFArg3)
if(value == "ok"):
command = command + bgpAFArg3 + " "
else:
retVal = "Error-198"
return retVal
else:
retVal = "Error-197"
return retVal
elif(bgpAFArg1 == "redistribute"):
command = command + bgpAFArg1 + " "
value = checkSanityofVariable(
deviceType, "addrfamily_redistribute_option", bgpAFArg2)
if(value == "ok"):
if(bgpAFArg2 is not None):
command = command + bgpAFArg2 + " " + "route-map "
value = checkSanityofVariable(
deviceType, "addrfamily_routemap_name", bgpAFArg3)
if(value == "ok"):
command = command + bgpAFArg3
else:
retVal = "Error-196"
return retVal
else:
retVal = "Error-195"
return retVal
elif(bgpAFArg1 == "save" or bgpAFArg1 == "synchronization"):
command = command + bgpAFArg1
else:
retVal = "Error-194"
return retVal
command = command + "\n"
# debugOutput(command)
retVal = retVal + waitForDeviceResponse(command, prompt, timeout, obj)
command = "exit \n"
retVal = retVal + \
waitForDeviceResponse(command, "(config-router)#", timeout, obj)
return retVal
# EOM
def bgpConfig(
obj, deviceType, prompt, timeout, bgpArg1, bgpArg2, bgpArg3, bgpArg4,
bgpAgr5, bgpArg6, bgpArg7, bgpArg8):
retVal = ""
command = ""
# Wait time to get response from server
timeout = timeout
if(bgpArg1 == "address-family"):
# debugOutput(bgpArg1)
command = command + bgpArg1 + " "
value = checkSanityofVariable(
deviceType, "bgp_address_family", bgpArg2)
if(value == "ok"):
command = command + bgpArg2 + " " + "unicast \n"
debugOutput(command)
retVal = waitForDeviceResponse(
command, "(config-router-af)#", timeout, obj)
retVal = retVal + bgpAFConfig(
obj, deviceType, "(config-router-af)#", timeout,
bgpArg3, bgpArg4, bgpAgr5, bgpArg6, bgpArg7, bgpArg8)
return retVal
else:
retVal = "Error-178"
return retVal
elif(bgpArg1 == "bestpath"):
# debugOutput(bgpArg1)
command = command + bgpArg1 + " "
if(bgpArg2 == "always-compare-med"):
# debugOutput(bgpArg2)
command = command + bgpArg2
elif(bgpArg2 == "compare-confed-aspath"):
# debugOutput(bgpArg2)
command = command + bgpArg2
elif(bgpArg2 == "compare-routerid"):
# debugOutput(bgpArg2)
command = command + bgpArg2
elif(bgpArg2 == "dont-compare-originator-id"):
# debugOutput(bgpArg2)
command = command + bgpArg2
elif(bgpArg2 == "tie-break-on-age"):
# debugOutput(bgpArg2)
command = command + bgpArg2
elif(bgpArg2 == "as-path"):
# debugOutput(bgpArg2)
command = command + bgpArg2 + " "
if(bgpArg3 == "ignore" or bgpArg3 == "multipath-relax"):
command = command + bgpArg3
else:
retVal = "Error-179"
return retVal
elif(bgpArg2 == "med"):
# debugOutput(bgpArg2)
command = command + bgpArg2 + " "
if(bgpArg3 == "confed" or
bgpArg3 == "missing-as-worst" or
bgpArg3 == "non-deterministic" or
bgpArg3 == "remove-recv-med" or
bgpArg3 == "remove-send-med"):
command = command + bgpArg3
else:
retVal = "Error-180"
return retVal
else:
retVal = "Error-181"
return retVal
elif(bgpArg1 == "bgp"):
# debugOutput(bgpArg1)
command = command + bgpArg1 + " as-local-count "
value = checkSanityofVariable(
deviceType, "bgp_bgp_local_count", bgpArg2)
if(value == "ok"):
command = command + bgpArg2
else:
retVal = "Error-182"
return retVal
elif(bgpArg1 == "cluster-id"):
# debugOutput(bgpArg1)
command = command + bgpArg1 + " "
value = checkSanityofVariable(deviceType, "cluster_id_as_ip", bgpArg2)
if(value == "ok"):
command = command + bgpArg2
else:
value = checkSanityofVariable(
deviceType, "cluster_id_as_number", bgpArg2)
if(value == "ok"):
command = command + bgpArg2
else:
retVal = "Error-183"
return retVal
elif(bgpArg1 == "confederation"):
# debugOutput(bgpArg1)
command = command + bgpArg1 + " "
if(bgpArg2 == "identifier"):
value = checkSanityofVariable(
deviceType, "confederation_identifier", bgpArg3)
if(value == "ok"):
command = command + " " + bgpArg2 + " " + bgpArg3
else:
retVal = "Error-184"
return retVal
elif(bgpArg2 == "peers"):
value = checkSanityofVariable(
deviceType, "confederation_peers_as", bgpArg3)
if(value == "ok"):
command = command + " " + bgpArg2 + " " + bgpArg3
else:
retVal = "Error-185"
return retVal
else:
retVal = "Error-186"
return retVal
elif(bgpArg1 == "enforce-first-as"):
# debugOutput(bgpArg1)
command = command + bgpArg1
elif(bgpArg1 == "fast-external-failover"):
# debugOutput(bgpArg1)
command = command + bgpArg1
elif(bgpArg1 == "graceful-restart"):
# debugOutput(bgpArg1)
command = command + bgpArg1 + " stalepath-time "
value = checkSanityofVariable(
deviceType, "stalepath_delay_value", bgpArg2)
if(value == "ok"):
command = command + bgpArg2
else:
retVal = "Error-187"
return retVal
elif(bgpArg1 == "graceful-restart-helper"):
# debugOutput(bgpArg1)
command = command + bgpArg1
elif(bgpArg1 == "log-neighbor-changes"):
# debugOutput(bgpArg1)
command = command + bgpArg1
elif(bgpArg1 == "maxas-limit"):
# debugOutput(bgpArg1)
command = command + bgpArg1 + " "
value = checkSanityofVariable(deviceType, "maxas_limit_as", bgpArg2)
if(value == "ok"):
command = command + bgpArg2
else:
retVal = "Error-188"
return retVal
elif(bgpArg1 == "neighbor"):
# debugOutput(bgpArg1)
command = command + bgpArg1 + " "
value = checkSanityofVariable(
deviceType, "neighbor_ipaddress", bgpArg2)
# retVal = "Error-102"
# return retVal
if(value == "ok"):
command = command + bgpArg2
if(bgpArg3 is not None):
command = command + " remote-as "
value = checkSanityofVariable(
deviceType, "neighbor_as", bgpArg3)
if(value == "ok"):
command = command + bgpArg3 + "\n"
# debugOutput(command)
retVal = waitForDeviceResponse(
command, "(config-router-neighbor)#", timeout, obj)
retVal = retVal + bgpNeighborConfig(
obj, deviceType, "(config-router-neighbor)#",
timeout, bgpArg4, bgpAgr5, bgpArg6, bgpArg7, bgpArg8)
return retVal
else:
retVal = "Error-189"
return retVal
elif(bgpArg1 == "router-id"):
# debugOutput(bgpArg1)
command = command + bgpArg1 + " "
value = checkSanityofVariable(deviceType, "router_id", bgpArg2)
if(value == "ok"):
command = command + bgpArg2
else:
retVal = "Error-190"
return retVal
elif(bgpArg1 == "shutdown"):
# debugOutput(bgpArg1)
command = command + bgpArg1
elif(bgpArg1 == "synchronization"):
# debugOutput(bgpArg1)
command = command + bgpArg1
elif(bgpArg1 == "timers"):
# debugOutput(bgpArg1)
command = command + bgpArg1 + " bgp "
value = checkSanityofVariable(
deviceType, "bgp_keepalive_interval", bgpArg2)
if(value == "ok"):
command = command + bgpArg2
else:
retVal = "Error-191"
return retVal
if(bgpArg3 is not None):
value = checkSanityofVariable(deviceType, "bgp_holdtime", bgpArg3)
if(value == "ok"):
command = command + " " + bgpArg3
else:
retVal = "Error-192"
return retVal
else:
retVal = "Error-192"
return retVal
elif(bgpArg1 == "vrf"):
# debugOutput(bgpArg1)
command = command + bgpArg1 + " default"
else:
# debugOutput(bgpArg1)
retVal = "Error-192"
return retVal
command = command + "\n"
# debugOutput(command)
retVal = retVal + waitForDeviceResponse(command, prompt, timeout, obj)
# Come back to config mode
command = "exit \n"
# debugOutput(command)
retVal = retVal + waitForDeviceResponse(command, "(config)#", timeout, obj)
return retVal
# EOM
def vlanConfig(module, prompt, answer):
retVal = ''
@ -3657,7 +2829,7 @@ def checkLong(s):
def debugOutput(command):
f = open('debugOuput.txt', 'a')
f = open('debugOutput.txt', 'a')
f.write(str(command)) # python will convert \n to os.linesep
f.close() # you can omit in most cases as the destructor will call it
# EOM