Add scalability test for OCPPLUGIN 88/39588/6
authorjason <jason.cw.yuan@foxconn.com>
Mon, 30 May 2016 09:05:51 +0000 (17:05 +0800)
committerJamo Luhrsen <jluhrsen@redhat.com>
Fri, 17 Jun 2016 16:25:35 +0000 (16:25 +0000)
Change-Id: Icde7d8a2a56765cb5e13ebef1e2195b4e440a30a
Signed-off-by: jason <jason.cw.yuan@foxconn.com>
csit/libraries/OcpAgentKeywords.robot [changed mode: 0644->0755]
csit/suites/ocpplugin/basic/010__ocp_get.robot [changed mode: 0644->0755]
csit/suites/ocpplugin/scalability/010__ocp_scalability.robot [new file with mode: 0755]
csit/testplans/ocpplugin-scalability.txt [new file with mode: 0644]
csit/variables/ocpplugin/Variables.py [new file with mode: 0644]

old mode 100644 (file)
new mode 100755 (executable)
index 001c4bd..9625c71
@@ -14,11 +14,12 @@ Install Agent
     Set Suite Variable    ${conn_id}
     Utils.Flexible Mininet Login
     SSHLibrary.Write    rm -rf /tmp/agent
+    SSHLibrary.Write    pkill -f OcpAgent
     SSHLibrary.Write    git clone https://git.opendaylight.org/gerrit/ocpplugin.git /tmp/agent
     SSHLibrary.Read Until    Checking connectivity... done
     SSHLibrary.Write    cd /tmp/agent/simple-agent
-    SSHLibrary.Write    mvn clean compile
-    SSHLibrary.Read Until    BUILD SUCCESS
+    SSHLibrary.Write    javac -verbose src/main/java/org/opendaylight/ocpplugin/OcpAgent.java
+    SSHLibrary.Read Until    OcpAgent.class
     Log    Agent installed
     Close Connection
 
@@ -28,12 +29,24 @@ Start Emulator Single
     ${mininet_conn_id}=    SSHLibrary.Open Connection    ${mininet}    prompt=${TOOLS_SYSTEM_PROMPT}    timeout=${DEFAULT_TIMEOUT}
     Set Suite Variable    ${mininet_conn_id}
     Utils.Flexible Mininet Login
-    SSHLibrary.Write    java -cp /tmp/agent/simple-agent/target/classes/ org.opendaylight.ocpplugin.OcpAgent ${controller} 1033 ${vendorID} ${serialNumber}
-    SSHLibrary.Read Until    getParamResp
+    SSHLibrary.Write    java -cp /tmp/agent/simple-agent/src/main/java/ org.opendaylight.ocpplugin.OcpAgent ${controller} 1033 ${vendorID} ${serialNumber}
+    SSHLibrary.Read Until   getParamResp
+    [Return]    ${mininet_conn_id}
+
+Start Emulator Multiple
+    [Arguments]    ${mininet}=${TOOLS_SYSTEM_IP}    ${controller}=${ODL_SYSTEM_IP}    ${vendorID}=TST    ${number}=100
+    [Documentation]    Start Agent with custom topology and connect to controller.
+    ${mininet_conn_id}=    SSHLibrary.Open Connection    ${mininet}    prompt=${TOOLS_SYSTEM_PROMPT}    timeout=${DEFAULT_TIMEOUT}
+    Set Suite Variable    ${mininet_conn_id}
+    Utils.Flexible Mininet Login
+    : FOR    ${NODE_NUM}    IN RANGE    1    ${number}
+    \    SSHLibrary.Write    java -cp /tmp/agent/simple-agent/src/main/java/ org.opendaylight.ocpplugin.OcpAgent ${controller} 1033 ${vendorID} ${NODE_NUM} &
+    \    SSHLibrary.Read Until   getParamResp
     [Return]    ${mininet_conn_id}
 
 Stop Emulator And Exit
     [Arguments]    ${mininet_conn_id}
     [Documentation]    Stops Agent and exits session ${mininet_conn_id}
     SSHLibrary.Switch Connection    ${mininet_conn_id}
