Remove remnants of sfc project
[integration/test.git] / csit / suites / tsdr / Cassandra / 010_InterfaceMetrics.robot
1 *** Settings ***
2 Documentation       Test suite for Cassandra DataStore PortStats Verification
3
4 Library             SSHLibrary
5 Library             Collections
6 Library             String
7 Library             RequestsLibrary
8 Library             ../../../libraries/Common.py
9 Resource            ../../../libraries/KarafKeywords.robot
10 Resource            ../../../libraries/TsdrUtils.robot
11 Variables           ../../../variables/Variables.py
12
13 Suite Teardown      Stop Tsdr Suite
14
15
16 *** Variables ***
17 @{INTERFACE_METRICS}
18 ...                     TransmittedPackets
19 ...                     TransmittedBytes
20 ...                     TransmitErrors
21 ...                     TransmitDrops
22 ...                     ReceivedPackets
23 ...                     ReceivedBytes
24 ...                     ReceiveOverRunError
25 ...                     ReceiveFrameError
26 ...                     ReceiveErrors
27 ...                     ReceiveDrops
28 ...                     ReceiveCrcError
29 ...                     CollisionCount
30 ${root_path}            flow-capable-node-connector-statistics
31 @{xpath}
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
48 @{xml_list}
49 @{tsdr_list}
50
51
52 *** Test Cases ***
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
59     Start Tsdr Suite
60     Ping All Hosts
61     Wait Until Keyword Succeeds    5x    30 sec    Check Metric val    \\d{5}
62
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
75         ...    ${item}
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
89         ...    ${item}
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
100         ...    ${item}
101         Append To List    ${xml_list}    ${ret_val}
102         ${ret_val}=    Set Variable    -1
103     END
104     Log List    ${xml_list}
105
106 Verification of InterfaceMetrics-Attributes on Cassandra Client
107     [Documentation]    Verify the InterfaceMetrics has been updated on Cassandra Data Store
108     Copy TSDR tables
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}
140     END
141
142 Comparing Mertics
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
146     END
147
148
149 *** Keywords ***
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}
155     RETURN    ${ret_val1}