2 Documentation Test suite for Cassandra DataStore PortStats Verification
3 Suite Teardown Stop Tsdr Suite
7 Library RequestsLibrary
8 Library ../../../libraries/Common.py
9 Resource ../../../libraries/KarafKeywords.robot
10 Resource ../../../libraries/TsdrUtils.robot
11 Variables ../../../variables/Variables.py
12 Metadata https://bugs.opendaylight.org/show_bug.cgi?id=5068 ${EMPTY}
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
78 Verification of InterfaceMetrics-Attributes on Cassandra Client
79 [Documentation] Verify the InterfaceMetrics has been updated on Cassandra Data Store
81 : FOR ${list} IN @{INTERFACE_METRICS}
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:1
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:2
85 \ Append To List ${tsdr_list} ${ret_val1}
86 \ ${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
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:1
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:2
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:3
93 \ Append To List ${tsdr_list} ${ret_val1}
94 \ ${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
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:1
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:2
99 \ Append To List ${tsdr_list} ${ret_val1}
100 \ ${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
101 \ Append To List ${tsdr_list} ${ret_val1}
104 [Documentation] Compare openflow Interface metrics between data collected from openflow Plugin and TSDR
105 : FOR ${xml_val} ${tsdr_val} IN ZIP ${xml_list} ${tsdr_list}
106 \ Compare Tsdr XML Metrics ${xml_val} ${tsdr_val} 20
108 Verify Configuration Interval-change
109 [Documentation] Verify the TSDR Collection configuration changes
110 ${session}= Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
111 Verify TSDR Configuration Interval 180
112 Post TSDR Configuration Interval 200
113 Verify TSDR Configuration Interval 200
114 Post TSDR Configuration Interval 180
115 Verify TSDR Configuration Interval 180
117 [Teardown] Report_Failure_Due_To_Bug 5068
120 Verify TSDR Configuration Interval
121 [Arguments] ${interval}
122 [Documentation] Verify Configuration interval of TSDR Collection
123 ${resp} RequestsLibrary.Get session ${CONFIG_INTERVAL}
124 Should Be Equal As Strings ${resp.status_code} 200
125 Should Contain ${resp.content} ${interval}
127 Post TSDR Configuration Interval
128 [Arguments] ${interval}
129 [Documentation] Configuration TSDR collection interval ${interval}
130 ${p1} Create Dictionary interval ${interval}
131 ${p2} Create Dictionary input ${p1}
132 ${post_data} Create Dictionary setPollingInterval ${p2}
134 ${resp} RequestsLibrary.Post session ${OPER_INTERVAL} ${post_data}
135 Should Be Equal As Strings ${resp.status_code} 201
137 Extract From DB Table
138 [Arguments] ${pattern}
139 [Documentation] Extract from metricpath table and return the value
140 ${ret_val1}= Set Variable -100
141 ${ret_val1}= Verify the Metrics Attributes on Cassandra Client ${pattern}