+++ /dev/null
-*** Settings ***
-Documentation Test suite for Hbase DataStore PortStats Verification
-Metadata https://bugs.opendaylight.org/show_bug.cgi?id=5068 ${EMPTY}
-
-Library SSHLibrary
-Library Collections
-Library String
-Library RequestsLibrary
-Library ../../../libraries/Common.py
-Resource ../../../libraries/CompareStream.robot
-Resource ../../../libraries/KarafKeywords.robot
-Resource ../../../libraries/TsdrUtils.robot
-Variables ../../../variables/Variables.py
-
-Suite Setup Initialize the Tsdr Suite
-Suite Teardown Stop Tsdr Suite
-
-
-*** Variables ***
-@{INTERFACE_METRICS}
-... TransmittedPackets
-... TransmittedBytes
-... TransmitErrors
-... TransmitDrops
-... ReceivedPackets
-... ReceivedBytes
-... ReceiveOverRunError
-... ReceiveFrameError
-... ReceiveErrors
-... ReceiveDrops
-... ReceiveCrcError
-... CollisionCount
-&{HEADERS_QUERY} Content-Type=application/json Content-Type=application/json
-
-
-*** Test Cases ***
-Init Variables
- [Documentation] Initialize ODL version specific variables using resource CompareStream.
- Init Variables Master
-
-Verification of TSDR HBase Feature Installation
- [Documentation] Install and Verify the TSDR HBase Features
- COMMENT Install a Feature odl-tsdr-hbase ${ODL_SYSTEM_IP} ${KARAF_SHELL_PORT} 60
- Verify Feature Is Installed odl-tsdr-hbase
- Verify Feature Is Installed odl-hbaseclient
-
-Verification TSDR Command is exist in Help
- [Documentation] Verify the TSDR List command on Help
- ${output}= Issue Command On Karaf Console tsdr\t
- Should Contain ${output} tsdr:list
- ${output}= Issue Command On Karaf Console tsdr:list\t\t
- FOR ${list} IN @{CATEGORY}
- Should Contain ${output} ${list}
- END
- Wait Until Keyword Succeeds 620s 1s Verify the Metric is Collected? ${TSDR_PORTSTATS} openflow
-
-Verification of TSDR PortStats
- [Documentation] Verify the TSDR InterfaceMetrics
- FOR ${list} IN @{INTERFACE_METRICS}
- ${tsdr_cmd}= Concatenate the String ${TSDR_PORTSTATS} | grep ${list} | head
- ${output}= Issue Command On Karaf Console ${tsdr_cmd} ${ODL_SYSTEM_IP} ${KARAF_SHELL_PORT} 30
- Should Contain ${output} ${list}
- END
-
-Verification of InterfaceMetrics-Attributes on HBase Client
- [Documentation] Verify the InterfaceMetrics has been updated on HBase Datastore
- FOR ${list} IN @{INTERFACE_METRICS}
- Verify the Metrics Attributes on Hbase Client ${list} ${node_connector} ${portstats}
- END
-
-Verify Configuration Interval-change
- [Documentation] Verify the TSDR Collection configuration changes
- Wait Until Keyword Succeeds 5x 3 sec Post TSDR Configuration Interval ${default_poll}
- Wait Until Keyword Succeeds 5x 3 sec Verify TSDR Configuration Interval ${default_poll}
- Wait Until Keyword Succeeds 5x 3 sec Post TSDR Configuration Interval ${non_default_poll}
- Wait Until Keyword Succeeds 5x 3 sec Verify TSDR Configuration Interval ${non_default_poll}
- Wait Until Keyword Succeeds 5x 3 sec Post TSDR Configuration Interval ${default_poll}
- Wait Until Keyword Succeeds 5x 3 sec Verify TSDR Configuration Interval ${default_poll}
- [Teardown] Report_Failure_Due_To_Bug 5068
-
-
-*** Keywords ***
-Init Variables Master
- [Documentation] Sets variables specific to latest(master) version
- Set Suite Variable @{CATEGORY} FLOWGROUPSTATS FLOWMETERSTATS FLOWSTATS FLOWTABLESTATS PORTSTATS
- ... QUEUESTATS
- Set Suite Variable ${TSDR_PORTSTATS} tsdr:list PORTSTATS
- Set Suite Variable ${CONFIG_INTERVAL} /restconf/config/tsdr-openflow-statistics-collector:TSDROSCConfig
- Set Suite Variable
- ... ${OPER_INTERVAL}
- ... /restconf/operations/tsdr-openflow-statistics-collector:setPollingInterval
- Set Suite Variable ${default_poll} 15000
- set Suite Variable ${non_default_poll} 20000
- set Suite Variable ${node_connector} Node:openflow:1,NodeConnector:1
- set suite Variable ${portstats} PORTSTATS
-
-Initialize the Tsdr Suite
- COMMENT Initialize the HBase for TSDR
- Start Tsdr Suite
- Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_QUERY}
-
-Verify TSDR Configuration Interval
- [Documentation] Verify Configuration interval of TSDR Collection
- [Arguments] ${interval}
- ${resp}= RequestsLibrary.Get Request session ${CONFIG_INTERVAL}
- Should Be Equal As Strings ${resp.status_code} 200
- Should Contain ${resp.content} ${interval}
-
-Post TSDR Configuration Interval
- [Documentation] Configuration TSDR collection interval ${interval}
- [Arguments] ${interval}
- ${p1}= Create Dictionary interval=${interval}
- ${p2}= Create Dictionary input=${p1}
- ${p2_json}= json.dumps ${p2}
- ${resp}= RequestsLibrary.Post Request session ${OPER_INTERVAL} data=${p2_json}
- Should Be Equal As Strings ${resp.status_code} 200