Migrate 030_bgp_functional_evpn.robot
[integration/test.git] / csit / libraries / OcpAgentKeywords.robot
1 *** Settings ***
2 Documentation       OCP agent library. This library is useful for tests using ocp agent tool to simulate RRH devices.
3
4 Library             SSHLibrary
5 Resource            SSHKeywords.robot
6 Resource            OVSDB.robot
7 Variables           ../variables/Variables.py
8
9
10 *** Keywords ***
11 Install Agent
12     [Documentation]    Start Agent with custom topology and connect to controller.
13     [Arguments]    ${mininet}=${TOOLS_SYSTEM_IP}    ${controller}=${ODL_SYSTEM_IP}
14     Log    Clear any existing Agent
15     ${conn_id}=    SSHLibrary.Open Connection
16     ...    ${mininet}
17     ...    prompt=${TOOLS_SYSTEM_PROMPT}
18     ...    timeout=${DEFAULT_TIMEOUT}
19     Set Suite Variable    ${conn_id}
20     SSHKeywords.Flexible Mininet Login
21     SSHLibrary.Write    rm -rf /tmp/agent
22     SSHLibrary.Write    pkill -f OcpAgent
23     SSHLibrary.Write    git clone https://git.opendaylight.org/gerrit/ocpplugin.git /tmp/agent
24     SSHLibrary.Read Until    Checking connectivity... done
25     SSHLibrary.Write    cd /tmp/agent/simple-agent
26     SSHLibrary.Write    javac -verbose src/main/java/org/opendaylight/ocpplugin/OcpAgent.java
27     SSHLibrary.Read Until    OcpAgent.class
28     Log    Agent installed
29     Close Connection
30
31 Start Emulator Single
32     [Documentation]    Start Agent with custom topology and connect to controller.
33     [Arguments]    ${mininet}=${TOOLS_SYSTEM_IP}    ${controller}=${ODL_SYSTEM_IP}    ${vendorID}=TST    ${serialNumber}=100
34     ${mininet_conn_id}=    SSHLibrary.Open Connection
35     ...    ${mininet}
36     ...    prompt=${TOOLS_SYSTEM_PROMPT}
37     ...    timeout=${DEFAULT_TIMEOUT}
38     Set Suite Variable    ${mininet_conn_id}
39     SSHKeywords.Flexible Mininet Login
40     SSHLibrary.Write
41     ...    java -cp /tmp/agent/simple-agent/src/main/java/ org.opendaylight.ocpplugin.OcpAgent ${controller} 1033 ${vendorID} ${serialNumber}
42     SSHLibrary.Read Until    getParamResp
43     RETURN    ${mininet_conn_id}
44
45 Start Emulator Multiple
46     [Documentation]    Start Agent with custom topology and connect to controller.
47     [Arguments]    ${mininet}=${TOOLS_SYSTEM_IP}    ${controller}=${ODL_SYSTEM_IP}    ${vendorID}=TST    ${number}=100
48     ${mininet_conn_id}=    SSHLibrary.Open Connection
49     ...    ${mininet}
50     ...    prompt=${TOOLS_SYSTEM_PROMPT}
51     ...    timeout=${DEFAULT_TIMEOUT}
52     Set Suite Variable    ${mininet_conn_id}
53     SSHKeywords.Flexible Mininet Login
54     FOR    ${NODE_NUM}    IN RANGE    1    ${number}
55         SSHLibrary.Write
56         ...    java -cp /tmp/agent/simple-agent/src/main/java/ org.opendaylight.ocpplugin.OcpAgent ${controller} 1033 ${vendorID} ${NODE_NUM} &
57         SSHLibrary.Read Until    getParamResp
58     END
59     RETURN    ${mininet_conn_id}
60
61 Stop Emulator And Exit
62     [Documentation]    Stops Agent and exits session ${mininet_conn_id}
63     [Arguments]    ${mininet_conn_id}
64     SSHLibrary.Switch Connection    ${mininet_conn_id}
65     SSHLibrary.Write    pkill -f OcpAgent
66     Close Connection