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
14 @{INTERFACE_METRICS} TransmittedPackets TransmittedBytes TransmitErrors TransmitDrops ReceivedPackets ReceivedBytes ReceiveOverRunError
15 ... ReceiveFrameError ReceiveErrors ReceiveDrops ReceiveCrcError CollisionCount
16 ${root_path} flow-capable-node-connector-statistics
17 @{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
18 ... ${root_path}/receive-frame-error ${root_path}/receive-errors ${root_path}/receive-drops ${root_path}/receive-crc-error ${root_path}/collision-count
19 @{CATEGORY} FlowStats FlowTableStats PortStats QueueStats
20 ${TSDR_PORTSTATS} tsdr:list PortStats
21 ${CONFIG_INTERVAL} /restconf/config/tsdr-openflow-statistics-collector:TSDRDCConfig
22 ${OPER_INTERVAL} /restconf/operations/tsdr-openflow-statistics-collector:setPollingInterval
23 ${metric_path} metric_path
24 ${metric_val} metric_val
29 Verification of TSDR Cassandra Feature Installation
30 [Documentation] Install and Verify the TSDR Cassandra Features
31 COMMENT Install a Feature odl-tsdr-cassandra-all ${ODL_SYSTEM_IP} ${KARAF_SHELL_PORT} 60
32 Wait Until Keyword Succeeds 24x 10 sec Check Karaf Log Has Messages tsdr.openflow
33 Verify Feature Is Installed odl-tsdr-cassandra
34 Verify Feature Is Installed odl-tsdr-openflow-statistics-collector
37 Wait Until Keyword Succeeds 5x 30 sec Check Metric val \\d{5}
39 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}
105 [Documentation] Compare openflow Interface metrics between data collected from openflow Plugin and TSDR
106 : FOR ${xml_val} ${tsdr_val} IN ZIP ${xml_list} ${tsdr_list}
107 \ Compare Tsdr XML Metrics ${xml_val} ${tsdr_val} 20
111 Verify Configuration Interval-change
112 [Documentation] Verify the TSDR Collection configuration changes
113 ${session}= Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
114 Verify TSDR Configuration Interval 180
115 Post TSDR Configuration Interval 200
116 Verify TSDR Configuration Interval 200
117 Post TSDR Configuration Interval 180
118 Verify TSDR Configuration Interval 180
123 Verify TSDR Configuration Interval
124 [Arguments] ${interval}
125 [Documentation] Verify Configuration interval of TSDR Collection
126 ${resp} RequestsLibrary.Get session ${CONFIG_INTERVAL}
127 Should Be Equal As Strings ${resp.status_code} 200
128 Should Contain ${resp.content} ${interval}
130 Post TSDR Configuration Interval
131 [Arguments] ${interval}
132 [Documentation] Configuration TSDR collection interval ${interval}
133 ${p1} Create Dictionary interval ${interval}
134 ${p2} Create Dictionary input ${p1}
135 ${post_data} Create Dictionary setPollingInterval ${p2}
137 ${resp} RequestsLibrary.Post session ${OPER_INTERVAL} ${post_data}
138 Should Be Equal As Strings ${resp.status_code} 201
140 Extract From DB Table
141 [Arguments] ${pattern}
142 [Documentation] Extract from metricpath table and return the value
143 ${ret_val1}= Set Variable -100
144 ${ret_val1}= Verify the Metrics Attributes on Cassandra Client ${pattern}