Documentation Test Suite for BFD tunnel monitoring
Suite Setup Genius Suite Setup
Suite Teardown BFD Suite Stop
+Test Setup Genius Test Setup
Test Teardown Genius Test Teardown ${data_models}
Library OperatingSystem
Library String
*** Test Cases ***
BFD_TC00 Create ITM between DPNs Verify_BFD_Enablement
[Documentation] Create ITM between DPNs Verify_BFD_Enablement
- ${Dpn_id_1} Get Dpn Ids ${conn_id_1}
- ${Dpn_id_2} Get Dpn Ids ${conn_id_2}
- Set Global Variable ${Dpn_id_1}
- Set Global Variable ${Dpn_id_2}
+ ${Dpn_id_1} Genius.Get Dpn Ids ${conn_id_1}
+ ${Dpn_id_2} Genius.Get Dpn Ids ${conn_id_2}
${vlan}= Set Variable 0
${gateway-ip}= Set Variable 0.0.0.0
- Create Vteps ${TOOLS_SYSTEM_IP} ${TOOLS_SYSTEM_2_IP} ${vlan} ${gateway-ip}
- Wait Until Keyword Succeeds 10s 2s Verify Tunnel Status as UP
+ Genius.Create Vteps ${Dpn_id_1} ${Dpn_id_2} ${TOOLS_SYSTEM_IP} ${TOOLS_SYSTEM_2_IP} ${vlan} ${gateway-ip}
+ Wait Until Keyword Succeeds 30s 5s Genius.Verify Tunnel Status as UP TZA
BFD_TC01 Verify by default BFD monitoring is enabled on Controller
[Documentation] Verify by default BFD monitoring is enabled on Controller
BFD_TC02 Verify that BFD tunnel monitoring interval is set with appropriate default value i.e.,1000
[Documentation] This will verify BFD tunnel monitoring default interval
- ${output}= Issue Command On Karaf Console ${TEP_SHOW}
- Log ${output}
- Should Contain ${output} ${DEFAULT_MONITORING_INTERVAL}
+ ${output} = Issue Command On Karaf Console ${TEP_SHOW}
+ ${tunnel_monitoring} = Get Lines Containing String ${output} Tunnel Monitoring Interval
+ Should Be Equal ${tunnel_monitoring} ${DEFAULT_MONITORING_INTERVAL}
Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_1000} ${TUNNEL_MONI_PROTO}
BFD_TC04 Verify that in controller tunnel status is up when ITM tunnel interface is brought up.
[Documentation] Verify that in controller tunnel status is up when ITM tunnel interface is brought up.
Wait Until Keyword Succeeds 10s 2s Verify Tunnel Monitoring Is On
- Wait Until Keyword Succeeds 10s 1s Verify Tunnel Status as UP
+ Wait Until Keyword Succeeds 10s 1s Genius.Verify Tunnel Status as UP TZA
Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_1000} ${TUNNEL_MONI_PROTO}
BFD_TC05 Verify BFD tunnel monitoring interval can be changed.
[Documentation] Verify BFD tunnel monitoring interval can be changed.
- Log "Value of BFD monitoring interval before updating with new value"
- ${oper_int} RequestsLibrary.Get Request session ${OPERATIONAL_API}/itm-config:tunnel-monitor-interval/
- ${respjson} RequestsLibrary.To Json ${oper_int.content} pretty_print=True
- Log ${respjson}
- Log "Value of BFD monitoring interval is getting updated"
${oper_int} RequestsLibrary.Put Request session ${CONFIG_API}/itm-config:tunnel-monitor-interval/ data=${INTERVAL_5000}
${Bfd_updated_value}= Create List 5000
Wait Until Keyword Succeeds 30s 10s Check For Elements At Uri ${OPERATIONAL_API}/itm-config:tunnel-monitor-interval/ ${Bfd_updated_value}
Wait Until Keyword Succeeds 30s 10s Check For Elements At Uri ${CONFIG_API}/itm-config:tunnel-monitor-interval/ ${Bfd_updated_value}
Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
- SSHLibrary.Switch Connection ${conn_id_1}
- Execute Command sudo ovs-vsctl del-port ${Bridge-1} tap8ed70586-6c
- ${ovs_1} Execute Command sudo ovs-vsctl show
- log ${ovs_1}
- ${tun_name} Wait Until Keyword Succeeds 20 5 Ovs Tunnel Get ${Bridge-1}
- Wait Until Keyword Succeeds 20s 5 OVSDB.Verify Ovs-vsctl Output list interface ${tun_name} 5000 ovs_system=${TOOLS_SYSTEM_IP}
- SSHLibrary.Switch Connection ${conn_id_2}
- ${ovs_2} Execute Command sudo ovs-vsctl show
- ${tun_name} Wait Until Keyword Succeeds 20 5 Ovs Tunnel Get ${Bridge-2}
+ ${tun_name} Wait Until Keyword Succeeds 20 5 Ovs Tunnel Get ${TOOLS_SYSTEM_1_IP}
+ Wait Until Keyword Succeeds 20s 5 OVSDB.Verify Ovs-vsctl Output list interface ${tun_name} 5000 ovs_system=${TOOLS_SYSTEM_1_IP}
+ ${tun_name} Wait Until Keyword Succeeds 20 5 Ovs Tunnel Get ${TOOLS_SYSTEM_2_IP}
Wait Until Keyword Succeeds 20s 5 OVSDB.Verify Ovs-vsctl Output list interface ${tun_name} 5000 ovs_system=${TOOLS_SYSTEM_2_IP}
BFD_TC06 Verify that the tunnel state goes to UNKNOWN when DPN is disconnected
[Documentation] Verify that the tunnel state goes to UNKNOWN when DPN is disconnected
- ${output}= Issue Command On Karaf Console ${TEP_SHOW}
- Log ${output}
- ${output}= Issue Command On Karaf Console ${TEP_SHOW_STATE}
- Log ${output}
+ Issue Command On Karaf Console ${TEP_SHOW}
+ Issue Command On Karaf Console ${TEP_SHOW_STATE}
SSHLibrary.Switch Connection ${conn_id_1}
Execute Command sudo ovs-vsctl del-controller BR1
SSHLibrary.Switch Connection ${conn_id_2}
Execute Command sudo ovs-vsctl del-controller BR2
- ${output}= Issue Command On Karaf Console ${TEP_SHOW}
- Log ${output}
- ${output}= Issue Command On Karaf Console ${TEP_SHOW_STATE}
- Log ${output}
+ Issue Command On Karaf Console ${TEP_SHOW}
+ Issue Command On Karaf Console ${TEP_SHOW_STATE}
Wait Until Keyword Succeeds 10s 1s Verify Tunnel Status as UNKNOWN
Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
SSHLibrary.Switch Connection ${conn_id_1}
SSHLibrary.Switch Connection ${conn_id_2}
Execute Command sudo ovs-vsctl set-controller BR2 tcp:${ODL_SYSTEM_IP}:${ODL_OF_PORT}
Log "After connecting CSS with controller"
- ${output}= Issue Command On Karaf Console ${TEP_SHOW}
- Log ${output}
- ${output}= Issue Command On Karaf Console ${TEP_SHOW_STATE}
- Log ${output}
- Wait Until Keyword Succeeds 10s 1s Verify Tunnel Status as UP
+ Issue Command On Karaf Console ${TEP_SHOW}
+ Issue Command On Karaf Console ${TEP_SHOW_STATE}
+ Wait Until Keyword Succeeds 10s 1s Genius.Verify Tunnel Status as UP TZA
Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_TRUE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
BFD_TC07 Verify that BFD monitoring is disabled on Controller
Should Be Equal As Strings ${resp.status_code} 201
Wait Until Keyword Succeeds 10s 2s Verify Tunnel Monitoring Params ${TUNNEL_MONI_PARAMS_FALSE}
${output}= Issue Command On Karaf Console ${TEP_SHOW}
- Log ${output}
Should Contain ${output} ${TUNNEL_MONITOR_OFF}
Wait Until Keyword Succeeds 10s 2s Verify Config Ietf Interface Output ${INTERFACE_DS_MONI_FALSE} ${INTERFACE_DS_MONI_INT_5000} ${TUNNEL_MONI_PROTO}
- Log "Verifying tunnel is UP after BFD is disabled"
- Wait Until Keyword Succeeds 10s 1s Verify Tunnel Status as UP
- Log "Enabling tunnel monitoring once again"
+ Wait Until Keyword Succeeds 10s 1s Genius.Verify Tunnel Status as UP TZA
${resp} RequestsLibrary.Put Request session ${CONFIG_API}/itm-config:tunnel-monitor-params/ data=${ENABLE_MONITORING}
Should Be Equal As Strings ${resp.status_code} 200
Wait Until Keyword Succeeds 10s 2s Verify Tunnel Monitoring Params ${TUNNEL_MONI_PARAMS_TRUE}
Should Contain ${respjson} ${interval}
Should Contain ${respjson} ${proto}
-Verify Tunnel Monitoring Is On
- [Documentation] This keyword will get tep:show output and verify tunnel monitoring status
- ${output}= Issue Command On Karaf Console ${TEP_SHOW}
- Log ${output}
- Should Contain ${output} ${TUNNEL_MONITOR_ON}
-
Ovs Tunnel Get
- [Arguments] ${bridge}
- log sudo ovs-vsctl list-ports ${bridge}
- ${tun_name} Execute Command sudo ovs-vsctl list-ports ${bridge}
+ [Arguments] ${tools_ip}
+ [Documentation] This keyword will return the tunnel name on OVS
+ ${list_interface} Utils.Run Command On Remote System ${tools_ip} sudo ovs-vsctl list interface
+ ${tun_line} ${tun_name} Should Match Regexp ${list_interface} name\\s+: "(tun.*)"
log ${tun_name}
Should Not Be Empty ${tun_name}
[Return] ${tun_name}