2 Documentation Test suite for Cassandra DataStore PortStats Verification
7 Library RequestsLibrary
8 Library ../../../libraries/Common.py
9 Resource ../../../libraries/KarafKeywords.robot
10 Resource ../../../libraries/TsdrUtils.robot
11 Variables ../../../variables/Variables.py
13 Suite Teardown Stop Tsdr Suite
18 ... TransmittedPackets
24 ... ReceiveOverRunError
30 ${root_path} flow-capable-node-connector-statistics
32 ... ${root_path}/packets/transmitted
33 ... ${root_path}/bytes/transmitted
34 ... ${root_path}/transmit-errors
35 ... ${root_path}/transmit-drops
36 ... ${root_path}/packets/received
37 ... ${root_path}/bytes/received
38 ... ${root_path}/receive-over-run-error
39 ... ${root_path}/receive-frame-error
40 ... ${root_path}/receive-errors
41 ... ${root_path}/receive-drops
42 ... ${root_path}/receive-crc-error
43 ... ${root_path}/collision-count
44 @{CATEGORY} FlowStats FlowTableStats PortStats QueueStats
45 ${TSDR_PORTSTATS} tsdr:list PortStats
46 ${metric_path} metric_path
47 ${metric_val} metric_val
53 Verification of TSDR Cassandra Feature Installation
54 [Documentation] Install and Verify the TSDR Cassandra Features
55 COMMENT Install a Feature odl-tsdr-cassandra-all ${ODL_SYSTEM_IP} ${KARAF_SHELL_PORT} 60
56 Wait Until Keyword Succeeds 24x 10 sec Check Karaf Log Has Messages tsdr.openflow
57 Verify Feature Is Installed odl-tsdr-cassandra
58 Verify Feature Is Installed odl-tsdr-openflow-statistics-collector
61 Wait Until Keyword Succeeds 5x 30 sec Check Metric val \\d{5}
63 Storing Statistics from Openflow REST
64 [Documentation] Store openflow PortStats metrics using REST.
65 FOR ${item} IN @{xpath}
66 ${ret_val}= Set Variable -1
67 ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:1 ${item}
68 Append To List ${xml_list} ${ret_val}
69 ${ret_val}= Set Variable -1
70 ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:2 ${item}
71 Append To List ${xml_list} ${ret_val}
72 ${ret_val}= Set Variable -1
73 ${ret_val}= Get Stats XML
74 ... ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:LOCAL
76 Append To List ${xml_list} ${ret_val}
77 ${ret_val}= Set Variable -1
78 ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:1 ${item}
79 Append To List ${xml_list} ${ret_val}
80 ${ret_val}= Set Variable -1
81 ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:2 ${item}
82 Append To List ${xml_list} ${ret_val}
83 ${ret_val}= Set Variable -1
84 ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:3 ${item}
85 Append To List ${xml_list} ${ret_val}
86 ${ret_val}= Set Variable -1
87 ${ret_val}= Get Stats XML
88 ... ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:LOCAL
90 Append To List ${xml_list} ${ret_val}
91 ${ret_val}= Set Variable -1
92 ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:3/node-connector/openflow:3:1 ${item}
93 Append To List ${xml_list} ${ret_val}
94 ${ret_val}= Set Variable -1
95 ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:3/node-connector/openflow:3:2 ${item}
96 Append To List ${xml_list} ${ret_val}
97 ${ret_val}= Set Variable -1
98 ${ret_val}= Get Stats XML
99 ... ${OPERATIONAL_NODES_API}/node/openflow:3/node-connector/openflow:3:LOCAL
101 Append To List ${xml_list} ${ret_val}
102 ${ret_val}= Set Variable -1
106 Verification of InterfaceMetrics-Attributes on Cassandra Client
107 [Documentation] Verify the InterfaceMetrics has been updated on Cassandra Data Store
109 FOR ${list} IN @{INTERFACE_METRICS}
110 ${ret_val1}= Extract From DB Table
111 ... grep NID=openflow:1 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:1,NodeConnector:openflow:1:1
112 Append To List ${tsdr_list} ${ret_val1}
113 ${ret_val1}= Extract From DB Table
114 ... grep NID=openflow:1 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:1,NodeConnector:openflow:1:2
115 Append To List ${tsdr_list} ${ret_val1}
116 ${ret_val1}= Extract From DB Table
117 ... grep NID=openflow:1 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:1,NodeConnector:openflow:1:LOCAL
118 Append To List ${tsdr_list} ${ret_val1}
119 ${ret_val1}= Extract From DB Table
120 ... grep NID=openflow:2 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:2,NodeConnector:openflow:2:1
121 Append To List ${tsdr_list} ${ret_val1}
122 ${ret_val1}= Extract From DB Table
123 ... grep NID=openflow:2 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:2,NodeConnector:openflow:2:2
124 Append To List ${tsdr_list} ${ret_val1}
125 ${ret_val1}= Extract From DB Table
126 ... grep NID=openflow:2 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:2,NodeConnector:openflow:2:3
127 Append To List ${tsdr_list} ${ret_val1}
128 ${ret_val1}= Extract From DB Table
129 ... grep NID=openflow:2 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:2,NodeConnector:openflow:2:LOCAL
130 Append To List ${tsdr_list} ${ret_val1}
131 ${ret_val1}= Extract From DB Table
132 ... grep NID=openflow:3 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:3,NodeConnector:openflow:3:1
133 Append To List ${tsdr_list} ${ret_val1}
134 ${ret_val1}= Extract From DB Table
135 ... grep NID=openflow:3 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:3,NodeConnector:openflow:3:2
136 Append To List ${tsdr_list} ${ret_val1}
137 ${ret_val1}= Extract From DB Table
138 ... grep NID=openflow:3 | grep DC=PORTSTATS | grep MN=${list} | grep RK=Node:openflow:3,NodeConnector:openflow:3:LOCAL
139 Append To List ${tsdr_list} ${ret_val1}
143 [Documentation] Compare openflow Interface metrics between data collected from openflow Plugin and TSDR
144 FOR ${xml_val} ${tsdr_val} IN ZIP ${xml_list} ${tsdr_list}
145 Compare Tsdr XML Metrics ${xml_val} ${tsdr_val} 20
150 Extract From DB Table
151 [Documentation] Extract from metricpath table and return the value
152 [Arguments] ${pattern}
153 ${ret_val1}= Set Variable -100
154 ${ret_val1}= Verify the Metrics Attributes on Cassandra Client ${pattern}