0022251119593b2a9bac1b1c8e622c35c9648a0a
[integration/test.git] / csit / suites / genius / __init__.robot
1 *** Settings ***
2 Documentation     Test suite for Genius Modules
3 Suite Setup       Start Suite
4 Suite Teardown    Stop Suite
5 Library           SSHLibrary
6 Library           BuiltIn
7 Variables         ../../variables/Variables.py
8 Resource          ../../libraries/Utils.robot
9 Library           re
10 Library           Collections
11 Library           string
12 Resource          ../../libraries/KarafKeywords.robot
13
14 *** Variables ***
15
16 *** Keywords ***
17 Start Suite
18     [Documentation]    Test suit for vpn service using mininet OF13 and OVS 2.3.1
19     Run_Keyword_If_At_Least_Oxygen    Check Service Status    ACTIVE    OPERATIONAL
20     Log    Start the tests
21     ${conn_id_1}=    Open Connection    ${TOOLS_SYSTEM_IP}    prompt=${DEFAULT_LINUX_PROMPT}    timeout=30s
22     Set Global Variable    ${conn_id_1}
23     KarafKeywords.Setup_Karaf_Keywords
24     ${karaf_debug_enabled}    BuiltIn.Get_Variable_Value    ${KARAF_DEBUG}    ${False}
25     BuiltIn.run_keyword_if    ${karaf_debug_enabled}    KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set DEBUG org.opendaylight.genius
26     Login With Public Key    ${TOOLS_SYSTEM_USER}    ${USER_HOME}/.ssh/${SSH_KEY}    any
27     Log    ${conn_id_1}
28     Execute Command    sudo ovs-vsctl add-br BR1
29     Execute Command    sudo ovs-vsctl set bridge BR1 protocols=OpenFlow13
30     Execute Command    sudo ovs-vsctl set-controller BR1 tcp:${ODL_SYSTEM_IP}:6633
31     Execute Command    sudo ifconfig BR1 up
32     Execute Command    sudo ovs-vsctl add-port BR1 tap8ed70586-6c -- set Interface tap8ed70586-6c type=tap
33     Execute Command    sudo ovs-vsctl set-manager tcp:${ODL_SYSTEM_IP}:6640
34     ${output_1}    Execute Command    sudo ovs-vsctl show
35     Log    ${output_1}
36     ${check}    Wait Until Keyword Succeeds    30    10    check establishment    ${conn_id_1}    6633
37     log    ${check}
38     ${check_2}    Wait Until Keyword Succeeds    30    10    check establishment    ${conn_id_1}    6640
39     log    ${check_2}
40     Log    >>>>>Switch 2 configuration <<<<<
41     ${conn_id_2}=    Open Connection    ${TOOLS_SYSTEM_2_IP}    prompt=${DEFAULT_LINUX_PROMPT}    timeout=30s
42     Set Global Variable    ${conn_id_2}
43     Login With Public Key    ${TOOLS_SYSTEM_USER}    ${USER_HOME}/.ssh/${SSH_KEY}    any
44     Log    ${conn_id_2}
45     Execute Command    sudo ovs-vsctl add-br BR2
46     Execute Command    sudo ovs-vsctl set bridge BR2 protocols=OpenFlow13
47     Execute Command    sudo ovs-vsctl set-controller BR2 tcp:${ODL_SYSTEM_IP}:6633
48     Execute Command    sudo ifconfig BR2 up
49     Execute Command    sudo ovs-vsctl set-manager tcp:${ODL_SYSTEM_IP}:6640
50     ${output_2}    Execute Command    sudo ovs-vsctl show
51     Log    ${output_2}
52
53 Stop Suite
54     Log    Stop the tests
55     Switch Connection    ${conn_id_1}
56     Log    ${conn_id_1}
57     Execute Command    sudo ovs-vsctl del-br BR1
58     Execute Command    sudo ovs-vsctl del-manager
59     Write    exit
60     close connection
61     Switch Connection    ${conn_id_2}
62     Log    ${conn_id_2}
63     Execute Command    sudo ovs-vsctl del-br BR2
64     Execute Command    sudo ovs-vsctl del-manager
65     Write    exit
66     close connection
67
68 check establishment
69     [Arguments]    ${conn_id}    ${port}
70     Switch Connection    ${conn_id}
71     ${check_establishment}    Execute Command    netstat -anp | grep ${port}
72     Should contain    ${check_establishment}    ESTABLISHED
73     [Return]    ${check_establishment}
74
75 Check Service Status
76     [Arguments]    ${system_ready_state}    ${service_state}
77     [Documentation]    Issues the karaf shell command showSvcStatus to verify the ready and service states are the same as the arguments passed
78     ${service_status_output}    Issue_Command_On_Karaf_Console    showSvcStatus    ${ODL_SYSTEM_IP}    8101
79     Should Contain    ${service_status_output}    ${system_ready_state}
80     @{split}    Split To Lines    ${service_status_output}    3    7
81     : FOR    ${var}    IN    @{split}
82     \    Should Contain    ${var}    ${service_state}