Variables ../../../variables/Variables.py
Resource ../../../libraries/Utils.robot
Resource ../../../libraries/SetupUtils.robot
-Resource ../../../libraries/ClusterKeywords.robot
+Resource ../../../libraries/ClusterManagement.robot
+Resource ../../../libraries/CarPeople.robot
*** Variables ***
${ITEM_COUNT} ${10000}
${carpeopleurl} /restconf/config/car-people:car-people
${CONTROLLER_LOG_LEVEL} INFO
${TOOL_OPTIONS} ${EMPTY}
-${SHARD_CAR_NAME} shard-car-config
-${SHARD_PEOPLE_NAME} shard-people-config
-${SHARD_CAR_PERSON_NAME} shard-car-people-config
*** Test Cases ***
Add Cars
[Documentation] Request to add ${ITEM_COUNT} cars (timeout in ${PROCEDURE_TIMEOUT}).
- ${car_leader}= ClusterKeywords.Get Leader And Verify ${SHARD_CAR_NAME}
- Start Tool ${addcarcmd} --host ${car_leader} ${TOOL_OPTIONS}
+ ${car_leader_ip}= ClusterManagement.Resolve_IP_Address_For_Member member_index=${car_leader_index}
+ Start Tool ${addcarcmd} --host ${car_leader_ip} ${TOOL_OPTIONS}
Wait Until Tool Finish ${PROCEDURE_TIMEOUT}
Verify Cars
[Documentation] Store logs and verify result
Stop Tool
Store File To Workspace cluster_rest_script.log cluster_rest_script_add_cars.log
- ${rsp}= RequestsLibrary.Get Request session ${carurl} headers=${ACCEPT_XML}
+ ${rsp}= RequestsLibrary.Get Request ${car_leader_session} ${carurl} headers=${ACCEPT_XML}
${count}= XML.Get Element Count ${rsp.content} xpath=car-entry
Should Be Equal As Numbers ${count} ${ITEM_COUNT}
Add People
[Documentation] Request to add ${ITEM_COUNT} people (timeout in ${PROCEDURE_TIMEOUT}).
- ${people_leader}= ClusterKeywords.Get Leader And Verify ${SHARD_PEOPLE_NAME}
Start Tool ${addpeoplecmd} --host ${ODL_SYSTEM_1_IP},${ODL_SYSTEM_2_IP},${ODL_SYSTEM_3_IP} ${TOOL_OPTIONS}
Wait Until Tool Finish ${PROCEDURE_TIMEOUT}
[Documentation] Store logs and verify result
Stop Tool
Store File To Workspace cluster_rest_script.log cluster_rest_script_add_people.log
- ${rsp}= RequestsLibrary.Get Request session ${peopleurl} headers=${ACCEPT_XML}
+ ${rsp}= RequestsLibrary.Get Request ${car_leader_session} ${peopleurl} headers=${ACCEPT_XML}
${count}= XML.Get Element Count ${rsp.content} xpath=person
Should Be Equal As Numbers ${count} ${ITEM_COUNT}
Delete Cars
[Documentation] Remove cars from the datastore
- ${rsp}= RequestsLibrary.Delete session ${carurl}
+ ${rsp}= RequestsLibrary.Delete Request ${car_leader_session} ${carurl}
Should Be Equal As Numbers 200 ${rsp.status_code}
- ${rsp}= RequestsLibrary.Get Request session ${carurl}
+ ${rsp}= RequestsLibrary.Get Request ${car_leader_session} ${carurl}
Should Be Equal As Numbers 404 ${rsp.status_code}
Delete People
[Documentation] Remove people from the datastore
- ${rsp}= RequestsLibrary.Delete session ${peopleurl}
+ ${rsp}= RequestsLibrary.Delete Request ${car_leader_session} ${peopleurl}
Should Be Equal As Numbers 200 ${rsp.status_code}
- ${rsp}= RequestsLibrary.Get Request session ${peopleurl}
+ ${rsp}= RequestsLibrary.Get Request ${car_leader_session} ${peopleurl}
Should Be Equal As Numbers 404 ${rsp.status_code}
Delete CarPeople
[Documentation] Remove car-people entries from the datastore
- ${rsp}= RequestsLibrary.Delete session ${carpeopleurl}
+ ${rsp}= RequestsLibrary.Delete Request ${car_leader_session} ${carpeopleurl}
Should Be Equal As Numbers 200 ${rsp.status_code}
- ${rsp}= RequestsLibrary.Get Request session ${carpeopleurl}
+ ${rsp}= RequestsLibrary.Get Request ${car_leader_session} ${carpeopleurl}
Should Be Equal As Numbers 404 ${rsp.status_code}
*** Keywords ***
Start Suite
[Documentation] Suite setup keyword
SetupUtils.Setup_Utils_For_Setup_And_Teardown
+ ClusterManagement.ClusterManagement_Setup
+ CarPeople.Set_Variables_For_Shard shard_name=car
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
Builtin.Set Suite Variable ${mininet_conn_id}
SSHLibrary.Put File ${CURDIR}/../../../../tools/odl-mdsal-clustering-tests/scripts/cluster_rest_script.py .
${stdout} ${stderr} ${rc}= SSHLibrary.Execute Command ls return_stdout=True return_stderr=True
... return_rc=True
- RequestsLibrary.Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH}
Stop Suite
[Documentation] Suite teardown keyword
Purchase Is Completed
[Arguments] ${item_count}
[Documentation] Check purchase of ${item_count} is completed.
- ${rsp}= RequestsLibrary.Get Request session ${carpeopleurl} headers=${ACCEPT_XML}
+ ${rsp}= RequestsLibrary.Get Request ${car_leader_session} ${carpeopleurl} headers=${ACCEPT_XML}
${count}= XML.Get Element Count ${rsp.content} xpath=car-person
Should Be Equal As Numbers ${count} ${item_count}