def RequireVpnRoutes(self, target, title, wantroutes, debug=0):
import json
+ logstr = "RequireVpnRoutes " + str(wantroutes)
#non json form for humans
luCommand(target,'vtysh -c "show bgp ipv4 vpn"','.','None','Get VPN RIB (non-json)')
ret = luCommand(target,'vtysh -c "show bgp ipv4 vpn json"','.*','None','Get VPN RIB (json)')
if re.search(r'^\s*$', ret):
# degenerate case: empty json means no routes
if len(wantroutes) > 0:
- luResult(target, False, title)
+ luResult(target, False, title, logstr)
return
- luResult(target, True, title)
+ luResult(target, True, title, logstr)
rib = json.loads(ret)
rds = rib['routes']['routeDistinguishers']
for want in wantroutes:
found = 1
break
if not found:
- luResult(target, False, title)
+ luResult(target, False, title, logstr)
return
- luResult(target, True, title)
+ luResult(target, True, title, logstr)
def RequireUnicastRoutes(self,target,afi,vrf,title,wantroutes,debug=0):
-
+ logstr = "RequireVpnRoutes " + str(wantroutes)
vrfstr = ''
if vrf != '':
vrfstr = 'vrf %s' % (vrf)
if (afi != 'ipv4') and (afi != 'ipv6'):
print "ERROR invalid afi";
- str = 'show bgp %s %s unicast' % (vrfstr, afi)
+ cmdstr = 'show bgp %s %s unicast' % (vrfstr, afi)
#non json form for humans
- cmd = 'vtysh -c "%s"' % str
+ cmd = 'vtysh -c "%s"' % cmdstr
luCommand(target,cmd,'.','None','Get %s %s RIB (non-json)' % (vrfstr, afi))
- cmd = 'vtysh -c "%s json"' % str
+ cmd = 'vtysh -c "%s json"' % cmdstr
ret = luCommand(target,cmd,'.*','None','Get %s %s RIB (json)' % (vrfstr, afi))
if re.search(r'^\s*$', ret):
# degenerate case: empty json means no routes
if len(wantroutes) > 0:
- luResult(target, False, title)
+ luResult(target, False, title, logstr)
return
- luResult(target, True, title)
+ luResult(target, True, title, logstr)
rib = json.loads(ret)
table = rib['routes']
for want in wantroutes:
if not self.routes_include_wanted(table,want,debug):
- luResult(target, False, title)
+ luResult(target, False, title, logstr)
return
- luResult(target, True, title)
+ luResult(target, True, title, logstr)
BgpRib=BgpRib()
******************************************************************************\n')
self.fsum.write(str+'\n')
- def result(self, target, success, str):
+ def result(self, target, success, str, logstr=None):
if success:
p = 1
f = 0
self.l_pass += 1
+ sstr = "PASS"
else:
f = 1
p = 0
self.l_fail += 1
+ sstr = "FAIL"
self.l_total += 1
+ if logstr != None:
+ self.log("R:%d %s: %s" % (self.l_total, sstr, logstr))
res = "%-4d %-6s %-56s %-4d %d" % (self.l_total, target, str, p, f)
self.log ('R:'+res)
self.summary(res)
def luNumPass():
return LUtil.l_pass
-def luResult(target, success, str):
- return LUtil.result(target, success, str)
+def luResult(target, success, str, logstr=None):
+ return LUtil.result(target, success, str, logstr)
def luShowFail():
printed = 0