*** Variables ***
${MAX_HEAP} 1G
-${TESTTOOL_DEFAULT_JAVA_OPTIONS} -Xmx${MAX_HEAP}
+${TESTTOOL_DEFAULT_JAVA_OPTIONS} -Xmx${MAX_HEAP} -Djava.security.egd=file:/dev/./urandom
${DIRECTORY_WITH_DEVICE_TEMPLATES} ${CURDIR}/../variables/netconf/device
${FIRST_TESTTOOL_PORT} 17830
${BASE_NETCONF_DEVICE_PORT} 17830
${DEVICE_NAME_BASE} netconf-scaling-device
${TESTTOOL_BOOT_TIMEOUT} 60s
${ENABLE_NETCONF_TEST_TIMEOUT} ${ENABLE_GLOBAL_TEST_DEADLINES}
+${SSE_CFG_FILE} ${WORKSPACE}/${BUNDLEFOLDER}/etc/org.opendaylight.restconf.nb.rfc8040.cfg
*** Keywords ***
Setup_NetconfKeywords
[Documentation] Operation for configuring the device in the Netconf subsystem and connecting to it.
Configure_Device ${current_name} ${log_response}
KarafKeywords.Log_Message_To_Controller_Karaf Waiting for device ${current_name} to connect
- Wait_Device_Connected ${current_name} period=0.5s
+ Wait_Device_Connected ${current_name} period=0.5s log_response=${log_response}
KarafKeywords.Log_Message_To_Controller_Karaf Device ${current_name} connected
Count_Netconf_Connectors_For_Device
[Arguments] ${current_name} ${log_response}=True
[Documentation] Operation for waiting until the device is connected.
KarafKeywords.Log_Message_To_Controller_Karaf Waiting for device ${current_name} to connect
- Wait_Device_Connected ${current_name} period=0.5s timeout=300s
+ Wait_Device_Connected ${current_name} period=0.5s timeout=300s log_response=${log_response}
KarafKeywords.Log_Message_To_Controller_Karaf Device ${current_name} connected
Check_Device_Has_No_Netconf_Connector
[Documentation] Check that the specified device has no Netconf connectors nor associated data.
Check_Device_Has_No_Netconf_Connector ${device_name} session=${session}
${uri} = Restconf.Generate URI network-topology:network-topology config topology=topology-netconf node=${device_name}
- ${status} ${response}= BuiltIn.Run_Keyword_And_Ignore_Error TemplatedRequests.Get_As_Xml_From_Uri ${uri} session=${session} log_response=${log_response}
- BuiltIn.Should_Be_Equal_As_Strings ${status} FAIL
- BuiltIn.Should_Contain ${response} ${DELETED_STATUS_CODES}
+ Utils.No Content From URI ${session} ${uri}
Check_Device_Connected
[Arguments] ${device_name} ${session}=default ${log_response}=True
Install_And_Start_Testtool
[Arguments] ${device-count}=10 ${debug}=true ${schemas}=none ${rpc_config}=none ${tool_options}=${EMPTY} ${java_options}=${TESTTOOL_DEFAULT_JAVA_OPTIONS}
- ... ${mdsal}=true
+ ... ${mdsal}=true ${log_response}=True
[Documentation] Install and run testtool.
${filename}= NexusKeywords.Deploy_Test_Tool netconf netconf-testtool
Start_Testtool ${filename} ${device-count} ${debug} ${schemas} ${rpc_config} ${tool_options}
- ... ${java_options} ${mdsal}
+ ... ${java_options} ${mdsal} log_response=${log_response}
Start_Testtool
[Arguments] ${filename} ${device-count}=10 ${debug}=true ${schemas}=none ${rpc_config}=none ${tool_options}=${EMPTY}
- ... ${java_options}=${TESTTOOL_DEFAULT_JAVA_OPTIONS} ${mdsal}=true
+ ... ${java_options}=${TESTTOOL_DEFAULT_JAVA_OPTIONS} ${mdsal}=true ${log_response}=True
[Documentation] Arrange to collect tool's output into a log file.
... Will use specific ${schemas} unless argument resolves to 'none',
... which signifies that there are no additional schemas to be deployed.
# Store information needed by other keywords.
BuiltIn.Set_Suite_Variable ${NetconfKeywords__testtool_device_count} ${device-count}
# Wait for the testtool to boot up.
- Perform_Operation_On_Each_Device NetconfKeywords__Wait_Device_Is_Up_And_Running
+ Perform_Operation_On_Each_Device NetconfKeywords__Wait_Device_Is_Up_And_Running log_response=${log_response}
Check_Device_Up_And_Running
[Arguments] ${device-number}
BuiltIn.Set_Suite_Variable ${current_port} ${next}
Perform_Operation_On_Each_Device
- [Arguments] ${operation} ${count}=${NetconfKeywords__testtool_device_count} ${timeout}=30m ${log_response}=True
+ [Arguments] ${operation} ${count}=${NetconfKeywords__testtool_device_count} ${timeout}=45m ${log_response}=True
${current_Date}= DateTime.Get_Current_Date
${deadline_Date}= DateTime.Add_Time_To_Date ${current_Date} ${timeout}
BuiltIn.Set_Suite_Variable ${current_port} ${BASE_NETCONF_DEVICE_PORT}
BuiltIn.Repeat_Keyword ${count} times NetconfKeywords__Perform_Operation_With_Checking_On_Next_Device ${operation} ${deadline_Date} log_response=${log_response}
+
+Disable SSE On Controller
+ [Arguments] ${controller_ip}
+ [Documentation] Sets the config for using SSE (Server Side Events) to false. Note that
+ ... this keyword only changes the config. A controller restart is needed for the config to
+ ... to take effect.
+ SSHLibrary.Open Connection ${controller_ip}
+ Login With Public Key ${ODL_SYSTEM_USER} ${USER_HOME}/.ssh/${SSH_KEY} any
+ ${cmd}= Set Variable echo "use-sse=false" > ${SSE_CFG_FILE}
+ SSHLibrary.Execute Command ${cmd}
+ SSHLibrary.Close Connection
+
+Enable SSE On Controller
+ [Arguments] ${controller_ip}
+ [Documentation] Sets the config for using SSE (Server Side Events) to true. Note that
+ ... this keyword only changes the config. A controller restart is needed for the config to
+ ... to take effect.
+ SSHLibrary.Open Connection ${controller_ip}
+ Login With Public Key ${ODL_SYSTEM_USER} ${USER_HOME}/.ssh/${SSH_KEY} any
+ ${cmd}= Set Variable echo "use-sse=true" > ${SSE_CFG_FILE}
+ SSHLibrary.Execute Command ${cmd}
+ SSHLibrary.Close Connection