Added scripts to start HBase server before controller
[integration/test.git] / test / csit / suites / tsdr / HBase / 010_InterfaceMetrics.robot
1 *** Settings ***\r
2 Documentation     Test suite for Hbase DataStore PortStats Verification\r
3 Suite Setup       Initialize the Tsdr Suite\r
4 Suite Teardown    Stop Tsdr Suite\r
5 Library           SSHLibrary\r
6 Library           Collections\r
7 Library           String\r
8 Library           RequestsLibrary\r
9 Library           ../../../libraries/Common.py\r
10 Resource          ../../../libraries/KarafKeywords.txt\r
11 Resource          ../../../libraries/TsdrUtils.txt\r
12 Variables         ../../../variables/Variables.py\r
13 \r
14 *** Variables ***\r
15 @{INTERFACE_METRICS}    TransmittedPackets    TransmittedBytes    TransmitErrors    TransmitDrops    ReceivedPackets    ReceivedBytes    ReceiveOverRunError\r
16 ...               ReceiveFrameError    ReceiveErrors    ReceiveDrops    ReceiveCrcError    CollisionCount\r
17 @{CATEGORY}       FlowGroupStats    FlowMeterStats    FlowStats    FlowTableStats    PortStats    QueueStats\r
18 ${TSDR_PORTSTATS}    tsdr:list PortStats\r
19 ${CONFIG_INTERVAL}    /restconf/config/TSDRDC:TSDRDCConfig\r
20 ${OPER_INTERVAL}    /restconf/operations/TSDRDC:setPollingInterval\r
21 \r
22 *** Test Cases ***\r
23 Verification of TSDR HBase Feature Installation\r
24     [Documentation]    Install and Verify the TSDR HBase Features\r
25     COMMENT    Install a Feature    odl-tsdr-hbase    ${CONTROLLER}    ${KARAF_SHELL_PORT}    60\r
26     Verify Feature Is Installed    odl-tsdr-hbase\r
27     Verify Feature Is Installed    odl-tsdr-hbase-persistence\r
28     Verify Feature Is Installed    odl-hbaseclient\r
29 \r
30 Verification TSDR Command is exist in Help\r
31     [Documentation]    Verify the TSDR List command on Help\r
32     ${output}=    Issue Command On Karaf Console    tsdr\t\r
33     Should Contain    ${output}    tsdr:list\r
34     ${output}=    Issue Command On Karaf Console    tsdr:list\t\t\r
35     : FOR    ${list}    IN    @{CATEGORY}\r
36     \    Should Contain    ${output}    ${list}\r
37     Wait Until Keyword Succeeds    620s    1s    Verify the Metric is Collected?    ${TSDR_PORTSTATS}    openflow\r
38 \r
39 Verification of TSDR PortStats\r
40     [Documentation]    Verify the TSDR InterfaceMetrics\r
41     : FOR    ${list}    IN    @{INTERFACE_METRICS}\r
42     \    ${tsdr_cmd}=    Concatenate the String    ${TSDR_PORTSTATS}    | grep ${list} | head\r
43     \    ${output}=    Issue Command On Karaf Console    ${tsdr_cmd}    ${CONTROLLER}    ${KARAF_SHELL_PORT}    30\r
44     \    Should Contain    ${output}    ${list}\r
45 \r
46 Verification of InterfaceMetrics-Attributes on HBase Client\r
47     [Documentation]    Verify the InterfaceMetrics has been updated on HBase Datastore\r
48     : FOR    ${list}    IN    @{INTERFACE_METRICS}\r
49     \    Verify the Metrics Attributes on Hbase Client    ${list}    openflow:1_1    InterfaceMetrics\r
50 \r
51 Verify Configuration Interval-change\r
52     [Documentation]    Verify the TSDR Collection configuration changes\r
53     Verify TSDR Configuration Interval    180\r
54     Post TSDR Configuration Interval    200\r
55     Verify TSDR Configuration Interval    200\r
56     Post TSDR Configuration Interval    180\r
57     Verify TSDR Configuration Interval    180\r
58 \r
59 *** Keywords ***\r
60 Initialize the Tsdr Suite\r
61     COMMENT    Initialize the HBase for TSDR\r
62     Start Tsdr Suite\r
63     Create Session    session    http://${CONTROLLER}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}\r
64 \r
65 Verify TSDR Configuration Interval\r
66     [Arguments]    ${interval}\r
67     [Documentation]    Verify Configuration interval of TSDR Collection\r
68     ${resp}    RequestsLibrary.Get    session    ${CONFIG_INTERVAL}\r
69     Should Be Equal As Strings    ${resp.status_code}    200\r
70     Should Contain    ${resp.content}    ${interval}\r
71 \r
72 Post TSDR Configuration Interval\r
73     [Arguments]    ${interval}\r
74     [Documentation]    Configuration TSDR collection interval ${interval}\r
75     ${p1}    Create Dictionary    interval    ${interval}\r
76     ${p2}    Create Dictionary    input    ${p1}\r
77     ${post_data}    Create Dictionary    setPollingInterval    ${p2}\r
78     Log    ${post_data}\r
79     ${resp}    RequestsLibrary.Post    session    ${OPER_INTERVAL}    ${post_data}\r
80     Should Be Equal As Strings    ${resp.status_code}    201\r