blob: c5c1f88e11f1f45c6383f58359c63f67cc2c66a4 [file] [log] [blame]
kelvin-onlabd9e23de2015-08-06 10:34:44 -07001"""
Jeremy Ronquillob27ce4c2017-07-17 12:41:28 -07002Copyright 2015 Open Networking Foundation (ONF)
3
4Please refer questions to either the onos test mailing list at <onos-test@onosproject.org>,
5the System Testing Plans and Results wiki page at <https://wiki.onosproject.org/x/voMg>,
6or the System Testing Guide page at <https://wiki.onosproject.org/x/WYQg>
7
8 TestON is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 2 of the License, or
11 (at your option) any later version.
12
13 TestON is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with TestON. If not, see <http://www.gnu.org/licenses/>.
20"""
21
22"""
kelvin-onlabd9e23de2015-08-06 10:34:44 -070023 These functions can be used for topology comparisons
24"""
25
26import time
27import os
28import json
29
YPZhang81a7d4e2016-04-18 13:10:17 -070030def sendArpPackage( main, hostList ):
31 import json
YPZhang26a139e2016-04-25 14:01:55 -070032 import time
YPZhang81a7d4e2016-04-18 13:10:17 -070033 """
34 send arping package from host
35 return the total hosts number from Onos
36 """
YPZhangacaaf422016-07-26 09:34:03 -070037 main.log.info( "Sending Arping package..." )
YPZhang81a7d4e2016-04-18 13:10:17 -070038 if isinstance(hostList, list):
YPZhang81a7d4e2016-04-18 13:10:17 -070039 for h in hostList:
YPZhang26a139e2016-04-25 14:01:55 -070040 main.Mininet1.arping( srcHost=h, dstHost="10.0.0.1", output=main.FALSE, noResult=True )
YPZhang0f874862016-04-27 11:14:10 -070041 time.sleep(0.5)
YPZhang81a7d4e2016-04-18 13:10:17 -070042 else:
YPZhangacaaf422016-07-26 09:34:03 -070043 main.Mininet1.arping( srcHost=hostList, dstHost="10.0.0.1", output=main.FALSE, noResult=True )
44 try:
45 summaryStr = ""
Devin Lim142b5342017-07-20 15:22:39 -070046 summaryStr = json.loads( main.Cluster.active( 0 ).CLI.summary().encode() )
YPZhangacaaf422016-07-26 09:34:03 -070047 hostNum = summaryStr.get( 'hosts' )
48
49 except (TypeError, ValueError):
50 main.log.exception( " Object not as expected: {!r}".format( summaryStr) )
51 return -1
52 except Exception:
53 main.log.exception( self.name + ": Uncaught exception!" )
54 return -1
55
YPZhang81a7d4e2016-04-18 13:10:17 -070056 return hostNum