2 Documentation Test suite for Cassandra DataStore PortStats Verification
3 Suite Teardown Stop Tsdr Suite
4 Metadata https://bugs.opendaylight.org/show_bug.cgi?id=5068 ${EMPTY}
8 Library RequestsLibrary
9 Library ../../../libraries/Common.py
10 Resource ../../../libraries/KarafKeywords.robot
11 Resource ../../../libraries/TsdrUtils.robot
12 Variables ../../../variables/Variables.py
15 @{INTERFACE_METRICS} TransmittedPackets TransmittedBytes TransmitErrors TransmitDrops ReceivedPackets ReceivedBytes ReceiveOverRunError
16 ... ReceiveFrameError ReceiveErrors ReceiveDrops ReceiveCrcError CollisionCount
17 ${root_path} flow-capable-node-connector-statistics
18 @{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
19 ... ${root_path}/receive-frame-error ${root_path}/receive-errors ${root_path}/receive-drops ${root_path}/receive-crc-error ${root_path}/collision-count
20 @{CATEGORY} FlowStats FlowTableStats PortStats QueueStats
21 ${TSDR_PORTSTATS} tsdr:list PortStats
22 ${CONFIG_INTERVAL} /restconf/config/tsdr-openflow-statistics-collector:TSDRDCConfig
23 ${OPER_INTERVAL} /restconf/operations/tsdr-openflow-statistics-collector:setPollingInterval
24 ${metric_path} metric_path
25 ${metric_val} metric_val
30 Verification of TSDR Cassandra Feature Installation
31 [Documentation] Install and Verify the TSDR Cassandra Features
32 COMMENT Install a Feature odl-tsdr-cassandra-all ${ODL_SYSTEM_IP} ${KARAF_SHELL_PORT} 60
33 Wait Until Keyword Succeeds 24x 10 sec Check Karaf Log Has Messages tsdr.openflow
34 Verify Feature Is Installed odl-tsdr-cassandra
35 Verify Feature Is Installed odl-tsdr-openflow-statistics-collector
38 Wait Until Keyword Succeeds 5x 30 sec Check Metric val \\d{5}
40 Storing Statistics from Openflow REST
41 [Documentation] Store openflow PortStats metrics using REST.
42 : FOR ${item} IN @{xpath}
43 \ ${ret_val}= Set Variable -1
44 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:1 ${item}
45 \ Append To List ${xml_list} ${ret_val}
46 \ ${ret_val}= Set Variable -1
47 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:2 ${item}
48 \ Append To List ${xml_list} ${ret_val}
49 \ ${ret_val}= Set Variable -1
50 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:LOCAL ${item}
51 \ Append To List ${xml_list} ${ret_val}
52 \ ${ret_val}= Set Variable -1
53 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:1 ${item}
54 \ Append To List ${xml_list} ${ret_val}
55 \ ${ret_val}= Set Variable -1
56 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:2 ${item}
57 \ Append To List ${xml_list} ${ret_val}
58 \ ${ret_val}= Set Variable -1
59 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:3 ${item}
60 \ Append To List ${xml_list} ${ret_val}
61 \ ${ret_val}= Set Variable -1
62 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:LOCAL ${item}
63 \ Append To List ${xml_list} ${ret_val}
64 \ ${ret_val}= Set Variable -1
65 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:3/node-connector/openflow:3:1 ${item}
66 \ Append To List ${xml_list} ${ret_val}
67 \ ${ret_val}= Set Variable -1
68 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:3/node-connector/openflow:3:2 ${item}
69 \ Append To List ${xml_list} ${ret_val}
70 \ ${ret_val}= Set Variable -1
71 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:3/node-connector/openflow:3:LOCAL ${item}
72 \ Append To List ${xml_list} ${ret_val}
73 \ ${ret_val}= Set Variable -1
76 Verification of InterfaceMetrics-Attributes on Cassandra Client
77 [Documentation] Verify the InterfaceMetrics has been updated on Cassandra Data Store
79 : FOR ${list} IN @{INTERFACE_METRICS}
80 \ ${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
81 \ Append To List ${tsdr_list} ${ret_val1}
82 \ ${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
83 \ Append To List ${tsdr_list} ${ret_val1}
84 \ ${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
85 \ Append To List ${tsdr_list} ${ret_val1}
86 \ ${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
87 \ Append To List ${tsdr_list} ${ret_val1}
88 \ ${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
89 \ Append To List ${tsdr_list} ${ret_val1}
90 \ ${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
91 \ Append To List ${tsdr_list} ${ret_val1}
92 \ ${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
93 \ Append To List ${tsdr_list} ${ret_val1}
94 \ ${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
95 \ Append To List ${tsdr_list} ${ret_val1}
96 \ ${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
97 \ Append To List ${tsdr_list} ${ret_val1}
98 \ ${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
99 \ Append To List ${tsdr_list} ${ret_val1}
102 [Documentation] Compare openflow Interface metrics between data collected from openflow Plugin and TSDR
103 : FOR ${xml_val} ${tsdr_val} IN ZIP ${xml_list} ${tsdr_list}
104 \ Compare Tsdr XML Metrics ${xml_val} ${tsdr_val} 20
106 Verify Configuration Interval-change
107 [Documentation] Verify the TSDR Collection configuration changes
108 ${session}= Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
109 Verify TSDR Configuration Interval 180
110 Post TSDR Configuration Interval 200
111 Verify TSDR Configuration Interval 200
112 Post TSDR Configuration Interval 180
113 Verify TSDR Configuration Interval 180
115 [Teardown] Report_Failure_Due_To_Bug 5068
118 Verify TSDR Configuration Interval
119 [Arguments] ${interval}
120 [Documentation] Verify Configuration interval of TSDR Collection
121 ${resp} RequestsLibrary.Get session ${CONFIG_INTERVAL}
122 Should Be Equal As Strings ${resp.status_code} 200
123 Should Contain ${resp.content} ${interval}
125 Post TSDR Configuration Interval
126 [Arguments] ${interval}
127 [Documentation] Configuration TSDR collection interval ${interval}
128 ${p1} Create Dictionary interval ${interval}
129 ${p2} Create Dictionary input ${p1}
130 ${post_data} Create Dictionary setPollingInterval ${p2}
132 ${resp} RequestsLibrary.Post session ${OPER_INTERVAL} ${post_data}
133 Should Be Equal As Strings ${resp.status_code} 201
135 Extract From DB Table
136 [Arguments] ${pattern}
137 [Documentation] Extract from metricpath table and return the value
138 ${ret_val1}= Set Variable -100
139 ${ret_val1}= Verify the Metrics Attributes on Cassandra Client ${pattern}