Tidy updated test suites
[integration/test.git] / csit / suites / tsdr / Cassandra / 020_FlowMetrics.robot
1 *** Settings ***
2 Documentation     Test suite for Cassandra DataStore Flow Stats Verification
3 Suite Setup       Initialize the Tsdr Suite
4 Suite Teardown    Stop Tsdr Suite
5 Library           SSHLibrary
6 Library           Collections
7 Library           String
8 Library           ../../../libraries/Common.py
9 Resource          ../../../libraries/KarafKeywords.robot
10 Resource          ../../../libraries/TsdrUtils.robot
11 Variables         ../../../variables/Variables.py
12
13 *** Variables ***
14 @{FLOW_METRICS}    PacketCount    ByteCount
15 ${TSDR_FLOWSTATS}    tsdr:list FlowStats
16 ${packet_count}    flow/flow-statistics/packet-count
17 ${byte_count}     flow/flow-statistics/byte-count
18 @{tsdr_op1}
19 @{tsdr_op2}
20 @{tsdr_op3}
21 @{tsdr_op1_pc}
22 @{tsdr_op2_pc}
23 @{tsdr_op3_pc}
24 @{tsdr_op1_bc}
25 @{tsdr_op2_bc}
26 @{tsdr_op3_bc}
27
28 *** Test Cases ***
29 Verification of TSDR Cassandra Feature Installation
30     [Documentation]    Install and Verify the TSDR Cassandra Features
31     Verify Feature Is Installed    odl-tsdr-cassandra
32     Verify Feature Is Installed    odl-tsdr-openflow-statistics-collector
33     Start Tsdr Suite
34     Ping All Hosts
35     Wait Until Keyword Succeeds    5x    30 sec    Check Metric path    24\\d+|25\\d+
36     Wait Until Keyword Succeeds    5x    30 sec    Check Metric val    \\d{5}
37
38 Getting all Tables from Openflow Plugin
39     [Documentation]    Getting Flowstats from openflow plugin
40     @{openflow_1}=    Return all XML matches    ${OPERATIONAL_NODES_API}/node/openflow:1/table/0/    flow/id
41     @{openflow_2}=    Return all XML matches    ${OPERATIONAL_NODES_API}/node/openflow:2/table/0/    flow/id
42     @{openflow_3}=    Return all XML matches    ${OPERATIONAL_NODES_API}/node/openflow:3/table/0/    flow/id
43     Set Suite Variable    @{openflow_1}
44     Set Suite Variable    @{openflow_2}
45     Set Suite Variable    @{openflow_3}
46     @{openflow_1_packetcount}=    Return all XML matches    ${OPERATIONAL_NODES_API}/node/openflow:1/table/0/    ${packet_count}
47     @{openflow_2_packetcount}=    Return all XML matches    ${OPERATIONAL_NODES_API}/node/openflow:2/table/0/    ${packet_count}
48     @{openflow_3_packetcount}=    Return all XML matches    ${OPERATIONAL_NODES_API}/node/openflow:3/table/0/    ${packet_count}
49     Set Suite Variable    @{openflow_1_packetcount}
50     Set Suite Variable    @{openflow_2_packetcount}
51     Set Suite Variable    @{openflow_3_packetcount}
52     @{openflow_1_bytecount}=    Return all XML matches    ${OPERATIONAL_NODES_API}/node/openflow:1/table/0/    ${byte_count}
53     @{openflow_2_bytecount}=    Return all XML matches    ${OPERATIONAL_NODES_API}/node/openflow:2/table/0/    ${byte_count}
54     @{openflow_3_bytecount}=    Return all XML matches    ${OPERATIONAL_NODES_API}/node/openflow:3/table/0/    ${byte_count}
55     Set Suite Variable    @{openflow_1_bytecount}
56     Set Suite Variable    @{openflow_2_bytecount}
57     Set Suite Variable    @{openflow_3_bytecount}
58
59 Verification of FlowStats-Attributes on Cassandra Data Store
60     [Documentation]    Verify the InterfaceMetrics has been updated on Cassandra Data Store
61     Copy TSDR tables
62     : FOR    ${flow}    IN    @{openflow_1}
63     \    ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:1 | grep DC=FLOWSTATS | grep MN=PacketCount | grep -F 'RK=Node:openflow:1,Table:0,Flow:${flow}'
64     \    Append To List    ${tsdr_op1_pc}    ${ret_val1}
65     : FOR    ${flow}    IN    @{openflow_2}
66     \    ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:2 | grep DC=FLOWSTATS | grep MN=PacketCount | grep -F 'RK=Node:openflow:2,Table:0,Flow:${flow}'
67     \    Append To List    ${tsdr_op2_pc}    ${ret_val1}
68     : FOR    ${flow}    IN    @{openflow_3}
69     \    ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:3 | grep DC=FLOWSTATS | grep MN=PacketCount | grep -F 'RK=Node:openflow:3,Table:0,Flow:${flow}'
70     \    Append To List    ${tsdr_op3_pc}    ${ret_val1}
71     : FOR    ${flow}    IN    @{openflow_1}
72     \    ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:1 | grep DC=FLOWSTATS | grep MN=ByteCount | grep -F 'RK=Node:openflow:1,Table:0,Flow:${flow}'
73     \    Append To List    ${tsdr_op1_bc}    ${ret_val1}
74     : FOR    ${flow}    IN    @{openflow_2}
75     \    ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:2 | grep DC=FLOWSTATS | grep MN=ByteCount | grep -F 'RK=Node:openflow:2,Table:0,Flow:${flow}'
76     \    Append To List    ${tsdr_op2_bc}    ${ret_val1}
77     : FOR    ${flow}    IN    @{openflow_3}
78     \    ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:3 | grep DC=FLOWSTATS | grep MN=ByteCount | grep -F 'RK=Node:openflow:3,Table:0,Flow:${flow}'
79     \    Append To List    ${tsdr_op3_bc}    ${ret_val1}
80     Set Suite Variable    @{tsdr_op1_pc}
81     Set Suite Variable    @{tsdr_op2_pc}
82     Set Suite Variable    @{tsdr_op3_pc}
83     Set Suite Variable    @{tsdr_op1_bc}
84     Set Suite Variable    @{tsdr_op2_bc}
85     Set Suite Variable    @{tsdr_op3_bc}
86
87 Comparing Packet Count Metrics
88     [Documentation]    Comparing Packet count values between Cassandra and openflow plugin
89     : FOR    ${xml_val}    ${tsdr_val}    IN ZIP    ${openflow_1_packetcount}    ${tsdr_op1_pc}
90     \    Compare Tsdr XML Metrics    ${xml_val}    ${tsdr_val}    20
91     : FOR    ${xml_val}    ${tsdr_val}    IN ZIP    ${openflow_2_packetcount}    ${tsdr_op2_pc}
92     \    Compare Tsdr XML Metrics    ${xml_val}    ${tsdr_val}    20
93     : FOR    ${xml_val}    ${tsdr_val}    IN ZIP    ${openflow_3_packetcount}    ${tsdr_op3_pc}
94     \    Compare Tsdr XML Metrics    ${xml_val}    ${tsdr_val}    20
95
96 Comparing Byte Count Metrics
97     [Documentation]    Comparing byte count values between Cassandra and openflow plugin
98     : FOR    ${xml_val}    ${tsdr_val}    IN ZIP    ${openflow_1_bytecount}    ${tsdr_op1_bc}
99     \    Compare Tsdr XML Metrics    ${xml_val}    ${tsdr_val}    20
100     : FOR    ${xml_val}    ${tsdr_val}    IN ZIP    ${openflow_2_bytecount}    ${tsdr_op2_bc}
101     \    Compare Tsdr XML Metrics    ${xml_val}    ${tsdr_val}    20
102     : FOR    ${xml_val}    ${tsdr_val}    IN ZIP    ${openflow_3_bytecount}    ${tsdr_op3_bc}
103     \    Compare Tsdr XML Metrics    ${xml_val}    ${tsdr_val}    20
104
105 *** Keywords ***
106 Initialize the Tsdr Suite
107     Initialize Cassandra Tables Metricval