From: Luis Gomez Date: Thu, 9 Jul 2015 03:51:19 +0000 (-0700) Subject: Modify Longevity test to include only switch scalability test X-Git-Tag: release/helium-sr4~11 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=integration%2Ftest.git;a=commitdiff_plain;h=83966f59c9148c3c1d7b62ded86d8b766d6dde05 Modify Longevity test to include only switch scalability test host scalability involves l2switch (not openflowplugin) link scalability test is not stable yet Change-Id: Ib55ff63aad1fe7d6c1cf73fa0974f458b27fe412 Signed-off-by: Luis Gomez (cherry picked from commit 94f790d2334fa0cc56f12b876fc9b62278c40efa) Change-Id: I9b014830bf49cd9731926d478c842c575f60caf7 Signed-off-by: Luis Gomez --- diff --git a/test/csit/suites/openflowplugin/Longevity/010__longevity_switches.robot b/test/csit/suites/openflowplugin/Longevity/010__longevity_switches.robot new file mode 100644 index 0000000000..ea87cf63c1 --- /dev/null +++ b/test/csit/suites/openflowplugin/Longevity/010__longevity_switches.robot @@ -0,0 +1,65 @@ +*** Settings *** +Documentation Beta Version of the Longevity Test. Currently it does a single test: +... 1. runs one iteration of the switch scale test based on ${NUM_SWITCHES} +... Step 1 runs in a psuedo infinite loop and before each loop is +... run, a time check is made against the ${TEST_LENGTH}. If the test duration +... has expired, the loop is exited and the test is marked PASS +... +... If step 1 fails to reach their configured value of ${NUM_SWITCHES} +... the test will exit immediately and not continue. +Suite Setup Longevity Suite Setup +Suite Teardown Longevity Suite Teardown +Library RequestsLibrary +Library DateTime +Variables ../../../variables/Variables.py +Resource ../../../libraries/Scalability.txt + +*** Variables *** +${NUM_SWITCHES} 200 +${TEST_LENGTH} 2 hours + + +*** Test Cases *** +Longevity Test + [Documentation] Uses switch scalability test functionality in a loop for given period of time + # This loop is not infinite, so going "sufficiently large" for now. + : FOR ${i} IN RANGE 1 65536 + \ ${expiration_flag}= Check If There Is A Reason To Exit Test Or If Duration Has Expired + \ Exit For Loop If "${expiration_flag}" == "True" + \ ${switch_count}= Find Max Switches ${NUM_SWITCHES} ${NUM_SWITCHES} ${NUM_SWITCHES} + \ Check If There Is A Reason To Exit Test Or If Duration Has Expired ${switch_count} ${NUM_SWITCHES} Switch count not correct + +*** Keywords *** +Check If There Is A Reason To Exit Test Or If Duration Has Expired + [Documentation] In order to simplify the main test case, this keyword will make all the neccessary checks + ... to determine if the test should FAIL and quit because of some problem. It will also return a bool to + ... indicate if the requested duration of the longevity test has elapsed. The caller does not have to use + ... that return value. + [Arguments] ${comparator1}=1 ${comparator2}=1 ${comparator_failure_message}=null + Should Be Equal ${comparator1} ${comparator2} ${comparator_failure_message} + Verify Controller Is Not Dead ${CONTROLLER} + ${is_expired}= Check If Test Duration Is Expired + [Return] ${is_expired} + +Check If Test Duration Is Expired + [Documentation] Compares the current time with that of the suite variable ${end_time} to determine if the + ... test duration has expired. + ${test_is_expired}= Set Variable False + ${current_time}= Get Current Date + ${current_time}= Convert Date ${current_time} epoch + ${test_is_expired}= Set Variable If "${current_time}" > "${end_time}" True + [Return] ${test_is_expired} + +Longevity Suite Setup + [Documentation] In addtion to opening the REST session to the controller, the ${end_time} that this + ... test should not exceed is calculated and made in to a suite wide variable. + Create Session session http://${CONTROLLER}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML} + ${start_time}= Get Current Date + ${end_time}= Add Time To Date ${start_time} ${TEST_LENGTH} + ${end_time}= Convert Date ${end_time} epoch + Set Suite Variable ${end_time} + +Longevity Suite Teardown + [Documentation] Any cleanup neccessary to allow this test to be run in a static environment should go here + ... Currently, the same steps needed for the scalability suites should suffice. + Scalability Suite Teardown diff --git a/test/csit/suites/openflowplugin/Longevity/010__longevity.txt b/test/csit/suites/openflowplugin/Longevity/020__longevity_switches_links.robot similarity index 81% rename from test/csit/suites/openflowplugin/Longevity/010__longevity.txt rename to test/csit/suites/openflowplugin/Longevity/020__longevity_switches_links.robot index 204b9b4454..199bb8ec78 100644 --- a/test/csit/suites/openflowplugin/Longevity/010__longevity.txt +++ b/test/csit/suites/openflowplugin/Longevity/020__longevity_switches_links.robot @@ -1,13 +1,13 @@ *** Settings *** Documentation Beta Version of the Longevity Test. Currently: ... 1. runs one iteration of the switch scale test based on ${NUM_SWITCHES} -... 2. runs one iteration of the host scale test based on ${NUM_HOSTS} +... 2. runs one iteration of the link scale test based on ${NUM_LINKS} ... Steps 1 and 2 are run in a psuedo infinite loop and before each loop is ... run, a time check is made against the ${TEST_LENGTH}. If the test duration ... has expired, the loop is exited and the test is marked PASS ... ... If either of steps 1 or 2 fail to reach their configured value of ${NUM_SWITCHES} -... or ${NUM_HOSTS} the test will exit immediately and not continue. +... or ${NUM_LINKS} the test will exit immediately and not continue. Suite Setup Longevity Suite Setup Suite Teardown Longevity Suite Teardown Library RequestsLibrary @@ -16,21 +16,22 @@ Variables ../../../variables/Variables.py Resource ../../../libraries/Scalability.txt *** Variables *** -${NUM_SWITCHES} 50 -${NUM_HOSTS} 200 +${NUM_SWITCHES} 200 +${NUM_LINKS} 20 ${TEST_LENGTH} 2 hours + *** Test Cases *** Longevity Test - [Documentation] Uses switch and host scale test functionality in a loop for given period of time + [Documentation] Uses switch and link scale test functionality in a loop for given period of time # This loop is not infinite, so going "sufficiently large" for now. : FOR ${i} IN RANGE 1 65536 \ ${expiration_flag}= Check If There Is A Reason To Exit Test Or If Duration Has Expired \ Exit For Loop If "${expiration_flag}" == "True" \ ${switch_count}= Find Max Switches ${NUM_SWITCHES} ${NUM_SWITCHES} ${NUM_SWITCHES} \ Check If There Is A Reason To Exit Test Or If Duration Has Expired ${switch_count} ${NUM_SWITCHES} Switch count not correct - \ ${host_count}= Find Max Hosts ${NUM_HOSTS} ${NUM_HOSTS} ${NUM_HOSTS} - \ Check If There Is A Reason To Exit Test Or If Duration Has Expired ${host_count} ${NUM_HOSTS} Host count not correct + \ ${link_count}= Find Max Links ${NUM_LINKS} ${NUM_LINKS} ${NUM_LINKS} + \ Check If There Is A Reason To Exit Test Or If Duration Has Expired ${link_count} ${NUM_LINKS} Link count not correct *** Keywords *** Check If There Is A Reason To Exit Test Or If Duration Has Expired @@ -57,6 +58,11 @@ Longevity Suite Setup [Documentation] In addtion to opening the REST session to the controller, the ${end_time} that this ... test should not exceed is calculated and made in to a suite wide variable. Create Session session http://${CONTROLLER}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML} + ${mininet_conn_id}= Open Connection ${MININET} prompt=${linux_prompt} + Login With Public Key ${MININET_USER} ${USER_HOME}/.ssh/id_rsa any + Log Copying ${CREATE_FULLYMESH_TOPOLOGY_FILE_PATH} file to Mininet VM + Put File ${CURDIR}/../../../${CREATE_FULLYMESH_TOPOLOGY_FILE_PATH} + Close Connection ${start_time}= Get Current Date ${end_time}= Add Time To Date ${start_time} ${TEST_LENGTH} ${end_time}= Convert Date ${end_time} epoch @@ -65,4 +71,4 @@ Longevity Suite Setup Longevity Suite Teardown [Documentation] Any cleanup neccessary to allow this test to be run in a static environment should go here ... Currently, the same steps needed for the scalability suites should suffice. - Scalability Suite Teardown \ No newline at end of file + Scalability Suite Teardown diff --git a/test/csit/testplans/openflowplugin-longevity.txt b/test/csit/testplans/openflowplugin-longevity.txt index 8e1101b56c..d964441578 100644 --- a/test/csit/testplans/openflowplugin-longevity.txt +++ b/test/csit/testplans/openflowplugin-longevity.txt @@ -1,2 +1,2 @@ # Place the suites in run order: -integration/test/csit/suites/openflowplugin/Longevity +integration/test/csit/suites/openflowplugin/Longevity/010__longevity_switches.robot