X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Flibraries%2FTsdrUtils.robot;h=398e767d86838625871c478ca4eced4963aaaebd;hb=a735c6ab080b16db82f58d867431474a029a4727;hp=891c2e48fa65adf2e6f696a86b59095e39ff60d7;hpb=ca65f6e3eb43b80a6d1a7d5046f128ed2fe30f67;p=integration%2Ftest.git diff --git a/csit/libraries/TsdrUtils.robot b/csit/libraries/TsdrUtils.robot index 891c2e48fa..398e767d86 100644 --- a/csit/libraries/TsdrUtils.robot +++ b/csit/libraries/TsdrUtils.robot @@ -9,13 +9,14 @@ Resource Utils.robot Variables ../variables/Variables.py Library json Library HttpLibrary.HTTP +Library Process *** Variables *** -${HBASE_CLIENT} /tmp/Hbase/hbase-0.94.15/bin -${CASSANDRA_CLIENT} /tmp/cassandra/apache-cassandra-2.1.12/bin +${HBASE_CLIENT} /tmp/Hbase/hbase-0.94.27/bin +${CASSANDRA_CLIENT} /tmp/cassandra/apache-cassandra-2.1.16/bin ${final} ${EMPTY} ${prompt_timeout} ${EMPTY} -${CASSANDRA_DB_PATH} /tmp/cassandra/apache-cassandra-2.1.12/ +${CASSANDRA_DB_PATH} /tmp/cassandra/apache-cassandra-2.1.16/ ${metric_path} metricpath ${metric_val} metricval ${metric_log} metriclog @@ -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 @@ -224,7 +228,7 @@ Generate HBase Query ${hbase_query}= Concatenate the String scan '${table}' ${hbase_query}= Concatenate the String ${hbase_query} ,{ FILTER =>\"(RowFilter(=, ${hbase_query}= Concatenate the String ${hbase_query} 'regexstring:${filter}*\')) AND (RowFilter(=, - ${hbase_query}= Concatenate the String ${hbase_query} 'regexstring:MN=${metric}*\'))\",LIMIT=>10} + ${hbase_query}= Concatenate the String ${hbase_query} 'regexstring:${metric}*\'))\",LIMIT=>10} [Return] ${hbase_query} Get Metrics Value @@ -396,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 @@ -456,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 @@ -680,3 +655,40 @@ Collect Data from SNMP Agent \ 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} + +Retrieve Value From Elasticsearch + [Arguments] ${data_category} ${metric_name} ${node_id} ${rk_node_id} + [Documentation] Retrieve the last record of Elastic Search from index TSDR. Query is done by data category, metricname and node ID + Create Session session http://${ODL_SYSTEM_IP}:${ELASTICPORT} auth=${AUTH} headers=${HEADERS_QUERY} + ${els_query}= create_query_string_search ${data_category} ${metric_name} ${node_id} ${rk_node_id} + ${els_JSON_request}= build_elastic_search_JSON_request ${els_query} + ${resp}= RequestsLibrary.Post_Request session _search?pretty data=${els_JSON_request} + Should Be Equal As Strings ${resp.status_code} 200 + @{convert}= Parse Json ${resp.content} + ${json}= RequestsLibrary.To Json ${resp.content} + ${result}= extract_metric_value_search ${json} + [Teardown] Delete All Sessions + [Return] ${result} + +Check Available values from Elasticsearch + [Arguments] ${data_category} ${number_items} + [Documentation] Check whether data were sent to Elastic Search. We retrieve all data by data category and then compare its count + Create Session session http://${ODL_SYSTEM_IP}:${ELASTICPORT} auth=${AUTH} headers=${HEADERS_QUERY} + ${els_query}= create_query_string_count ${data_category} + ${els_JSON_request}= build_elastic_search_JSON_request ${els_query} + ${resp}= RequestsLibrary.Post_Request session _search?pretty data=${els_JSON_request} + Should Be Equal As Strings ${resp.status_code} 200 + @{convert}= Parse Json ${resp.content} + ${json}= RequestsLibrary.To Json ${resp.content} + ${result}= extract_metric_value_count ${json} + Log To Console Elasticsearch: Check number of elements + Should Be True ${result} > ${number_items} + [Teardown] Delete All Sessions + +Clear Elasticsearch Datastore + [Documentation] Clear Elastic Search Datastore + Create Session session http://${ODL_SYSTEM_IP}:${ELASTICPORT} auth=${AUTH} headers=${HEADERS_QUERY} + ${resp}= RequestsLibrary.Delete_Request session tsdr + Should Be Equal As Strings ${resp.status_code} 200 + [Teardown] Delete All Sessions + [Return] ${resp.status_code}