Upgrade RF syntax for v3.2 compatibility
[integration/test.git] / csit / suites / tsdr / Cassandra / 040_QueueMetrics.robot
1 *** Settings ***
2 Documentation     Test suite for Cassandra DataStore Queue Stats Verification
3 Suite Setup       Initialize Cassandra Tables Metricval
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 @{QUEUE_METRICS}    TransmittedPackets    TransmittedBytes    TransmissionErrors
15 ${TSDR_QUEUESTATS}    tsdr:list QueueStats
16 ${QUERY_HEAD}     ${OPERATIONAL_NODES_API}/node
17 ${query_head1}    ${QUERY_HEAD}/openflow:2/node-connector/openflow:2:2/queue/
18 @{tsdr_q0}
19 @{tsdr_q2}
20 @{tsdr_q1}
21 ${transmittedpackets}    flow-capable-node-connector-queue-statistics/transmitted-packets
22 ${transmittedbytes}    flow-capable-node-connector-queue-statistics/transmitted-bytes
23 ${transmittederrors}    flow-capable-node-connector-queue-statistics/transmission-errors
24 @{openflow_q0}
25 @{openflow_q2}
26 @{openflow_q1}
27
28 *** Test Cases ***
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     Verify Feature Is Installed    odl-tsdr-cassandra
33     COMMENT    Verify Feature Is Installed    odl-tsdr-cassandra-persistence
34     Verify Feature Is Installed    odl-tsdr-openflow-statistics-collector
35     Start Tsdr Suite
36     Configuration of Queue on Switch
37     Ping All Hosts
38     Wait Until Keyword Succeeds    5x    30 sec    Check Metric val    \\d{5}
39
40 Getting all Tables from Openflow Plugin
41     [Documentation]    Getting Queue Stats from openflow plugin
42     ${ret}=    Get Stats XML    ${query_head1}0/    ${transmittederrors}
43     Append To List    ${openflow_q0}    ${ret}
44     ${ret}=    Get Stats XML    ${query_head1}0/    ${transmittedpackets}
45     Append To List    ${openflow_q0}    ${ret}
46     ${ret}=    Get Stats XML    ${query_head1}0/    ${transmittedbytes}
47     Append To List    ${openflow_q0}    ${ret}
48     Set Suite Variable    @{openflow_q0}
49     ${ret}=    Get Stats XML    ${query_head1}1/    ${transmittederrors}
50     Append To List    ${openflow_q1}    ${ret}
51     ${ret}=    Get Stats XML    ${query_head1}1/    ${transmittedpackets}
52     Append To List    ${openflow_q1}    ${ret}
53     ${ret}=    Get Stats XML    ${query_head1}1/    ${transmittedbytes}
54     Append To List    ${openflow_q1}    ${ret}
55     Set Suite Variable    @{openflow_q1}
56     ${ret}=    Get Stats XML    ${query_head1}2/    ${transmittederrors}
57     Append To List    ${openflow_q2}    ${ret}
58     ${ret}=    Get Stats XML    ${query_head1}2/    ${transmittedpackets}
59     Append To List    ${openflow_q2}    ${ret}
60     ${ret}=    Get Stats XML    ${query_head1}2/    ${transmittedbytes}
61     Append To List    ${openflow_q2}    ${ret}
62     Set Suite Variable    @{openflow_q2}
63
64 Verification of FlowStats-Attributes on Cassandra Data Store
65     [Documentation]    Verify the InterfaceMetrics has been updated on Cassandra Data Store
66     Copy TSDR tables
67     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:2 | grep DC=QUEUESTATS | grep MN=TransmissionErrors | grep RK=Node:openflow:2,NodeConnector:openflow:2:2,Queue:0
68     Append To List    ${tsdr_q0}    ${ret_val1}
69     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:2 | grep DC=QUEUESTATS | grep MN=TransmittedPackets | grep RK=Node:openflow:2,NodeConnector:openflow:2:2,Queue:0
70     Append To List    ${tsdr_q0}    ${ret_val1}
71     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:2 | grep DC=QUEUESTATS | grep MN=TransmittedBytes | grep RK=Node:openflow:2,NodeConnector:openflow:2:2,Queue:0
72     Append To List    ${tsdr_q0}    ${ret_val1}
73     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:2 | grep DC=QUEUESTATS | grep MN=TransmissionErrors | grep RK=Node:openflow:2,NodeConnector:openflow:2:2,Queue:1
74     Append To List    ${tsdr_q1}    ${ret_val1}
75     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:2 | grep DC=QUEUESTATS | grep MN=TransmittedPackets | grep RK=Node:openflow:2,NodeConnector:openflow:2:2,Queue:1
76     Append To List    ${tsdr_q1}    ${ret_val1}
77     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:2 | grep DC=QUEUESTATS | grep MN=TransmittedBytes | grep RK=Node:openflow:2,NodeConnector:openflow:2:2,Queue:1
78     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:2 | grep DC=QUEUESTATS | grep MN=TransmissionErrors | grep RK=Node:openflow:2,NodeConnector:openflow:2:2,Queue:2
79     Append To List    ${tsdr_q2}    ${ret_val1}
80     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:2 | grep DC=QUEUESTATS | grep MN=TransmittedPackets | grep RK=Node:openflow:2,NodeConnector:openflow:2:2,Queue:2
81     Append To List    ${tsdr_q2}    ${ret_val1}
82     ${ret_val1}=    Verify the Metrics Attributes on Cassandra Client    grep NID=openflow:2 | grep DC=QUEUESTATS | grep MN=TransmittedBytes | grep RK=Node:openflow:2,NodeConnector:openflow:2:2,Queue:2
83     Append To List    ${tsdr_q2}    ${ret_val1}
84
85 Comparing Queue Metrics
86     [Documentation]    Comparing Queue metrics between Cassandra and OF plugin
87     FOR    ${xml_val}    ${tsdr_val}    IN ZIP    ${openflow_q0}    ${tsdr_q0}
88         Compare Tsdr XML Metrics    ${xml_val}    ${tsdr_val}    20
89     END
90     FOR    ${xml_val}    ${tsdr_val}    IN ZIP    ${openflow_q1}    ${tsdr_q1}
91         Compare Tsdr XML Metrics    ${xml_val}    ${tsdr_val}    20
92     END
93     FOR    ${xml_val}    ${tsdr_val}    IN ZIP    ${openflow_q2}    ${tsdr_q2}
94         Compare Tsdr XML Metrics    ${xml_val}    ${tsdr_val}    20
95     END
96
97 *** Keyword ***
98 Configuration of Queue on Switch
99     [Documentation]    Queue configuration on openvswitch
100     Configure the Queue on Switch    s2-eth2