*** Settings *** Documentation Test suite for Hbase DataStore Netflow Stats Verification Suite Setup Initialize Netflow Suite Teardown Stop Tsdr Suite Library SSHLibrary Library Collections Library String Library ../../../libraries/Common.py Resource ../../../libraries/KarafKeywords.robot Resource ../../../libraries/TsdrUtils.robot Variables ../../../variables/Variables.py *** Variables *** ${IP_1} 10.0.0.1 ${IP_2} 10.0.0.2 ${NODE_ID} 127.0.0.1 ${engine_type} 11 ${engine_id} 11 ${nextHop} 0 ${port} 0 ${protocol} 1 ${int1} 1 ${int2} 2 ${version} 5 *** Test Cases *** Verification of Full Record Text for Netflow Dumps [Documentation] Verify the Netflow Record Text Hbase client ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1' , LIMIT => 10, FILTER => "ValueFilter( =, 'regexstring:srcAddr=${IP_2}' )" } Should Contain ${out} srcAddr=${IP_2} Should Contain ${out} dstAddr=${IP_1} Should Contain ${out} srcPort=${port} Should Contain ${out} protocol=${protocol} Should Contain ${out} nextHop=${nexthop} Should Contain ${out} engine_type Should Contain ${out} engine_id Should Contain ${out} input=${int2} Should Contain ${out} output=${int1} ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1' , LIMIT => 10, FILTER => "ValueFilter( =, 'regexstring:srcAddr=${IP_1}' )" } Should Contain ${out} srcAddr=${IP_1} Should Contain ${out} dstAddr=${IP_2} Should Contain ${out} dstPort=${port} Should Contain ${out} protocol=${protocol} Should Contain ${out} nextHop=${nexthop} Should Contain ${out} engine_type Should Contain ${out} engine_id Should Contain ${out} input=${int1} Should Contain ${out} output=${int2} ${out}= Query the Data from HBaseClient scan 'NETFLOW' Should Contain ${out} sysUpTime Should Contain ${out} flow_sequence Should Contain ${out} unix_nsecs Should Contain ${out} dPkts Should Contain ${out} tcpFlags Should Contain ${out} dstAS=0 Should Contain ${out} srcAS=0 Should Contain ${out} dstMask=0 Should Contain ${out} srcMask=0 Verification of Metric Record for Netflow Dumps [Documentation] Verify the Netflow Metric Record Hbase client ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1:dstAddr' , LIMIT => 10, FILTER => "ValueFilter( =, 'binaryprefix:${IP_1}' )" } Should Contain ${out} value=${IP_1} ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1:srcAddr' , LIMIT => 10, FILTER => "ValueFilter( =, 'binaryprefix:${IP_1}' )" } Should Contain ${out} value=${IP_1} ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1:dstAddr' , LIMIT => 10, FILTER => "ValueFilter( =, 'binaryprefix:${IP_2}' )" } Should Contain ${out} value=${IP_2} ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1:srcAddr' , LIMIT => 10, FILTER => "ValueFilter( =, 'binaryprefix:${IP_2}' )" } Should Contain ${out} value=${IP_2} ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1:input' , LIMIT => 10, FILTER => "ValueFilter( =, 'binaryprefix:${int1}' )" } Should Contain ${out} value=${int1} ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1:output' , LIMIT => 10, FILTER => "ValueFilter( =, 'binaryprefix:${int2}' )" } Should Contain ${out} value=${int2} ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1:input' , LIMIT => 10, FILTER => "ValueFilter( =, 'binaryprefix:${int2}' )" } Should Contain ${out} value=${int2} ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1:output' , LIMIT => 10, FILTER => "ValueFilter( =, 'binaryprefix:${int1}' )" } Should Contain ${out} value=${int1} ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1:flowDuration' , LIMIT => 10} Should Contain ${out} flowDuration ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1:nextHop' , LIMIT => 10, FILTER => "ValueFilter( =, 'binaryprefix:${nextHop}' )" } Should Contain ${out} value=${nextHop} ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1:version' , LIMIT => 10, FILTER => "ValueFilter( =, 'binaryprefix:${version}' )" } Should Contain ${out} value=${version} ${out}= Query the Data from HBaseClient scan 'NETFLOW',{ COLUMNS => 'c1:protocol' , LIMIT => 10, FILTER => "ValueFilter( =, 'binaryprefix:${protocol}' )" } Should Contain ${out} value=${protocol} *** Keywords *** Initialize Netflow [Documentation] Initialize Netflow setup and start collecting the netflow samples. Query the Data from HBaseClient truncate 'NETFLOW' Bringup Netflow Wait Until Keyword Succeeds 36x 5 sec Ping Pair Hosts Hbase \\d{2} row