... - Deconfigure the devices one by one.
Suite Setup Setup_Everything
Suite Teardown Teardown_Everything
+Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
Library Collections
Library String
Library SSHLibrary timeout=10s
Resource ${CURDIR}/../../../libraries/KarafKeywords.robot
Resource ${CURDIR}/../../../libraries/NetconfKeywords.robot
Resource ${CURDIR}/../../../libraries/SetupUtils.robot
-Resource ${CURDIR}/../../../libraries/Utils.robot
+Resource ${CURDIR}/../../../libraries/SSHKeywords.robot
Variables ${CURDIR}/../../../variables/Variables.py
*** Variables ***
${DEVICE_COUNT} 500
${WORKER_COUNT} 10
+${TIMEOUT_FACTOR} 10
${device_name_base} netconf-scaling-device
+${device_type} full-uri-device
${base_port} 17830
*** 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} mdsal=false
+ NetconfKeywords.Install_And_Start_Testtool device-count=${DEVICE_COUNT}
Configure_Devices_On_Netconf
[Documentation] Make requests to configure the testtool devices.
- ${timeout}= BuiltIn.Evaluate ${DEVICE_COUNT}*10
+ ${timeout}= BuiltIn.Evaluate ${DEVICE_COUNT}*${TIMEOUT_FACTOR}
NetconfKeywords.Perform_Operation_On_Each_Device Configure_Device timeout=${timeout}
Wait_For_Devices_To_Connect
[Documentation] Wait for the devices to become connected.
- ${timeout}= BuiltIn.Evaluate ${DEVICE_COUNT}*10
+ ${timeout}= BuiltIn.Evaluate ${DEVICE_COUNT}*${TIMEOUT_FACTOR}
NetconfKeywords.Perform_Operation_On_Each_Device Wait_Connected timeout=${timeout}
Issue_Requests_On_Devices
[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}
- Utils.Flexible_Mininet_Login
+ 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
- Restore Current SSH Connection From Index ${current_ssh_connection.index}
+ 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}*10
+ ${timeout}= BuiltIn.Evaluate ${DEVICE_COUNT}*${TIMEOUT_FACTOR}
NetconfKeywords.Perform_Operation_On_Each_Device 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}*10
+ ${timeout}= BuiltIn.Evaluate ${DEVICE_COUNT}*${TIMEOUT_FACTOR}
NetconfKeywords.Perform_Operation_On_Each_Device Check_Device_Deconfigured timeout=${timeout}
*** Keywords ***
SSHLibrary.Set_Default_Configuration prompt=${TOOLS_SYSTEM_PROMPT}
SetupUtils.Setup_Utils_For_Setup_And_Teardown
NetconfKeywords.Setup_Netconf_Keywords
- # Connect to the tools machine
- SSHLibrary.Open_Connection ${TOOLS_SYSTEM_IP}
- Utils.Flexible_Mininet_Login
- # Deploy testing tools on it.
+ # Deploy testing tools.
SSHLibrary.Put_File ${CURDIR}/../../../../tools/netconf_tools/getter.py
SSHLibrary.Put_File ${CURDIR}/../../../libraries/AuthStandalone.py
+ ${device_type}= BuiltIn.Set_Variable_If ${USE_NETCONF_CONNECTOR}==${True} default ${device_type}
+ BuiltIn.Set_Suite_Variable ${device_type}
Teardown_Everything
[Documentation] Teardown the test infrastructure, perform cleanup and release all resources.
- Teardown_Netconf_Via_Restconf
RequestsLibrary.Delete_All_Sessions
NetconfKeywords.Stop_Testtool
[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_port=${current_port}
+ 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