Adding verify controller log to scalability test.
[integration/test.git] / test / csit / libraries / Utils.txt
index 913ba22c08bddba1cbbd770df8ffc98431ad8b6f..0d2a6d8b5615e674f5353086ed85ff285368ac54 100644 (file)
@@ -1,6 +1,7 @@
 *** Settings ***
 Library           SSHLibrary
 Library           ./UtilLibrary.py
+Resource          KarafKeywords.txt
 
 *** Variables ***
 ${start}          sudo mn --controller=remote,ip=${CONTROLLER} --topo tree,1 --switch ovsk,protocols=OpenFlow13
@@ -104,3 +105,30 @@ Strip Quotes
     [Documentation]    Will strip ALL quotes from given string and return the new string
     ${string_to_return}=    Replace String    ${string_to_strip}    "    \    count=-1
     [Return]    ${string_to_return}
+
+Run Command On Remote System
+    [Arguments]     ${remote_system}    ${cmd}  ${user}=${MININET_USER}    ${prompt}=${LINUX_PROMPT}   ${prompt_timeout}=30s
+    [Documentation]     Reduces the common work of running a command on a remote system to a single higher level robot keyword,
+    ...     taking care to log in with a public key and. The command given is written and the output returned.  No test conditions
+    ...     are checked.
+    Log    Attempting to execute ${cmd} on ${remote_system}
+    ${conn_id}=     Open Connection    ${remote_system}    prompt=${prompt}    timeout=${prompt_timeout}
+    Login With Public Key    ${user}    ${USER_HOME}/.ssh/id_rsa    any
+    Write    ${cmd}
+    ${output}=  Read Until    ${linux_prompt}
+    Close Connection
+    [Return]    ${output}
+
+Verify File Exists On Remote System
+    [Arguments]  ${remote_system}    ${file}  ${user}=${MININET_USER}    ${prompt}=${LINUX_PROMPT}   ${prompt_timeout}=5s
+    [Documentation]     Will create connection with public key and will PASS if the given ${file} exists, otherwise will FAIL
+    ${conn_id}=     Open Connection    ${remote_system}    prompt=${prompt}    timeout=${prompt_timeout}
+    Login With Public Key    ${user}    ${USER_HOME}/.ssh/id_rsa    any
+    SSHLibrary.File Should Exist   ${file}
+    Close Connection
+
+Verify Controller Is Not Dead
+    [Arguments]     ${controller_ip}=${CONTROLLER}
+    [Documentation]     Will execute any tests to verify the controller is not dead. Some checks are
+    ...     Out Of Memory Execptions.
+    Check Karaf Log File Does Not Have Messages     ${controller_ip}  java.lang.OutOfMemoryError