Bug 7868: Increase timeout for one request in car perf
[integration/test.git] / csit / suites / controller / OneNode_Datastore / 010_crud_mdsal_perf.robot
index 06d841b1fa291acacd194412f73afb3d21077102..314546fa02ccd6b7db70867880eeeb39b09e803d 100644 (file)
@@ -1,7 +1,7 @@
 *** Settings ***
 Documentation     Test for measuring execution time of MD-SAL DataStore operations.
 ...
-...               Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
+...               Copyright (c) 2015-2017 Cisco Systems, Inc. and others. All rights reserved.
 ...
 ...               This program and the accompanying materials are made available under the
 ...               terms of the Eclipse Public License v1.0 which accompanies this distribution,
@@ -12,11 +12,11 @@ Documentation     Test for measuring execution time of MD-SAL DataStore operatio
 ...               operations on people, car and car-people DataStore test models.
 ...               (see the https://wiki.opendaylight.org/view/MD-SAL_Clustering_Test_Plan)
 ...
-...               Reported bugs:
-...               https://bugs.opendaylight.org/show_bug.cgi?id=4220
+...               TODO: Decide whether keyword names should contain spaces or underscores.
 Suite Setup       Start Suite
 Suite Teardown    Stop Suite
 Test Setup        SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
+Test Teardown     SetupUtils.Teardown_Test_Show_Bugs_If_Test_Failed
 Library           RequestsLibrary
 Library           SSHLibrary
 Library           XML
@@ -27,9 +27,9 @@ Resource          ../../../libraries/SetupUtils.robot
 *** Variables ***
 ${ITEM_COUNT}     ${10000}
 ${ITEM_BATCH}     ${10000}
-${PROCEDURE_TIMEOUT}    5m
+${PROCEDURE_TIMEOUT}    11m
 ${addcarcmd}      python cluster_rest_script.py --host ${ODL_SYSTEM_IP} --port ${RESTCONFPORT} add --itemtype car --itemcount ${ITEM_COUNT} --ipr ${ITEM_BATCH}
-${addpeoplecmd}    python cluster_rest_script.py --host ${ODL_SYSTEM_IP} --port ${RESTCONFPORT} add --itemtype people --itemcount ${ITEM_COUNT} --ipr ${ITEM_BATCH}
+${addpeoplecmd}    python cluster_rest_script.py --host ${ODL_SYSTEM_IP} --port ${RESTCONFPORT} add-rpc --itemtype people --itemcount ${ITEM_COUNT} --threads 5
 ${purchasecmd}    python cluster_rest_script.py --host ${ODL_SYSTEM_IP} --port ${RESTCONFPORT} add-rpc --itemtype car-people --itemcount ${ITEM_COUNT} --threads 5
 ${carurl}         /restconf/config/car:cars
 ${peopleurl}      /restconf/config/people:people
@@ -41,7 +41,9 @@ ${TOOL_OPTIONS}    ${EMPTY}
 Add Cars
     [Documentation]    Request to add ${ITEM_COUNT} cars (timeout in ${PROCEDURE_TIMEOUT}).
     Start Tool    ${addcarcmd}    ${TOOL_OPTIONS}
-    Wait Until Tool Finish    ${PROCEDURE_TIMEOUT}
+    ${output}=    Wait Until Tool Finish    ${PROCEDURE_TIMEOUT}
+    BuiltIn.Log    ${output}
+    BuiltIn.Should Not Contain    ${output}    ERROR
 
 Verify Cars
     [Documentation]    Store logs and verify result
@@ -73,10 +75,7 @@ Verify Purchases
     [Documentation]    Store logs and verify result
     Stop Tool
     Store File To Workspace    cluster_rest_script.log    cluster_rest_script_purchase_cars.log
-    ${rsp}=    RequestsLibrary.Get Request    session    ${carpeopleurl}    headers=${ACCEPT_XML}
-    ${count}=    XML.Get Element Count    ${rsp.content}    xpath=car-person
-    Should Be Equal As Numbers    ${count}    ${ITEM_COUNT}
-    [Teardown]    Report_Failure_Due_To_Bug    4220
+    Wait Until Keyword Succeeds    ${PROCEDURE_TIMEOUT}    1    Purchase Is Completed    ${ITEM_COUNT}
 
 Delete Cars
     [Documentation]    Remove cars from the datastore
@@ -101,10 +100,10 @@ Delete CarPeople
 
 *** Keywords ***
 Start Suite
-    [Documentation]    Suite setup keyword
+    [Documentation]    Suite setup keyword.
     SetupUtils.Setup_Utils_For_Setup_And_Teardown
     KarafKeywords.Execute_Controller_Karaf_Command_On_Background    log:set ${CONTROLLER_LOG_LEVEL}
-    ${mininet_conn_id}=    SSHLibrary.Open Connection    ${TOOLS_SYSTEM_IP}    prompt=${DEFAULT_LINUX_PROMPT}    timeout=6s
+    ${mininet_conn_id}=    SSHLibrary.Open Connection    ${TOOLS_SYSTEM_IP}    prompt=${TOOLS_SYSTEM_PROMPT}    timeout=6s
     Builtin.Set Suite Variable    ${mininet_conn_id}
     Utils.Flexible Mininet Login    ${TOOLS_SYSTEM_USER}
     SSHLibrary.Put File    ${CURDIR}/../../../../tools/odl-mdsal-clustering-tests/scripts/cluster_rest_script.py    .
@@ -126,8 +125,15 @@ Start_Tool
 
 Wait_Until_Tool_Finish
     [Arguments]    ${timeout}
-    [Documentation]    Wait ${timeout} for the tool exit.
-    BuiltIn.Wait Until Keyword Succeeds    ${timeout}    1s    SSHLibrary.Read Until Prompt
+    [Documentation]    Wait ${timeout} for the tool exit, return the printed output.
+    BuiltIn.Run Keyword And Return    BuiltIn.Wait Until Keyword Succeeds    ${timeout}    1s    SSHLibrary.Read Until Prompt
+
+Purchase Is Completed
+    [Arguments]    ${item_count}
+    [Documentation]    Check purchase of ${item_count} is completed.
+    ${rsp}=    RequestsLibrary.Get Request    session    ${carpeopleurl}    headers=${ACCEPT_XML}
+    ${count}=    XML.Get Element Count    ${rsp.content}    xpath=car-person
+    Should Be Equal As Numbers    ${count}    ${item_count}
 
 Stop_Tool
     [Documentation]    Stop the tool if still running.