*** 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"
[Arguments] ${feature_name} ${controller}=${CONTROLLER} ${karaf_port}=${karaf_shell_port}
- ${output}= Issue Command On Karaf Console feature:list -i ${controller} ${karaf_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"
[Arguments] ${feature_name} ${controller}=${CONTROLLER} ${karaf_port}=${karaf_shell_port}
- ${output}= Issue Command On Karaf Console feature:list -i ${controller} ${karaf_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}
- ${output}= Run sshpass -p karaf ssh -p ${karaf_port} -o StrictHostKeyChecking=no karaf@${controller} ${cmd}
+ 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}
\ No newline at end of file
+ [Return] ${output}