+    SSHLibrary.Write    pkill -f OcpAgent
     Close Connection
old mode 100644 (file)
new mode 100755 (executable)
index 5873f03..69a91e6
@@ -10,10 +10,9 @@ Library           ../../../libraries/Topology.py
 Resource          ../../../libraries/Utils.robot
 Resource          ../../../libraries/OcpAgentKeywords.robot
 Variables         ../../../variables/Variables.py
+Variables         ../../../variables/ocpplugin/Variables.py
 
 *** Variables ***
-${NODE_ID}        /restconf/operational/opendaylight-inventory:nodes/node/ocp:
-${REST_GET_PARAM}    /restconf/operations/ocp-service:get-param-nb
 
 *** Test Cases ***
 Check if node exist
diff --git a/csit/suites/ocpplugin/scalability/010__ocp_scalability.robot b/csit/suites/ocpplugin/scalability/010__ocp_scalability.robot
new file mode 100755 (executable)
index 0000000..8cec486
--- /dev/null
@@ -0,0 +1,38 @@
+*** Settings ***
+Documentation     Test suite for OCPPLUGIN
+Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
+Suite Teardown    Delete All Sessions
+Library           SSHLibrary
+Library           Collections
+Library           RequestsLibrary
+Library           ../../../libraries/Common.py
+Library           ../../../libraries/Topology.py
+Resource          ../../../libraries/Utils.robot
+Resource          ../../../libraries/OcpAgentKeywords.robot
+Variables         ../../../variables/Variables.py
+Variables         ../../../variables/ocpplugin/Variables.py
+
+*** Variables ***
+${NODE_AMOUNT}    20
+*** Test Cases ***
+Install agent
+    [Documentation]    install agent
+    [Tags]    install
+    OcpAgentKeywords.Install Agent
+
+Create multiple emulators
+    [Documentation]    get inventory node
+    [Tags]    get node
+    ${NODE_AMOUNT}=    Convert To Integer    ${NODE_AMOUNT}
+    ${mininet_conn_id}=    OcpAgentKeywords.Start Emulator Multiple     number=${NODE_AMOUNT+1}
+    ${resp}    Get Request    session   ${NODE_ID}TST-${NODE_AMOUNT}
+    Should Be Equal As Strings    ${resp.status_code}    200
+
+Get param from emulators
+    [Documentation]    OCPPLUGIN  get param
+    [Tags]    OCPPLUGIN get
+    ${NODE_AMOUNT}=    Convert To Integer    ${NODE_AMOUNT}
+    : FOR    ${NODE_NUM}    IN RANGE    1    ${NODE_AMOUNT+1}
+    \    ${resp}    Post Request    session    ${REST_GET_PARAM}    data={"input":{"nodeId":"ocp:TST-${NODE_NUM}","obj":[{"id":"ALL","param":[{"name":"ALL"}]}]}}
+    \    Should Be Equal As Strings    ${resp.status_code}    200
+    Stop Emulator And Exit    ${mininet_conn_id}
\ No newline at end of file
diff --git a/csit/testplans/ocpplugin-scalability.txt b/csit/testplans/ocpplugin-scalability.txt
new file mode 100644 (file)
index 0000000..b7a3d7d
--- /dev/null
@@ -0,0 +1,3 @@
+# Place the suites in run order:
+integration/test/csit/suites/ocpplugin/scalability
+
diff --git a/csit/variables/ocpplugin/Variables.py b/csit/variables/ocpplugin/Variables.py
new file mode 100644 (file)
index 0000000..e1e5abe
--- /dev/null
@@ -0,0 +1,2 @@
+NODE_ID = '/restconf/operational/opendaylight-inventory:nodes/node/ocp:'
+REST_GET_PARAM = '/restconf/operations/ocp-service:get-param-nb'