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 path 24\\d+|25\\d+
38 Wait Until Keyword Succeeds 5x 30 sec Check Metric val \\d{5}
40 Storing Statistics from Openflow REST
42 [Documentation] Store openflow PortStats metrics using REST.
43 : FOR ${item} IN @{xpath}
44 \ ${ret_val}= Set Variable -1
45 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:1 ${item}
46 \ Append To List ${xml_list} ${ret_val}
47 \ ${ret_val}= Set Variable -1
48 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:2 ${item}
49 \ Append To List ${xml_list} ${ret_val}
50 \ ${ret_val}= Set Variable -1
51 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:1/node-connector/openflow:1:LOCAL ${item}
52 \ Append To List ${xml_list} ${ret_val}
53 \ ${ret_val}= Set Variable -1
54 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:1 ${item}
55 \ Append To List ${xml_list} ${ret_val}
56 \ ${ret_val}= Set Variable -1
57 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:2 ${item}
58 \ Append To List ${xml_list} ${ret_val}
59 \ ${ret_val}= Set Variable -1
60 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:3 ${item}
61 \ Append To List ${xml_list} ${ret_val}
62 \ ${ret_val}= Set Variable -1
63 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:2/node-connector/openflow:2:LOCAL ${item}
64 \ Append To List ${xml_list} ${ret_val}
65 \ ${ret_val}= Set Variable -1
66 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:3/node-connector/openflow:3:1 ${item}
67 \ Append To List ${xml_list} ${ret_val}
68 \ ${ret_val}= Set Variable -1
69 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:3/node-connector/openflow:3:2 ${item}
70 \ Append To List ${xml_list} ${ret_val}
71 \ ${ret_val}= Set Variable -1
72 \ ${ret_val}= Get Stats XML ${OPERATIONAL_NODES_API}/node/openflow:3/node-connector/openflow:3:LOCAL ${item}
73 \ Append To List ${xml_list} ${ret_val}
74 \ ${ret_val}= Set Variable -1
79 Verification of InterfaceMetrics-Attributes on Cassandra Client
80 [Documentation] Verify the InterfaceMetrics has been updated on Cassandra Data Store
82 : FOR ${list} IN @{INTERFACE_METRICS}
83 \ ${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
84 \ Append To List ${tsdr_list} ${ret_val1}
85 \ ${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
86 \ Append To List ${tsdr_list} ${ret_val1}
87 \ ${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
88 \ Append To List ${tsdr_list} ${ret_val1}
89 \ ${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
90 \ Append To List ${tsdr_list} ${ret_val1}
91 \ ${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
92 \ Append To List ${tsdr_list} ${ret_val1}
93 \ ${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
94 \ Append To List ${tsdr_list} ${ret_val1}
95 \ ${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
96 \ Append To List ${tsdr_list} ${ret_val1}
97 \ ${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
98 \ Append To List ${tsdr_list} ${ret_val1}
99 \ ${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
100 \ Append To List ${tsdr_list} ${ret_val1}
101 \ ${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
102 \ Append To List ${tsdr_list} ${ret_val1}
106 [Documentation] Compare openflow Interface metrics between data collected from openflow Plugin and TSDR
107 : FOR ${xml_val} ${tsdr_val} IN ZIP ${xml_list} ${tsdr_list}
108 \ Compare Tsdr XML Metrics ${xml_val} ${tsdr_val}
112 Verify Configuration Interval-change
113 [Documentation] Verify the TSDR Collection configuration changes
114 ${session}= Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
115 Verify TSDR Configuration Interval 180
116 Post TSDR Configuration Interval 200
117 Verify TSDR Configuration Interval 200
118 Post TSDR Configuration Interval 180
119 Verify TSDR Configuration Interval 180
124 Verify TSDR Configuration Interval
125 [Arguments] ${interval}
126 [Documentation] Verify Configuration interval of TSDR Collection
127 ${resp} RequestsLibrary.Get session ${CONFIG_INTERVAL}
128 Should Be Equal As Strings ${resp.status_code} 200
129 Should Contain ${resp.content} ${interval}
131 Post TSDR Configuration Interval
132 [Arguments] ${interval}
133 [Documentation] Configuration TSDR collection interval ${interval}
134 ${p1} Create Dictionary interval ${interval}
135 ${p2} Create Dictionary input ${p1}
136 ${post_data} Create Dictionary setPollingInterval ${p2}
138 ${resp} RequestsLibrary.Post session ${OPER_INTERVAL} ${post_data}
139 Should Be Equal As Strings ${resp.status_code} 201
141 Extract From DB Table
142 [Arguments] ${pattern}
143 [Documentation] Extract from metricpath table and return the value
144 ${ret_val1}= Set Variable -100
145 ${ret_val1}= Verify the Metrics Attributes on Cassandra Client ${pattern}