BuiltIn.Run Keyword If ${rcode} DevstackUtils.Write Commands Until Prompt exit
Check Ping
- [Arguments] ${ip_address} ${ttl}=64
+ [Arguments] ${ip_address} ${ttl}=64 ${ping_tries}=3
[Documentation] Run Ping command on the IP available as argument
${ethertype} = String.Get Regexp Matches ${ip_address} ${IP_REGEX}
- ${output} = BuiltIn.Run Keyword If ${ethertype} Utils.Write Commands Until Expected Prompt ping -t ${ttl} -c 3 ${ip_address} ${OS_SYSTEM_PROMPT}
- ... ELSE Utils.Write Commands Until Expected Prompt ping6 -t ${ttl} -c 3 ${ip_address} ${OS_SYSTEM_PROMPT}
+ ${ping} = BuiltIn.Set Variable If ${ethertype} ping ping6
+ ${cmd} = BuiltIn.Set Variable rc=0; for count in `seq 1 ${ping_tries}`; do ${ping} -W1 -t${ttl} -c1 ${ip_address}; rc=$?; if [ $rc -eq 0 ]; then break; fi; done; echo ping_rc=$rc
+ ${output} = Utils.Write Commands Until Expected Regexp ${cmd} ping_rc=\\d+ 120
+ BuiltIn.Log output: ${output}
BuiltIn.Should Contain ${output} 64 bytes
Check No Ping
Test Operations From Vm Instance
[Arguments] ${net_name} ${src_ip} ${dest_ips} ${user}=cirros ${password}=cubswin:) ${ttl}=64
- ... ${ping_should_succeed}=True ${check_metadata}=True ${console}=cirros
+ ... ${ping_should_succeed}=True ${check_metadata}=True ${console}=cirros ${ping_tries}=3
[Documentation] Login to the vm instance using ssh in the network.
OpenStackOperations.Get ControlNode Connection
${net_id} = OpenStackOperations.Get Net Id ${net_name}
: FOR ${dest_ip} IN @{dest_ips}
\ ${string_empty} = BuiltIn.Run Keyword And Return Status Should Be Empty ${dest_ip}
\ BuiltIn.Run Keyword If ${string_empty} Continue For Loop
- \ BuiltIn.Run Keyword If ${rcode} and "${ping_should_succeed}" == "True" OpenStackOperations.Check Ping ${dest_ip} ttl=${ttl}
+ \ BuiltIn.Run Keyword If ${rcode} and "${ping_should_succeed}" == "True" OpenStackOperations.Check Ping ${dest_ip} ttl=${ttl} ping_tries=${ping_tries}
\ ... ELSE OpenStackOperations.Check No Ping ${dest_ip} ttl=${ttl}
${ethertype} = String.Get Regexp Matches ${src_ip} ${IP_REGEX}
BuiltIn.Run Keyword If ${rcode} and "${check_metadata}" and ${ethertype} == "True" OpenStackOperations.Check Metadata Access
BuiltIn.Run Keyword And Ignore Error DataModels.Get Model Dump ${HA_PROXY_IP} ${netvirt_data_models}
KarafKeywords.Fail If Exceptions Found During Test ${test_name} fail=${fail}
: FOR ${i} IN RANGE ${NUM_ODL_SYSTEM}
- \ Issue_Command_On_Karaf_Console trace:transactions ${ODL_SYSTEM_${i+1}_IP}
+ \ BuiltIn.Run Keyword And Ignore Error Issue_Command_On_Karaf_Console trace:transactions ${ODL_SYSTEM_${i+1}_IP}
Get Suite Debugs
Get Test Teardown Debugs test_name=${SUITE_NAME} fail=False
Write To Validate File ----------------------------------------\n${SUITE_NAME}\n
: FOR ${keyword} IN @{VALIDATION_KEYWORDS}
\ ${status} = Builtin.Run Keyword And Return Status ${keyword}
- \ BuiltIn.Run Keyword If "${status}" == "FAIL" BuiltIn.Run Keywords Write To Validate File Failed: ${keyword}
+ \ BuiltIn.Run Keyword If "${status}" == "FAIL" or "${status}" == "False" BuiltIn.Run Keywords Write To Validate File Failed: ${keyword}
\ ... AND BuiltIn.Fail
\ ... ELSE Write To Validate File Passed: ${keyword}
Wait Until Keyword Succeeds 60 2 ClusterManagement.Check Status Of Services Is OPERATIONAL @{NETVIRT_DIAG_SERVICES}
Verify Expected Default Tunnels
- [Documentation] Verify if the default tunnels are created
+ [Documentation] Verify if the default tunnels are created.
+ ... SFC jobs currently fail this validation because it uses of-tunnels.
+ ... This validation will be blocked for NEtvirt SFC jobs until support for of-tunnels
+ ... added to odltools.
+ ${check_feature_list} = BuiltIn.Create List odl-netvirt-sfc
+ ${is_sfc_enabled} = OpenStackOperations.Is Feature Installed features=${check_feature_list}
+ BuiltIn.Return From Keyword If ${is_sfc_enabled} == ${True} ${True}
+ BuiltIn.Return From Keyword If ${OS_NODE_CNT} == ${1} ${True}
${output} = ODLTools.Analyze Tunnels test_name=${SUITE_NAME}.Suite Setup
BuiltIn.Should Contain ${output} All tunnels are up