*** Settings ***
+Library SSHLibrary
Library OperatingSystem
*** Variables ***
${karaf_shell_port} 8101
+${karaf_prompt} opendaylight-user
+${karaf_user} karaf
+${karaf_password} karaf
*** Keywords ***
+Check Karaf Log File Does Not Have Messages
+ [Arguments] ${ip} ${message} ${log_file}=${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log
+ ${output}= Run Command On Remote System ${ip} grep ${message} ${log_file}
+ Should Not Contain ${output} ${message}
+
Verify Feature Is Installed
- [Documentation] Will Succeed if the given ${feature_name} is found in the output of "feature:list -i" by
- ... ssh'ing to the karaf console running on ${CONTROLLER}
- [arguments] ${feature_name} ${controller}=${CONTROLLER} ${karaf_port}=${karaf_shell_port} ${prompt}=${linux_prompt} ${prompt_timeout}=5s
- ${output}= Run sshpass -p karaf ssh -p ${karaf_port} karaf@${controller} feature:list -i
+ [Documentation] Will Succeed if the given ${feature_name} is found in the output of "feature:list -i"
+ [Arguments] ${feature_name} ${controller}=${CONTROLLER} ${karaf_port}=${karaf_shell_port}
+ ${output}= Issue Command On Karaf Console feature:list -i | grep ${feature_name} ${controller} ${karaf_port}
Should Contain ${output} ${feature_name}
+ [Return] ${output}
Verify Feature Is Not Installed
- [Documentation] Will Succeed if the given ${feature_name} is NOT found in the output of "feature:list -i" by
- ... ssh'ing to the karaf console running on ${CONTROLLER}
- [arguments] ${feature_name} ${controller}=${CONTROLLER} ${karaf_port}=${karaf_shell_port} ${prompt}=${linux_prompt} ${prompt_timeout}=5s
- ${output}= Run sshpass -p karaf ssh -p ${karaf_port} karaf@${controller} feature:list -i
- Should Not Contain ${output} ${feature_name}
\ No newline at end of file
+ [Documentation] Will Succeed if the given ${feature_name} is NOT found in the output of "feature:list -i"
+ [Arguments] ${feature_name} ${controller}=${CONTROLLER} ${karaf_port}=${karaf_shell_port}
+ ${output}= Issue Command On Karaf Console feature:list -i | grep ${feature_name} ${controller} ${karaf_port}
+ Should Not Contain ${output} ${feature_name}
+ [Return] ${output}
+
+Issue Command On Karaf Console
+ [Documentation] Will execute the given ${cmd} by ssh'ing to the karaf console running on ${CONTROLLER}
+ [Arguments] ${cmd} ${controller}=${CONTROLLER} ${karaf_port}=${karaf_shell_port}
+ Open Connection ${controller} port=${karaf_port} prompt=${karaf_prompt}
+ Login ${karaf_user} ${karaf_password}
+ Write ${cmd}
+ ${output} Read Until ${karaf_prompt}
+ Close Connection
+ Log ${output}
+ [Return] ${output}