From: Luis Gomez Date: Tue, 5 May 2015 18:29:12 +0000 (+0000) Subject: Merge "TSDR HBase and H2 DataStore Integrations Test suites and following review... X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=ecfe166ad20dd85ad72d6689cb30648bf5047b33;hp=253e8971c549115c060df1d8c087ecd8d789d545;p=integration%2Ftest.git Merge "TSDR HBase and H2 DataStore Integrations Test suites and following review comments are addressed 1.Space on leading and trailing on script 2.Reusage KarafKeyword has been written 3.Utils.txt suiteSetup has been utilized 4.Seperated the Hbase Client installation to Controller.sh 5.Updated the Variable.py with common Karaf variables" --- diff --git a/test/csit/libraries/Utils.txt b/test/csit/libraries/Utils.txt index 73517c5a80..f1a80d1fc1 100644 --- a/test/csit/libraries/Utils.txt +++ b/test/csit/libraries/Utils.txt @@ -90,6 +90,11 @@ Check For Elements Not At URI : FOR ${i} IN @{elements} \ Should Not Contain ${resp.content} ${i} +Clean Mininet System + [Arguments] ${mininet_system}=${MININET} + Run Command On Remote System ${mininet_system} sudo mn -c + Run Command On Remote System ${mininet_system} sudo ps -elf | egrep 'usr/local/bin/mn' | egrep python | awk '{print "sudo kill -9",$4}' | sh + Extract Value From Content [Arguments] ${content} ${index} ${strip}=nostrip [Documentation] Will take the given response content and return the value at the given index as a string diff --git a/test/csit/suites/openflowplugin/Maximum_Switches/010__finding_max_switches.txt b/test/csit/suites/openflowplugin/Maximum_Switches/010__finding_max_switches.txt index 21c13b7b64..d3d3f71be4 100644 --- a/test/csit/suites/openflowplugin/Maximum_Switches/010__finding_max_switches.txt +++ b/test/csit/suites/openflowplugin/Maximum_Switches/010__finding_max_switches.txt @@ -1,7 +1,7 @@ *** Settings *** Documentation Test suite for finding out max number of switches Suite Setup Create Session session http://${CONTROLLER}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML} -Suite Teardown Delete All Sessions +Suite Teardown Scalability Suite Teardown Library OperatingSystem Library ../../../libraries/RequestsLibrary.py Variables ../../../variables/Variables.py @@ -20,3 +20,8 @@ Find Max Switches ${max-switches} Find Max Switches ${MIN_SWITCHES} ${MAX_SWITCHES} ${STEP_SWITCHES} Log ${max-switches} Append To File ${SWITCHES_RESULT_FILE} ${max-switches}\n + +*** Keywords *** +Scalability Suite Teardown + Delete All Sessions + Clean Mininet System \ No newline at end of file diff --git a/test/csit/suites/openflowplugin/Performance/010_Cbench.robot b/test/csit/suites/openflowplugin/Performance/010_Cbench.robot index 3146390261..bad5e3390c 100644 --- a/test/csit/suites/openflowplugin/Performance/010_Cbench.robot +++ b/test/csit/suites/openflowplugin/Performance/010_Cbench.robot @@ -5,6 +5,7 @@ Documentation Cbench Latency and Throughput tests can be run from an externa ... the normal openflow operations seem to break. ... BUG: https://bugs.opendaylight.org/show_bug.cgi?id=2897 Suite Setup Cbench Suite Setup +Test Teardown Log Results As Zero If Cbench Timed Out Force Tags cbench Library String Resource ../../../libraries/Utils.txt @@ -24,14 +25,6 @@ ${throughput_results_file} throughput.csv ${latency_results_file} latency.csv *** Testcases *** -Cbench Throughput Test - [Documentation] cbench executed in throughput mode (-t). Test parameters have defaults, but can be overridden - ... on the pybot command line - [Tags] throughput - [Timeout] ${test_timeout} - Log Cbench tests using ${loops} iterations of ${duration_in_secs} second tests. Switch Count: ${switch_count}. Unique MACS to cycle: ${num_of_unique_macs} - Run Cbench And Log Results -t -m ${duration_in_ms} -M ${num_of_unique_macs} -s ${switch_count} -l ${loops} ${throughput_threshold} ${throughput_results_file} - Cbench Latency Test [Documentation] cbench executed in default latency mode. Test parameters have defaults, but can be overridden ... on the pybot command line @@ -40,10 +33,22 @@ Cbench Latency Test Log Cbench tests using ${loops} iterations of ${duration_in_secs} second tests. Switch Count: ${switch_count}. Unique MACS to cycle: ${num_of_unique_macs} Run Cbench And Log Results -m ${duration_in_ms} -M ${num_of_unique_macs} -s ${switch_count} -l ${loops} ${latency_threshold} ${latency_results_file} +Cbench Throughput Test + [Documentation] cbench executed in throughput mode (-t). Test parameters have defaults, but can be overridden + ... on the pybot command line + [Tags] throughput + [Timeout] ${test_timeout} + Log Cbench tests using ${loops} iterations of ${duration_in_secs} second tests. Switch Count: ${switch_count}. Unique MACS to cycle: ${num_of_unique_macs} + Run Cbench And Log Results -t -m ${duration_in_ms} -M ${num_of_unique_macs} -s ${switch_count} -l ${loops} ${throughput_threshold} ${throughput_results_file} + *** Keywords *** Run Cbench And Log Results [Arguments] ${cbench_args} ${average_threshold} ${output_filename}=results.csv - ${output}= Run Command On Remote System ${cbench_system} ${cbench_executable} -c ${CONTROLLER} ${cbench_args} prompt_timeout=${test_timeout} + ##If the cbench command fails to return, the keyword to run it will time out. The test tear + ##down can catch this problem and log the results as zero. However, we need to know which + ##file to log to, so setting it as a suite variable here. + Set Suite Variable ${output_filename} + ${output}= Run Command On Remote System ${cbench_system} ${cbench_executable} -c ${CONTROLLER} ${cbench_args} prompt_timeout=${test_timeout} Log ${output} Should Contain ${output} RESULT ${result_line}= Get Lines Containing String ${output} RESULT @@ -61,8 +66,7 @@ Run Cbench And Log Results ${stdev}= Set Variable ${result_value_list[${3}]} ${date}= Get Time d,m,s Log CBench Result: ${date},${cbench_args},${min},${max},${average},${stdev} - Append To File ${output_filename} ${min},${max},${average}\n - Should Be True ${average} > ${average_threshold} ${average} flow_mods per/sec did not exceed threshold of ${average_threshold} + Log Results And Determine Status ${min} ${max} ${average} ${average_threshold} ${output_filename} Cbench Suite Setup Append To File ${latency_results_file} LATENCY_MIN,LATENCY_MAX,LATENCY_AVERAGE\n @@ -76,3 +80,11 @@ Cbench Suite Setup Should Be True ${loops} >= 2 If number of loops is less than 2, cbench will not run Verify Feature Is Installed odl-openflowplugin-drop-test Issue Command On Karaf Console dropallpacketsrpc on + +Log Results And Determine Status + [Arguments] ${min} ${max} ${average} ${threshold} ${output_file} + Append To File ${output_file} ${min},${max},${average}\n + Should Be True ${average} > ${threshold} ${average} flow_mods per/sec did not exceed threshold of ${threshold} + +Log Results As Zero If Cbench Timed Out + Run Keyword If Timeout Occurred Log Results And Determine Status 0 0 0 0 ${output_filename} \ No newline at end of file diff --git a/test/csit/testplans/openflowplugin-config-performance-lithium-redesign.txt b/test/csit/testplans/openflowplugin-config-performance-lithium-redesign.txt new file mode 100644 index 0000000000..fd9f22e8fd --- /dev/null +++ b/test/csit/testplans/openflowplugin-config-performance-lithium-redesign.txt @@ -0,0 +1,2 @@ +# Place the suites in run order: +integration/test/csit/suites/openflowplugin/Performance_Flow_Config/010_Rest_Config_Flows.robot