X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Flibraries%2FTsdrUtils.robot;h=ccf8b6e421945bd65203b1b6431a3c18685cfb98;hb=1f0120ca6d1cb3de7c09c2eceba4e079651ba9eb;hp=cb08c4528d10b1f9999b94b69a2018acd9e6cfb9;hpb=b3aaeb2e42409e69fadf5b61d35f08f95b5c3731;p=integration%2Ftest.git diff --git a/csit/libraries/TsdrUtils.robot b/csit/libraries/TsdrUtils.robot index cb08c4528d..ccf8b6e421 100644 --- a/csit/libraries/TsdrUtils.robot +++ b/csit/libraries/TsdrUtils.robot @@ -9,9 +9,10 @@ Resource Utils.robot Variables ../variables/Variables.py Library json Library HttpLibrary.HTTP +Library Process *** Variables *** -${HBASE_CLIENT} /usr/lib/hbase/hbase-0.94.15/bin +${HBASE_CLIENT} /tmp/Hbase/hbase-0.94.15/bin ${CASSANDRA_CLIENT} /tmp/cassandra/apache-cassandra-2.1.12/bin ${final} ${EMPTY} ${prompt_timeout} ${EMPTY} @@ -28,6 +29,9 @@ ${SNMP_PATH} ${KARAF_PATH}/etc/tsdr.snmp.cfg ${SNMP_COMMUNITY} mib2dev\/if-mib &{HEADERS_QUERY} Content-Type=application/json Content-Type=application/json &{OPER_STATUS} up=1 down=2 testing=3 unknown=4 dormant=5 notPresent=6 lowerLayerDown=7 +&{syslog_facility} kern=0 +${MESSAGE} Oct 29 18:10:31: ODL: %STKUNIT0-M:CP %IFMGR-5-ASTATE_UP: Changed interface Admin state to up: Te 0/0 +${MESSAGE_PATTERN} Changed interface *** Keywords *** Start Tsdr Suite @@ -35,7 +39,7 @@ Start Tsdr Suite [Documentation] TSDR specific setup/cleanup work that can be done safely before any system. ... is run. Clean Mininet System - ${mininet_conn_id1}= Open Connection ${TOOLS_SYSTEM_IP} prompt=${DEFAULT_LINUX_PROMPT} timeout=30s + ${mininet_conn_id1}= Open Connection ${TOOLS_SYSTEM_IP} prompt=${DEFAULT_LINUX_PROMPT} timeout=120s Set Suite Variable ${mininet_conn_id1} Login With Public Key ${TOOLS_SYSTEM_USER} ${USER_HOME}/.ssh/${SSH_KEY} any Execute Command sudo ovs-vsctl set-manager ptcp:6644 @@ -56,31 +60,31 @@ Ping All Hosts Write pingall Read Until mininet> -Iperf All Hosts +Ping Pair Hosts [Arguments] ${host1} ${host2} - [Documentation] Iperf between ${host1} and ${host2} + [Documentation] Ping between ${host1} and ${host2} Switch Connection ${mininet_conn_id1} - Write iperf ${host1} ${host2} + Write pingpair ${host1} ${host2} Read Until mininet> -Iperf All Hosts Hbase +Ping Pair Hosts Hbase [Arguments] ${pattern} - [Documentation] Iperf between h1 and h2 and check Hbase - Iperf All Hosts h1 h2 + [Documentation] Ping between h1 and h2 and check Hbase + Ping Pair Hosts h1 h2 ${query_output}= Query the Data from HBaseClient count 'NETFLOW' Should Match Regexp ${query_output} ${pattern} -Iperf All Hosts Cassandra +Ping Pair Hosts Cassandra [Arguments] ${pattern} - [Documentation] Iperf between h1 and h2 and check Cassandra - Iperf All Hosts h1 h2 + [Documentation] Ping between h1 and h2 and check Cassandra + Ping Pair Hosts h1 h2 ${query_output}= Count Cassandra rows select count(*) from tsdr.metriclog; Should Match Regexp ${query_output} ${pattern} -Iperf All Hosts HSQLDB +Ping Pair Hosts HSQLDB [Arguments] ${pattern} [Documentation] Iperf between h1 and h2 and check Cassandra - Iperf All Hosts h1 h2 + Ping Pair Hosts h1 h2 ${query_output}= Issue Command On Karaf Console tsdr:list NETFLOW | wc -l Should Match Regexp ${query_output} ${pattern} @@ -294,8 +298,8 @@ Verify Metric Val File [Return] ${metric_count} Verify Metric log File - [Arguments] ${pattern} - [Documentation] Returns Value for lines in Metriclog file matching the pattern + [Arguments] ${metric_log} ${pattern} + [Documentation] Returns Value for lines in Metriclog matching the pattern ${contents}= Grep From File ${CASSANDRA_DB_PATH}${temp_metric_val} ${pattern} [Return] ${contents} @@ -308,11 +312,9 @@ Grep From File Find Metricval Keys [Arguments] ${pattern} ${file} [Documentation] Return list element which has the particular pattern. - ${db_grep}= Grep From File ${CASSANDRA_DB_PATH}${file} ${pattern} ${metric_grep}= Grep From File ${TSDR_PATH}/tsdrKeyCache.txt ${pattern} @{split_line}= Split String ${metric_grep} | ${keypath}= Get From List ${split_line} 0 - Should Contain ${db_grep} ${keypath} [Return] @{split_line} Copy TSDR tables @@ -398,9 +400,9 @@ Compare Tsdr XML Metrics Should Be True ${val_diff} <= ${val_max} Generate Syslog - [Arguments] ${facility} ${level} ${MESSAGE} - [Documentation] Uses syslogd to generate syslogs - Run Command On Remote System ${ODL_SYSTEM_IP} logger -p ${facility}.${level} -n 127.0.0.1 -u 514 ${MESSAGE} + [Arguments] ${facility} + [Documentation] Uses netcat to generate logs and send it to port ${ODL_SYSTEM_IP}:1514 + Run echo "<${facility}>${MESSAGE}" | nc -w 4 -u ${ODL_SYSTEM_IP} 1514 Verify Metric Val File For Syslog [Documentation] Returns Value for metric matching particular keya,keyb @@ -416,7 +418,8 @@ Verify the Metrics Syslog on Cassandra Client ${keya_bool}= Evaluate ${keya} < 0 ${keya}= Run Keyword If '${keya_bool}' == 'True' Catenate SEPARATOR= \\ ${keya} ... ELSE Catenate ${keya} - Create Temporary Key Info ${keya} ${keyb} val_table=${metric_log} + ${metric_log}= Create Temporary Key Info ${keya} ${keyb} val_table=metriclog + [Return] ${metric_log} Iterating over metricpath [Documentation] Used to traverse over metricpath file and traverse over metricpath file and get the keys @@ -457,35 +460,6 @@ Check Metric Log ${query_output}= Count Cassandra rows select count(*) from tsdr.metriclog; Should Match Regexp ${query_output} ${pattern} -Severity Iterator - [Arguments] ${key} ${MESSAGE} ${syslog_severity} - [Documentation] Simulating FOR loop for generating syslogs for each syslog_severity - : FOR ${level} IN ZIP &{syslog_severity} - \ ${level_value}= Get From Dictionary ${syslog_severity} ${level} - \ Generate Syslog ${key} ${level} ${MESSAGE} - -Severity Iterator For TSDR - [Arguments] ${key} ${facility_value} ${iterator_value} ${syslogs} ${MESSAGE} ${syslog_severity} - [Documentation] Simulating FOR loop for checking TSDR for each syslog_severity - ${iterator}= Evaluate ${iterator_value} * 8 - : FOR ${level} IN ZIP &{syslog_severity} - \ ${severity_value}= Get From Dictionary ${syslog_severity} ${level} - \ ${fac_sev}= Evaluate ${facility_value} * 8 + ${severity_value} - \ Should Contain @{syslogs}[${iterator}] ${MESSAGE} - \ Should Contain @{syslogs}[${iterator}] <${fac_sev}> - \ ${iterator}= Evaluate ${iterator} + 1 - -Severity Iterator For Syslog HBase - [Arguments] ${message} ${value} &{syslog_severity} - [Documentation] Simulating FOR loop for checking HBASE for each syslog_severity - ${output}= Query the Data from HBaseClient scan 'SYSLOG' - Should Contain X Times ${output} ${message} 8 - ${iterator}= Evaluate ${value} * 8 - : FOR ${level} IN ZIP &{syslog_severity} - \ ${severity_value}= Get From Dictionary ${syslog_severity} ${level} - \ ${fac_sev}= Evaluate ${iterator} + ${severity_value} - \ Should Match ${output} *${fac_sev}>* - Generate TSDR Query [Arguments] ${DC}= ${MN}= ${NID}= ${RK}= ${from}=0 ${until}=now [Documentation] Issues TSDR Query and returns the list @@ -607,6 +581,14 @@ Write SNMP config Append To File snmp.cfg \n Move File snmp.cfg ${SNMP_PATH} +Bringup Netflow + [Documentation] Brings up basic netflow setup . + Verify Feature Is Installed odl-tsdr-netflow-statistics-collector + Wait Until Keyword Succeeds 24x 10 sec Check Karaf Log Has Messages NetFlow Data Colletor Initialized + Start Tsdr Suite + Ping All Hosts + Configure Netflow + Collect Data from SNMP Agent [Arguments] ${SNMP_IP}=127.0.0.1 ${SNMP_AGENT_COMM}=${SNMP_COMMUNITY} [Documentation] Poll for SNMP Agent OID @@ -644,32 +626,32 @@ Collect Data from SNMP Agent \ ${ifMtu}= Get From Dictionary ${int} ifMtu \ ${ifOperStatus1}= Get From Dictionary ${int} ifOperStatus \ ${ifOperStatus}= Get From Dictionary ${OPER_STATUS} ${ifOperStatus1} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfOutDiscards*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOutDiscards* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfOutDiscards | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOutDiscards \ Append To List ${SNMP_VALUES} ${ifOutDiscards} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfInDiscards*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfInDiscards* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfInDiscards | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfInDiscards \ Append To List ${SNMP_VALUES} ${ifInDiscards} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfInOctets*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfInOctets* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfInOctets | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfInOctets \ Append To List ${SNMP_VALUES} ${ifInOctets} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfOutQLen*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOutQLen* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfOutQLen | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOutQLen \ Append To List ${SNMP_VALUES} ${ifOutQLen} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfOutErrors*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOutErrors* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfOutErrors | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOutErrors \ Append To List ${SNMP_VALUES} ${ifOutErrors} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfInUcastPkts*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfInUcastPkts* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfInUcastPkts | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfInUcastPkts \ Append To List ${SNMP_VALUES} ${ifInUcastPkts} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfOutNUcastPkts*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOutNUcastPkts* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfOutNUcastPkts | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOutNUcastPkts \ Append To List ${SNMP_VALUES} ${ifOutNUcastPkts} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfInErrors*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfInErrors* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfInErrors | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfInErrors \ Append To List ${SNMP_VALUES} ${ifInErrors} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfOutOctets*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOutOctets* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfOutOctets | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOutOctets \ Append To List ${SNMP_VALUES} ${ifOutOctets} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfAdminStatus*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfAdminStatus* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfAdminStatus | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfAdminStatus \ Append To List ${SNMP_VALUES} ${ifAdminStatus} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfInUnknownProtos*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfInUnknownProtos* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfInUnknownProtos | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfInUnknownProtos \ Append To List ${SNMP_VALUES} ${ifInUnknownProtos} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfOutUcastPkts*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOutUcastPkts* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfOutUcastPkts | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOutUcastPkts \ Append To List ${SNMP_VALUES} ${ifOutUcastPkts} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfInNUcastPkts*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfInNUcastPkts* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfInNUcastPkts | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfInNUcastPkts \ Append To List ${SNMP_VALUES} ${ifInNUcastPkts} - \ Append To List ${SNMP_ENTRY} *NID=${SNMP_IP}*DC=SNMPINTERFACES*MN=IfOperStatus*RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOperStatus* + \ Append To List ${SNMP_ENTRY} grep NID=${SNMP_IP} | grep DC=SNMPINTERFACES | grep MN=IfOperStatus | grep RK=ifIndex:${ifindex},ifName:Iso88023Csmacd,SnmpMetric:IfOperStatus \ Append To List ${SNMP_VALUES} ${ifOperStatus} [Return] ${SNMP_ENTRY} ${SNMP_VALUES}