X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fopenflowplugin%2FPerformance_Flow_Config%2F080_Rpc_100k_Flows_Configuration_Time_Measure.robot;h=97a9163e1d2be35173dcf980a670c2ccb7f5e898;hb=HEAD;hp=c794ef9a50a114cb04bca9553714e6bea7e94227;hpb=e6f155d7494588cede1382d4c075b2b0658a9a2f;p=integration%2Ftest.git diff --git a/csit/suites/openflowplugin/Performance_Flow_Config/080_Rpc_100k_Flows_Configuration_Time_Measure.robot b/csit/suites/openflowplugin/Performance_Flow_Config/080_Rpc_100k_Flows_Configuration_Time_Measure.robot index c794ef9a50..97a9163e1d 100644 --- a/csit/suites/openflowplugin/Performance_Flow_Config/080_Rpc_100k_Flows_Configuration_Time_Measure.robot +++ b/csit/suites/openflowplugin/Performance_Flow_Config/080_Rpc_100k_Flows_Configuration_Time_Measure.robot @@ -1,30 +1,36 @@ *** Settings *** -Documentation Suite to measure setup reate using add-flows-rpc operation -Suite Setup Create Http Session And Upload Files -Suite Teardown Delete Http Session And Store Plot Data -Library OperatingSystem -Library XML -Library SSHLibrary -Variables ../../../variables/Variables.py -Library RequestsLibrary -Library ../../../libraries/Common.py -Library ../../../libraries/ScaleClient.py +Documentation Suite to measure setup reate using add-flows-rpc operation + +Library OperatingSystem +Library XML +Library SSHLibrary +Library RequestsLibrary +Library ../../../libraries/Common.py +Library ../../../libraries/ScaleClient.py +Variables ../../../variables/Variables.py +Resource ../../../variables/openflowplugin/Variables.robot + +Suite Setup Create Http Session And Upload Files +Suite Teardown Delete Http Session And Store Plot Data + *** Variables *** -${swnr} 63 -${flnr} 100000 -${fpr} 25 -${nrthreads} 5 -${swspread} linear -${tabspread} first -@{cntls} ${ODL_SYSTEM_IP} -${start_cmd} sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --topo linear,${swnr} --switch ovsk,protocols=OpenFlow13 -${getf_cmd} sh ./get-total-found.sh -${getr_cmd} sh ./get-total-reported.sh -${iperiod} 1s -${ichange} 450s -${outfile} flows_setup_time.csv -${setuptime} 0 +${swnr} 63 +${flnr} 100000 +${fpr} 25 +${nrthreads} 5 +${swspread} linear +${tabspread} first +@{cntls} ${ODL_SYSTEM_IP} +${start_cmd} +... sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --topo linear,${swnr} --switch ovsk,protocols=OpenFlow13 +${getf_cmd} sh ./get-total-found.sh +${getr_cmd} sh ./get-total-reported.sh +${iperiod} 1s +${ichange} 450s +${outfile} flows_setup_time.csv +${setuptime} 0 + *** Test Cases *** Connect Mininet @@ -32,10 +38,18 @@ Connect Mininet Configure Flows [Documentation] Setup of ${flnr} flows using rpc calls - ${flows} ${notes}= Generate New Flow Details flows=${flnr} switches=${swnr} swspread=${swspread} tabspread=${tabspread} + ${flows} ${notes}= Generate New Flow Details + ... flows=${flnr} + ... switches=${swnr} + ... swspread=${swspread} + ... tabspread=${tabspread} Log ${notes} ${starttime}= Get Time epoch - ${res}= Operations Add Flows Rpc flow_details=${flows} controllers=@{cntls} nrthreads=${nrthreads} fpr=${fpr} + ${res}= Operations Add Flows Rpc + ... flow_details=${flows} + ... controllers=@{cntls} + ... nrthreads=${nrthreads} + ... fpr=${fpr} Log ${res} Set Suite Variable ${flows} ${http200ok}= Create List ${200} @@ -50,7 +64,11 @@ Wait Stats Collected Deconfigure Flows [Documentation] Flows deconfiguration - ${res}= Operations Remove Flows Rpc flow_details=${flows} controllers=@{cntls} nrthreads=${nrthreads} fpr=${fpr} + ${res}= Operations Remove Flows Rpc + ... flow_details=${flows} + ... controllers=@{cntls} + ... nrthreads=${nrthreads} + ... fpr=${fpr} Log ${res} ${http200ok}= Create List ${200} ${validation}= Validate Responses ${res} ${http200ok} @@ -64,12 +82,13 @@ Check No Flows In Operational After Remove Stop Mininet End Stop Switches + *** Keywords *** Connect Switches [Documentation] Starts mininet with requested number of switches (${swnr}) Log Starting mininet with ${swnr} switches - Open Connection ${MININET} prompt=${DEFAULT_LINUX_PROMPT} timeout=600 - Login With Public Key ${MININET_USER} ${USER_HOME}/.ssh/${SSH_KEY} any + Open Connection ${TOOLS_SYSTEM_IP} prompt=${TOOLS_SYSTEM_PROMPT} timeout=600 + Login With Public Key ${TOOLS_SYSTEM_USER} ${USER_HOME}/.ssh/${SSH_KEY} any Execute Command sudo ovs-vsctl set-manager ptcp:6644 Execute Command sudo mn -c Write ${start_cmd} @@ -78,8 +97,8 @@ Connect Switches Create Http Session And Upload Files Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML} - Open Connection ${MININET} prompt=${DEFAULT_LINUX_PROMPT} timeout=600 - Login With Public Key ${MININET_USER} ${USER_HOME}/.ssh/${SSH_KEY} any + Open Connection ${TOOLS_SYSTEM_IP} prompt=${TOOLS_SYSTEM_PROMPT} timeout=600 + Login With Public Key ${TOOLS_SYSTEM_USER} ${USER_HOME}/.ssh/${SSH_KEY} any Put File ${CURDIR}/../../../../tools/odl-mdsal-clustering-tests/clustering-performance-test/ovs-scripts/* ./ Close Connection @@ -88,7 +107,7 @@ Stop Switches Log Stopping mininet Read Write exit - Read Until ${DEFAULT_LINUX_PROMPT} + Read Until ${TOOLS_SYSTEM_PROMPT} Close Connection Delete Http Session And Store Plot Data @@ -99,29 +118,29 @@ Delete Http Session And Store Plot Data Are Switches Connected Topo [Documentation] Checks wheather switches are connected to controller - ${resp}= Get session ${OPERATIONAL_TOPO_API}/topology/flow:1 headers=${ACCEPT_XML} + ${resp}= GET On Session session url=${RFC8040_OPERATIONAL_TOPO_FLOW1_API} headers=${ACCEPT_XML} Log ${resp.content} ${count}= Get Element Count ${resp.content} xpath=node Should Be Equal As Numbers ${count} ${swnr} Check Flows Inventory - [Arguments] ${rswitches} ${rflows} [Documentation] Checks in inventory has required state + [Arguments] ${rswitches} ${rflows} ${sw} ${repf} ${foundf}= Flow Stats Collected controller=${ODL_SYSTEM_IP} Should Be Equal As Numbers ${rswitches} ${sw} Should Be Equal As Numbers ${rflows} ${foundf} Save Setup Time - [Arguments] ${starttime} [Documentation] Count the difference and stores it + [Arguments] ${starttime} ${endtime}= Get Time epoch Log Stats collection finished at time ${endtime} ${setuptime}= Evaluate int(${endtime})-int(${starttime}) Set Suite Variable ${setuptime} Inventory Change Reached - [Arguments] ${rswitches} ${rflows} [Documentation] This keywordwaits till inventory reaches required state + [Arguments] ${rswitches} ${rflows} Wait Until Keyword Succeeds ${ichange} ${iperiod} Check Flows Inventory ${rswitches} ${rflows} Log Switch Details