*** Settings *** Documentation Test suite for Cassandra DataStore PortStats Verification Suite Teardown Stop Tsdr Suite Library SSHLibrary Library Collections Library String Library RequestsLibrary Library ../../../libraries/Common.py Resource ../../../libraries/KarafKeywords.robot Resource ../../../libraries/TsdrUtils.robot Variables ../../../variables/Variables.py Metadata https://bugs.opendaylight.org/show_bug.cgi?id=5068 ${EMPTY} *** Variables *** @{INTERFACE_METRICS} TransmittedPackets TransmittedBytes TransmitErrors TransmitDrops ReceivedPackets ReceivedBytes ReceiveOverRunError ... ReceiveFrameError ReceiveErrors ReceiveDrops ReceiveCrcError CollisionCount ${root_path} flow-capable-node-connector-statistics @{xpath} ${root_path}/packets/transmitted ${root_path}/bytes/transmitted ${root_path}/transmit-errors ${root_path}/transmit-drops ${root_path}/packets/received ${root_path}/bytes/received ${root_path}/receive-over-run-error ... ${root_path}/receive-frame-error ${root_path}/receive-errors ${root_path}/receive-drops ${root_path}/receive-crc-error ${root_path}/collision-count @{CATEGORY} FlowStats FlowTableStats PortStats QueueStats ${TSDR_PORTSTATS} tsdr:list PortStats ${CONFIG_INTERVAL} /restconf/config/tsdr-openflow-statistics-collector:TSDRDCConfig ${OPER_INTERVAL} /restconf/operations/tsdr-openflow-statistics-collector:setPollingInterval ${metric_path} metric_path ${metric_val} metric_val @{xml_list} @{tsdr_list} *** Test Cases *** Verification of TSDR Cassandra Feature Installation [Documentation] Install and Verify the TSDR Cassandra Features COMMENT Install a Feature odl-tsdr-cassandra-all ${ODL_SYSTEM_IP} ${KARAF_SHELL_PORT} 60 Wait Until Keyword Succeeds 24x 10 sec Check Karaf Log Has Messages tsdr.openflow Verify Feature Is Installed odl-tsdr-cassandra Verify Feature Is Installed odl-tsdr-openflow-statistics-collector Start Tsdr Suite Ping All Hosts Wait Until Keyword Succeeds 5x 30 sec Check Metric val \\d{5} Storing Statistics from Openflow REST [Documentation] Store openflow PortStats metrics using REST. : FOR ${item} IN @{xpath} \ ${ret_val}= Set Variable -1 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:1 ${item} \ Append To List ${xml_list} ${ret_val} \ ${ret_val}= Set Variable -1 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:2 ${item} \ Append To List ${xml_list} ${ret_val} \ ${ret_val}= Set Variable -1 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:LOCAL ${item} \ Append To List ${xml_list} ${ret_val} \ ${ret_val}= Set Variable -1 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:1 ${item} \ Append To List ${xml_list} ${ret_val} \ ${ret_val}= Set Variable -1 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:2 ${item} \ Append To List ${xml_list} ${ret_val} \ ${ret_val}= Set Variable -1 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:3 ${item} \ Append To List ${xml_list} ${ret_val} \ ${ret_val}= Set Variable -1 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:LOCAL ${item} \ Append To List ${xml_list} ${ret_val} \ ${ret_val}= Set Variable -1 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:3/node-connector/openflow:3:1 ${item} \ Append To List ${xml_list} ${ret_val} \ ${ret_val}= Set Variable -1 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:3/node-connector/openflow:3:2 ${item} \ Append To List ${xml_list} ${ret_val} \ ${ret_val}= Set Variable -1 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:3/node-connector/openflow:3:LOCAL ${item} \ Append To List ${xml_list} ${ret_val} \ ${ret_val}= Set Variable -1 Log List ${xml_list} Verification of InterfaceMetrics-Attributes on Cassandra Client [Documentation] Verify the InterfaceMetrics has been updated on Cassandra Data Store Copy TSDR tables : FOR ${list} IN @{INTERFACE_METRICS} \ ${ret_val1}= Extract From DB Table grep NID=openflow:1 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:1,NodeConnector:openflow:1:1 \ Append To List ${tsdr_list} ${ret_val1} \ ${ret_val1}= Extract From DB Table grep NID=openflow:1 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:1,NodeConnector:openflow:1:2 \ Append To List ${tsdr_list} ${ret_val1} \ ${ret_val1}= Extract From DB Table grep NID=openflow:1 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:1,NodeConnector:openflow:1:LOCAL \ Append To List ${tsdr_list} ${ret_val1} \ ${ret_val1}= Extract From DB Table grep NID=openflow:2 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:2,NodeConnector:openflow:2:1 \ Append To List ${tsdr_list} ${ret_val1} \ ${ret_val1}= Extract From DB Table grep NID=openflow:2 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:2,NodeConnector:openflow:2:2 \ Append To List ${tsdr_list} ${ret_val1} \ ${ret_val1}= Extract From DB Table grep NID=openflow:2 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:2,NodeConnector:openflow:2:3 \ Append To List ${tsdr_list} ${ret_val1} \ ${ret_val1}= Extract From DB Table grep NID=openflow:2 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:2,NodeConnector:openflow:2:LOCAL \ Append To List ${tsdr_list} ${ret_val1} \ ${ret_val1}= Extract From DB Table grep NID=openflow:3 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:3,NodeConnector:openflow:3:1 \ Append To List ${tsdr_list} ${ret_val1} \ ${ret_val1}= Extract From DB Table grep NID=openflow:3 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:3,NodeConnector:openflow:3:2 \ Append To List ${tsdr_list} ${ret_val1} \ ${ret_val1}= Extract From DB Table grep NID=openflow:3 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:3,NodeConnector:openflow:3:LOCAL \ Append To List ${tsdr_list} ${ret_val1} Comparing Mertics [Documentation] Compare openflow Interface metrics between data collected from openflow Plugin and TSDR : FOR ${xml_val} ${tsdr_val} IN ZIP ${xml_list} ${tsdr_list} \ Compare Tsdr XML Metrics ${xml_val} ${tsdr_val} 20 Verify Configuration Interval-change [Documentation] Verify the TSDR Collection configuration changes ${session}= Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} Verify TSDR Configuration Interval 180 Post TSDR Configuration Interval 200 Verify TSDR Configuration Interval 200 Post TSDR Configuration Interval 180 Verify TSDR Configuration Interval 180 Delete All Sessions [Teardown] Report_Failure_Due_To_Bug 5068 *** Keywords *** Verify TSDR Configuration Interval [Arguments] ${interval} [Documentation] Verify Configuration interval of TSDR Collection ${resp} RequestsLibrary.Get session ${CONFIG_INTERVAL} Should Be Equal As Strings ${resp.status_code} 200 Should Contain ${resp.content} ${interval} Post TSDR Configuration Interval [Arguments] ${interval} [Documentation] Configuration TSDR collection interval ${interval} ${p1} Create Dictionary interval ${interval} ${p2} Create Dictionary input ${p1} ${post_data} Create Dictionary setPollingInterval ${p2} Log ${post_data} ${resp} RequestsLibrary.Post session ${OPER_INTERVAL} ${post_data} Should Be Equal As Strings ${resp.status_code} 201 Extract From DB Table [Arguments] ${pattern} [Documentation] Extract from metricpath table and return the value ${ret_val1}= Set Variable -100 ${ret_val1}= Verify the Metrics Attributes on Cassandra Client ${pattern} [Return] ${ret_val1}