X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fgenius%2FITM_Direct_Tunnels.robot;fp=csit%2Fsuites%2Fgenius%2FITM_Direct_Tunnels.robot;h=a97a5e9feaa9fa53bb76e2d405ed64f353828827;hb=de4a40c80721603dd620178165b07999f5495487;hp=7a83b0bc3e45c4d03a73f7cd387ccdba6e2b5247;hpb=c6740c77a4706a11379d2b074fc5d380a610d9af;p=integration%2Ftest.git diff --git a/csit/suites/genius/ITM_Direct_Tunnels.robot b/csit/suites/genius/ITM_Direct_Tunnels.robot index 7a83b0bc3e..a97a5e9fea 100644 --- a/csit/suites/genius/ITM_Direct_Tunnels.robot +++ b/csit/suites/genius/ITM_Direct_Tunnels.robot @@ -4,70 +4,50 @@ Suite Setup ITM Direct Tunnels Start Suite Suite Teardown ITM Direct Tunnels Stop Suite Test Setup Genius Test Setup Test Teardown Genius Test Teardown ${data_models} +Library Collections Library OperatingSystem -Library String Library RequestsLibrary -Variables ../../variables/genius/Modules.py -Resource ../../libraries/DataModels.robot -Library Collections -Resource ../../libraries/Utils.robot -Library re -Resource ../../libraries/VpnOperations.robot +Library String Resource ../../libraries/ClusterManagement.robot -Resource ../../libraries/KarafKeywords.robot -Resource ../../libraries/Utils.robot +Resource ../../libraries/DataModels.robot Resource ../../libraries/Genius.robot +Resource ../../libraries/KarafKeywords.robot Resource ../../variables/netvirt/Variables.robot -Resource ../../variables/Variables.robot Resource ../../libraries/OVSDB.robot +Resource ../../libraries/ToolsSystem.robot +Resource ../../libraries/Utils.robot +Resource ../../libraries/VpnOperations.robot +Resource ../../variables/Variables.robot +Variables ../../variables/genius/Modules.py *** Variables *** -${VLAN} 0 *** Test Cases *** Create and Verify VTEP [Documentation] This testcase creates a Internal Transport Manager - ITM tunnel between 2 DPNs - ${Dpn_id_1} Genius.Get Dpn Ids ${conn_id_1} - ${Dpn_id_2} Genius.Get Dpn Ids ${conn_id_2} - ${gateway-ip}= Set Variable 0.0.0.0 - Genius.Create Vteps ${Dpn_id_1} ${Dpn_id_2} ${TOOLS_SYSTEM_IP} ${TOOLS_SYSTEM_2_IP} ${VLAN} ${gateway-ip} - Wait Until Keyword Succeeds 40 10 Get ITM ${itm_created[0]} ${subnet} ${VLAN} - ... ${Dpn_id_1} ${TOOLS_SYSTEM_IP} ${Dpn_id_2} ${TOOLS_SYSTEM_2_IP} - ${type} Set Variable odl-interface:tunnel-type-vxlan - ${tunnel-1} Wait Until Keyword Succeeds 40 20 Get_Tunnel ${Dpn_id_1} ${Dpn_id_2} - ${tunnel-2} Wait Until Keyword Succeeds 40 20 Get_Tunnel ${Dpn_id_2} ${Dpn_id_1} - ${tunnel-type}= Set Variable type: vxlan - Wait Until Keyword Succeeds 40 5 Get Data From URI session ${CONFIG_API}/itm-state:dpn-endpoints/DPN-TEPs-info/${Dpn_id_1}/ - Wait Until Keyword Succeeds 40 5 Get Data From URI session ${CONFIG_API}/itm-state:dpn-endpoints/DPN-TEPs-info/${Dpn_id_2}/ - Wait Until Keyword Succeeds 40 10 Ovs Verification For 2 Dpn ${conn_id_1} ${TOOLS_SYSTEM_IP} ${TOOLS_SYSTEM_2_IP} - ... ${tunnel-1} ${tunnel-type} - Wait Until Keyword Succeeds 40 10 Ovs Verification For 2 Dpn ${conn_id_2} ${TOOLS_SYSTEM_2_IP} ${TOOLS_SYSTEM_IP} - ... ${tunnel-2} ${tunnel-type} - ${resp} RequestsLibrary.Get Request session ${OPERATIONAL_API}/itm-state:tunnels_state/ - ${respjson} RequestsLibrary.To Json ${resp.content} pretty_print=True + Genius.Create Vteps ${NO_VLAN} ${gateway_ip} + Wait Until Keyword Succeeds 40 10 Genius.Get ITM ${itm_created[0]} ${SUBNET} ${NO_VLAN} + ${type} = BuiltIn.Set Variable odl-interface:tunnel-type-vxlan + Genius.Update Dpn id list and get tunnels ${type} dpn-teps-state + Genius.Verify Response Code Of Dpn Endpointconfig API + Wait Until Keyword Succeeds 40 10 Genius.Ovs Interface Verification + ${resp} = RequestsLibrary.Get Request session ${OPERATIONAL_API}/itm-state:tunnels_state/ Should Be Equal As Strings ${resp.status_code} 200 - Should Contain ${resp.content} ${Dpn_id_1} ${tunnel-1} - Should Contain ${resp.content} ${Dpn_id_2} ${tunnel-2} - ${Port_num1} Get Port Number ${conn_id_1} ${Bridge} ${tunnel-1} - ${Port_num2} Get Port Number ${conn_id_2} ${Bridge} ${tunnel-2} - ${check-3} Wait Until Keyword Succeeds 40 10 Genius.Check Table0 Entry For 2 Dpn ${conn_id_1} ${Bridge} - ... ${Port_num1} - ${check-4} Wait Until Keyword Succeeds 40 10 Genius.Check Table0 Entry For 2 Dpn ${conn_id_2} ${Bridge} - ... ${Port_num2} + Wait Until Keyword Succeeds 60 5 Genius.Verify Tunnel Status As Up + Wait Until Keyword Succeeds 40 10 Genius.Verify Table0 Entry After fetching Port Number Verify VTEP After Restarting OVS [Documentation] Verify Testcase, Verifying tunnel state by restarting OVS - Wait Until Keyword Succeeds 20 2 Genius.Verify Tunnel Status as UP TZA + Wait Until Keyword Succeeds 20 2 Genius.Verify Tunnel Status As Up OVSDB.Restart OVSDB ${TOOLS_SYSTEM_IP} - Wait Until Keyword Succeeds 20 2 Genius.Verify Tunnel Status as UP TZA Verify VTEP After Restarting Controller [Documentation] Verify Testcase, Verifying tunnel state by restarting CONTROLLER - Genius.Verify Tunnel Status as UP TZA + BuiltIn.Wait Until Keyword Succeeds 30 3 Genius.Verify Tunnel Status As Up ClusterManagement.Stop_Members_From_List_Or_All ClusterManagement.Start_Members_From_List_Or_All Wait Until Keyword Succeeds 60 3 ClusterManagement.Check Status Of Services Is OPERATIONAL @{GENIUS_DIAG_SERVICES} - Wait Until Keyword Succeeds 30 3 Genius.Verify Tunnel Status as UP TZA + Wait Until Keyword Succeeds 30 3 Genius.Verify Tunnel Status As Up Verify Tunnels By Enabling/Disabling BFD [Documentation] Verify tunnel creation by enabling and disabling BFD one after another with respect to the branch in such a way default value is retained at last. @@ -78,45 +58,21 @@ Verify Tunnels By Enabling/Disabling BFD Delete and Verify VTEP [Documentation] This Delete testcase , deletes the ITM tunnel created between 2 dpns. - ${Dpn_id_1} Genius.Get Dpn Ids ${conn_id_1} - ${Dpn_id_2} Genius.Get Dpn Ids ${conn_id_2} - ${tunnel-1} Get_Tunnel ${Dpn_id_1} ${Dpn_id_2} - ${tunnel-2} Get_Tunnel ${Dpn_id_2} ${Dpn_id_1} - Remove All Elements At URI And Verify ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/subnets/${subnet}%2F24/vteps/${Dpn_id_1}/${port_name} - Remove All Elements At URI And Verify ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/subnets/${subnet}%2F24/vteps/${Dpn_id_2}/${port_name} + ${tunnel_list} Genius.Get Tunnels List + : FOR ${dpn_id} IN @{DPN_ID_LIST} + \ Utils.Remove All Elements At URI And Verify ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/subnets/${SUBNET}%2F16/vteps/${dpn_id}/${port_name} ${output} KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW} BuiltIn.Should Not Contain ${output} ${itm_created[0]} Remove All Elements At URI And Verify ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/ ${resp} Utils.Get Data From URI session ${CONFIG_API}/itm:transport-zones/ BuiltIn.Should Not Contain ${resp} ${itm_created[0]} - ${Ovs-del-1} Wait Until Keyword Succeeds 40 10 Genius.Check Tunnel Delete On OVS ${conn_id_1} ${tunnel-1} - ${Ovs-del-2} Wait Until Keyword Succeeds 40 10 Genius.Check Tunnel Delete On OVS ${conn_id_2} ${tunnel-2} + Wait Until Keyword Succeeds 40 10 Genius.Verify Deleted Tunnels On OVS ${tunnel_list} ${resp} + Wait Until Keyword Succeeds 40 10 Genius.Check Tunnel Delete On OVS ${tunnel_list} *** Keywords *** -Get_Tunnel - [Arguments] ${src} ${dst} - [Documentation] This Keyword Gets the Tunnel Interface name which has been created between 2 DPNS by passing source , destination DPN Ids along with the type of tunnel which is configured. - ${resp} RequestsLibrary.Get Request session ${CONFIG_API}/itm-state:dpn-teps-state/dpns-teps/${src}/remote-dpns/${dst}/ - log ${resp.content} - ${respjson} RequestsLibrary.To Json ${resp.content} pretty_print=True - Should Be Equal As Strings ${resp.status_code} 200 - Should Contain ${resp.content} ${dst} - ${json}= evaluate json.loads('''${resp.content}''') json - ${return} Run Keyword And Return Status Should contain ${resp.content} tunnel-name - log ${return} - ${ret} Run Keyword If '${return}'=='True' Check_Interface_Name ${json["remote-dpns"][0]} tunnel-name - [Return] ${ret} - -Check_Interface_Name - [Arguments] ${json} ${expected_tunnel_interface_name} - [Documentation] This keyword Checks the Tunnel interface name is tunnel-interface-names in the output or not . - ${Tunnels} Collections.Get From Dictionary ${json} ${expected_tunnel_interface_name} - Log ${Tunnels} - [Return] ${Tunnels} - Enable_Tunnel_Monitoring [Documentation] In this we will enable tunnel monitoring by tep:enable command running in karaf console - ${output} Issue_Command_On_Karaf_Console tep:enable-tunnel-monitor true + Issue_Command_On_Karaf_Console tep:enable-tunnel-monitor true Verify Tunnel State After OVS Restart [Arguments] ${TOOLS_SYSTEM_IP} @@ -124,43 +80,30 @@ Verify Tunnel State After OVS Restart OVSDB.Stop OVS ${TOOLS_SYSTEM_IP} Wait Until Keyword Succeeds 2min 20 sec Verify Tunnel Down OVSDB.Start OVS ${TOOLS_SYSTEM_IP} - Wait Until Keyword Succeeds 2min 20 sec Genius.Verify Tunnel Status as UP TZA + Wait Until Keyword Succeeds 2min 20 sec Genius.Verify Tunnel Status As Up Verify Tunnel Down [Documentation] In this we will check whether tunnel is in down or not - ${output}= KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW_STATE} + ${output}= KarafKeywords.Issue_Command_On_Karaf_Console ${TEP_SHOW_STATE} Should Contain ${output} DOWN -Get Port Number - [Arguments] ${connection_id} ${Bridgename} ${tunnel} - [Documentation] In this we get Port Number to check table0 entry for 2 Dpn - Switch Connection ${connection_id} - ${check-1} Execute Command sudo ovs-ofctl -O OpenFlow13 show ${Bridgename} - Log ${check-1} - ${lines} Get Lines Containing String ${check-1} ${tunnel} - Log ${lines} - ${port} Get Regexp Matches ${lines} \\d+ - ${port_num} Get From List ${port} 0 - Should Contain ${check-1} ${port_num} - [Return] ${port_num} - Disable_Tunnel_Monitoring [Documentation] In this we will disable tunnel monitoring by tep:enable command running in karaf console - ${output} Issue_Command_On_Karaf_Console tep:enable-tunnel-monitor false + Issue_Command_On_Karaf_Console tep:enable-tunnel-monitor false Verify Tunnels By Enabling BFD [Documentation] Verify tunnel creation by enabling BFD monitoring. - ${result} Run Keyword And Return Status Verify Tunnel Monitoring is on + ${result} Run Keyword And Return Status Genius.Verify Tunnel Monitoring Status ${TUNNEL_MONITOR_ON} Run Keyword If '${result}' == 'False' Enable_Tunnel_monitoring - Verify Tunnel State After OVS Restart ${TOOLS_SYSTEM_IP} - Verify Tunnel State After OVS Restart ${TOOLS_SYSTEM_2_IP} + : FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS} + \ Verify Tunnel State After OVS Restart ${tools_ip} Verify Tunnels By Disabling BFD [Documentation] Verify tunnel creation by disabling BFD monitoring. - ${result} = Run Keyword And Return Status Verify Tunnel Monitoring is on + ${result} = Run Keyword And Return Status Genius.Verify Tunnel Monitoring Status ${TUNNEL_MONITOR_ON} Run Keyword If '${result}' == 'True' Disable_Tunnel_Monitoring - ${tunnels_on_OVS} = Genius.Get Tunnels On OVS ${conn_id_1} + ${tunnels_on_OVS} = Genius.Get Tunnels On OVS ${TOOLS_SYSTEM_ALL_CONN_IDS[0]} OVSDB.Stop OVS ${TOOLS_SYSTEM_IP} - Genius.Verify Tunnel Status ${tunnels_on_OVS} UNKNOWN + Genius.Verify Tunnel Status UNKNOWN ${tunnels_on_OVS} OVSDB.Start OVS ${TOOLS_SYSTEM_IP} - Wait Until Keyword Succeeds 20 2 Genius.Verify Tunnel Status as UP TZA + Wait Until Keyword Succeeds 10s 1s Genius.Verify Tunnel Status As Up