2055c5e58befb12a42fa1c5d7885c7af9aac7a05
[integration/test.git] / csit / suites / tsdr / Cassandra / 030_FlowTableMetrics.robot
1 *** Settings ***
2 Documentation     Test suite for Cassandra DataStore Flow Table 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 ${TSDR_FLOWTABLE_STATS}    tsdr:list FlowTableStats
15 @{tsdr_pl}
16 @{tsdr_af}
17 @{tsdr_pm}
18 ${packetlookup}    flow-table-statistics/packets-looked-up
19 ${activeflows}    flow-table-statistics/active-flows
20 ${packetmatched}    flow-table-statistics/packets-matched
21 @{openflow_packetlookup}
22 @{openflow_activeflows}
23 @{openflow_packetmatched}
24
25 *** Test Cases ***
26
27 Verification of TSDR Cassandra Feature Installation
28     [Documentation]    Install and Verify the TSDR Cassandra Features
29     COMMENT    Install a Feature    odl-tsdr-cassandra-all    ${ODL_SYSTEM_IP}    ${KARAF_SHELL_PORT}    60
30     Verify Feature Is Installed    odl-tsdr-cassandra
31     COMMENT    Verify Feature Is Installed    odl-tsdr-cassandra-persistence
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 val     \\d{5}
36
37
38 Getting all Tables from Openflow Plugin
39     [Documentation]    Getting Flow Table Stats Values from Openflow plugin
40     ${ret}=    Get Stats XML    ${OPERATIONAL_NODES_API}/node/openflow:1/table/0/    ${packetlookup}
41     Append To List    ${openflow_packetlookup}    ${ret}
42     ${ret}=    Get Stats XML    ${OPERATIONAL_NODES_API}/node/openflow:2/table/0/    ${packetlookup}
43     Append To List    ${openflow_packetlookup}    ${ret}
44     ${ret}=    Get Stats XML    ${OPERATIONAL_NODES_API}/node/openflow:3/table/0/    ${packetlookup}
45     Append To List    ${openflow_packetlookup}    ${ret}
46
47     Set Suite Variable    @{openflow_packetlookup}
48
49
50     ${ret}=    Get Stats XML    ${OPERATIONAL_NODES_API}/node/openflow:1/table/0/    ${activeflows}
51     Append To List    ${openflow_activeflows}    ${ret}
52     ${ret}=    Get Stats XML    ${OPERATIONAL_NODES_API}/node/openflow:2/table/0/    ${activeflows}
53     Append To List    ${openflow_activeflows}    ${ret}
54     ${ret}=    Get Stats XML    ${OPERATIONAL_NODES_API}/node/openflow:3/table/0/    ${activeflows}
55     Append To List    ${openflow_activeflows}    ${ret}
56
57     Set Suite Variable    @{openflow_activeflows}
58
59     ${ret}=    Get Stats XML    ${OPERATIONAL_NODES_API}/node/openflow:1/table/0/    ${packetmatched}
60     Append To List    ${openflow_packetmatched}    ${ret}
61     ${ret}=    Get Stats XML    ${OPERATIONAL_NODES_API}/node/openflow:2/table/0/    ${packetmatched}
62     Append To List    ${openflow_packetmatched}    ${ret}
63     ${ret}=    Get Stats XML    ${OPERATIONAL_NODES_API}/node/openflow:3/table/0/    ${packetmatched}
64     Append To List    ${openflow_packetmatched}    ${ret}
65
66     Set Suite Variable    @{openflow_packetmatched}
67
68
69
70
71 Verification of FlowStats-Attributes on Cassandra Data Store
72     [Documentation]    Verify the InterfaceMetrics has been updated on Cassandra Data Store
73     Copy TSDR tables
74     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client     grep NID=openflow:1 | grep DC=FLOWTABLESTATS | grep MN=PacketLookup | grep RK=Node:openflow:1,Table:0
75     Append To List    ${tsdr_pl}    ${ret_val1}
76     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client     grep NID=openflow:2 | grep DC=FLOWTABLESTATS | grep MN=PacketLookup | grep RK=Node:openflow:2,Table:0
77     Append To List    ${tsdr_pl}    ${ret_val1}
78     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client     grep NID=openflow:3 | grep DC=FLOWTABLESTATS | grep MN=PacketLookup | grep RK=Node:openflow:3,Table:0
79     Append To List    ${tsdr_pl}    ${ret_val1}
80
81
82
83     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client     grep NID=openflow:1 | grep DC=FLOWTABLESTATS | grep MN=ActiveFlows | grep RK=Node:openflow:1,Table:0
84     Append To List    ${tsdr_af}    ${ret_val1}
85     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client     grep NID=openflow:2 | grep DC=FLOWTABLESTATS | grep MN=ActiveFlows | grep RK=Node:openflow:2,Table:0
86     Append To List    ${tsdr_af}    ${ret_val1}
87     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client     grep NID=openflow:3 | grep DC=FLOWTABLESTATS | grep MN=ActiveFlows | grep RK=Node:openflow:3,Table:0
88     Append To List    ${tsdr_af}    ${ret_val1}
89
90
91     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client     grep NID=openflow:1 | grep DC=FLOWTABLESTATS | grep MN=PacketMatch | grep RK=Node:openflow:1,Table:0
92     Append To List    ${tsdr_pm}    ${ret_val1}
93     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client     grep NID=openflow:2 | grep DC=FLOWTABLESTATS | grep MN=PacketMatch | grep RK=Node:openflow:2,Table:0
94     Append To List    ${tsdr_pm}    ${ret_val1}
95     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client     grep NID=openflow:3 | grep DC=FLOWTABLESTATS | grep MN=PacketMatch | grep RK=Node:openflow:3,Table:0
96     Append To List    ${tsdr_pm}    ${ret_val1}
97
98
99
100
101 Comparing Flow Table Metrics
102     [Documentation]    Comparing Flow table values between Cassandra and openflow plugin.
103
104     : FOR    ${xml_val}    ${tsdr_val}    IN ZIP    ${openflow_packetlookup}    ${tsdr_pl}
105     \    Compare Tsdr XML Metrics    ${xml_val}    ${tsdr_val}    5
106
107     : FOR    ${xml_val}    ${tsdr_val}    IN ZIP    ${openflow_activeflows}    ${tsdr_af}
108     \    Compare Tsdr XML Metrics    ${xml_val}    ${tsdr_val}    5
109
110     : FOR    ${xml_val}    ${tsdr_val}    IN ZIP    ${openflow_packetmatched}    ${tsdr_pm}
111     \    Compare Tsdr XML Metrics    ${xml_val}    ${tsdr_val}    5
112
113
114
115 *** Keywords ***
116 Initialize the Tsdr Suite
117     COMMENT    Initialize the Cassandra for TSDR
118     Initialize Cassandra Tables Metricval
119