*** Test Cases ***
Start_Test_Tool
[Documentation] Deploy and start test tool, then wait for all its devices to become online.
- NetconfKeywords.Install_And_Start_Testtool device-count=${DEVICE_COUNT}
+ Run Keyword If '${IS_KARAF_APPL}' == 'True' NetconfKeywords.Install_And_Start_Testtool device-count=${DEVICE_COUNT}
+ ... ELSE NetconfKeywords.Start_Testtool ${NETCONF_FILENAME} device-count=${DEVICE_COUNT}
Configure_Devices_On_Netconf
[Documentation] Make requests to configure the testtool devices.
${timeout}= BuiltIn.Evaluate ${DEVICE_COUNT}*${TIMEOUT_FACTOR}
- NetconfKeywords.Perform_Operation_On_Each_Device Configure_Device timeout=${timeout}
+ NetconfKeywords.Perform_Operation_On_Each_Device NetconfKeywords.Configure_Device timeout=${timeout}
Wait_For_Devices_To_Connect
[Documentation] Wait for the devices to become connected.
${timeout}= BuiltIn.Evaluate ${DEVICE_COUNT}*${TIMEOUT_FACTOR}
- NetconfKeywords.Perform_Operation_On_Each_Device Wait_Connected timeout=${timeout}
+ NetconfKeywords.Perform_Operation_On_Each_Device NetconfKeywords.Wait_Connected timeout=${timeout}
Issue_Requests_On_Devices
+ # FIXME: this test case is a keyword and nearly duplicated in the max_devices.robot suite. need to move it to a common lib
[Documentation] Spawn the specified count of worker threads to issue a GET request to each of the devices.
${current_ssh_connection}= SSHLibrary.Get Connection
SSHLibrary.Open_Connection ${TOOLS_SYSTEM_IP}
SSHKeywords.Flexible_Mininet_Login
SSHLibrary.Write python getter.py --odladdress=${ODL_SYSTEM_IP} --count=${DEVICE_COUNT} --name=${device_name_base} --workers=${WORKER_COUNT}
- : FOR ${number} IN RANGE 1 ${DEVICE_COUNT}+1
- \ Read_Python_Tool_Operation_Result ${number}
+ FOR ${number} IN RANGE 1 ${DEVICE_COUNT}+1
+ Read_Python_Tool_Operation_Result ${number}
+ END
SSHLibrary.Read_Until_Prompt
SSHLibrary.Close_Connection
SSHKeywords.Restore Current SSH Connection From Index ${current_ssh_connection.index}
Deconfigure_Devices
[Documentation] Make requests to deconfigure the testtool devices.
${timeout}= BuiltIn.Evaluate ${DEVICE_COUNT}*${TIMEOUT_FACTOR}
- NetconfKeywords.Perform_Operation_On_Each_Device Deconfigure_Device timeout=${timeout}
+ NetconfKeywords.Perform_Operation_On_Each_Device NetconfKeywords.Deconfigure_Device timeout=${timeout}
[Teardown] Report_Failure_Due_To_Bug 4547
Check_Devices_Are_Deconfigured
[Documentation] Check there are no netconf connectors or other stuff related to the testtool devices.
${timeout}= BuiltIn.Evaluate ${DEVICE_COUNT}*${TIMEOUT_FACTOR}
- NetconfKeywords.Perform_Operation_On_Each_Device Check_Device_Deconfigured timeout=${timeout}
+ NetconfKeywords.Perform_Operation_On_Each_Device NetconfKeywords.Check_Device_Deconfigured timeout=${timeout}
*** Keywords ***
Setup_Everything
[Documentation] Setup everything needed for the test cases.
# Setup resources used by the suite.
- RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${OPERATIONAL_API} auth=${AUTH}
+ RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${REST_API} auth=${AUTH}
SSHLibrary.Set_Default_Configuration prompt=${TOOLS_SYSTEM_PROMPT}
SetupUtils.Setup_Utils_For_Setup_And_Teardown
NetconfKeywords.Setup_Netconf_Keywords
RequestsLibrary.Delete_All_Sessions
NetconfKeywords.Stop_Testtool
-Configure_Device
- [Arguments] ${current_name}
- [Documentation] Operation for configuring the device.
- KarafKeywords.Log_Message_To_Controller_Karaf Configuring device ${current_name} to Netconf
- NetconfKeywords.Configure_Device_In_Netconf ${current_name} device_type=${device_type} device_port=${current_port}
- KarafKeywords.Log_Message_To_Controller_Karaf Device ${current_name} configured
-
-Wait_Connected
- [Arguments] ${current_name}
- [Documentation] Operation for waiting until the device is connected.
- KarafKeywords.Log_Message_To_Controller_Karaf Waiting for device ${current_name} to connect
- NetconfKeywords.Wait_Device_Connected ${current_name} period=0.5s timeout=120s
- KarafKeywords.Log_Message_To_Controller_Karaf Device ${current_name} connected
-
Read_Python_Tool_Operation_Result
[Arguments] ${number}
[Documentation] Read and process a report line emitted from the Python tool that corresponds to the device with the given number.
${ellapsed}= Collections.Get_From_List ${test} 3
BuiltIn.Log DATA REQUEST RESULT: Device=${number} StartTime=${start} StopTime=${stop} EllapsedTime=${ellapsed}
${data}= Collections.Get_From_List ${test} 4
- ${expected}= BuiltIn.Set_Variable '<data xmlns="${ODL_NETCONF_NAMESPACE}"></data>'
+ ${expected}= Run Keyword If '${IS_KARAF_APPL}' == 'True' BuiltIn.Set_Variable '<data xmlns="${ODL_NETCONF_NAMESPACE}"></data>'
+ ... ELSE Set Variable '<data xmlns="${ODL_NETCONF_NAMESPACE}"/>'
BuiltIn.Should_Be_Equal_As_Strings ${data} ${expected}
-
-Deconfigure_Device
- [Arguments] ${current_name}
- [Documentation] Operation for deconfiguring the device.
- KarafKeywords.Log_Message_To_Controller_Karaf Deconfiguring device ${current_name}
- NetconfKeywords.Remove_Device_From_Netconf ${current_name}
- KarafKeywords.Log_Message_To_Controller_Karaf Device ${current_name} deconfigured
-
-Check_Device_Deconfigured
- [Arguments] ${current_name}
- [Documentation] Operation for making sure the device is really deconfigured.
- KarafKeywords.Log_Message_To_Controller_Karaf Waiting for device ${current_name} to disappear
- NetconfKeywords.Wait_Device_Fully_Removed ${current_name} period=0.5s timeout=120s
- KarafKeywords.Log_Message_To_Controller_Karaf Device ${current_name} removed