X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Flibraries%2FGenius.robot;h=7873967ece10236b35fff57cf38b12c066644e84;hb=3002ea78953ec0fd7b35eb208291e19b16e6ba03;hp=033718604d32c53f5d8024909227ee6e6d46f064;hpb=b0ee238416d3fa3da67a7b04334b005b5367222a;p=integration%2Ftest.git diff --git a/csit/libraries/Genius.robot b/csit/libraries/Genius.robot index 033718604d..7873967ece 100644 --- a/csit/libraries/Genius.robot +++ b/csit/libraries/Genius.robot @@ -12,6 +12,7 @@ Resource ../variables/Variables.robot Resource OVSDB.robot Resource ../variables/netvirt/Variables.robot Resource VpnOperations.robot +Resource DataModels.robot *** Variables *** @{itm_created} TZA @@ -19,7 +20,9 @@ ${genius_config_dir} ${CURDIR}/../variables/genius ${Bridge-1} BR1 ${Bridge-2} BR2 ${DEFAULT_MONITORING_INTERVAL} Tunnel Monitoring Interval (for VXLAN tunnels): 1000 -@{DIAG_SERVICES} OPENFLOW IFM ITM DATASTORE +@{GENIUS_DIAG_SERVICES} OPENFLOW IFM ITM DATASTORE +${vlan} 0 +${gateway-ip} 0.0.0.0 *** Keywords *** Genius Suite Setup @@ -34,7 +37,7 @@ Genius Suite Teardown Start Suite [Documentation] Initial setup for Genius test suites - Run_Keyword_If_At_Least_Oxygen Wait Until Keyword Succeeds 60 2 Check System Status + Run_Keyword_If_At_Least_Oxygen Wait Until Keyword Succeeds 60 2 Check System Status @{GENIUS_DIAG_SERVICES} Log Start the tests ${conn_id_1}= Open Connection ${TOOLS_SYSTEM_IP} prompt=${DEFAULT_LINUX_PROMPT} timeout=30s Set Global Variable ${conn_id_1} @@ -91,11 +94,12 @@ check establishment [Return] ${check_establishment} Check Service Status - [Arguments] ${odl_ip} ${system_ready_state} ${service_state} + [Arguments] ${odl_ip} ${system_ready_state} ${service_state} @{service_list} [Documentation] Issues the karaf shell command showSvcStatus to verify the ready and service states are the same as the arguments passed - ${service_status_output} Issue_Command_On_Karaf_Console showSvcStatus ${odl_ip} 8101 + ${service_status_output} = Run Keyword If ${NUM_ODL_SYSTEM}>1 Issue_Command_On_Karaf_Console showSvcStatus -n ${odl_ip} ${odl_ip} 8101 + ... ELSE Issue_Command_On_Karaf_Console showSvcStatus ${odl_ip} 8101 Should Contain ${service_status_output} ${system_ready_state} - : FOR ${service} IN @{DIAG_SERVICES} + : FOR ${service} IN @{service_list} \ Should Match Regexp ${service_status_output} ${service} +: ${service_state} Create Vteps @@ -153,13 +157,10 @@ BFD Suite Stop Delete All Vteps [Documentation] This will delete vtep. ${resp} RequestsLibrary.Delete Request session ${CONFIG_API}/itm:transport-zones/ data=${vtep_body} - Log ${resp.status_code} Should Be Equal As Strings ${resp.status_code} 200 Log "Before disconnecting CSS with controller" - ${output}= Issue Command On Karaf Console ${TEP_SHOW} - Log ${output} - ${output}= Issue Command On Karaf Console ${TEP_SHOW_STATE} - Log ${output} + ${output} = Issue Command On Karaf Console ${TEP_SHOW} + BuiltIn.Wait Until Keyword Succeeds 30 5 Verify All Tunnel Delete on DS Genius Test Teardown [Arguments] ${data_models} @@ -205,10 +206,10 @@ Get ITM Check Tunnel Delete On OVS [Arguments] ${connection-id} ${tunnel} - [Documentation] Verifies the Tunnel is deleted from OVS + [Documentation] Verifies the Tunnel is deleted from OVS. Switch Connection ${connection-id} - ${return} Execute Command sudo ovs-vsctl show - Log ${return} + ${return} = Execute Command sudo ovs-vsctl show + log ${return} Should Not Contain ${return} ${tunnel} [Return] ${return} @@ -244,6 +245,71 @@ Verify Tunnel Status as UP Should Be Equal As Strings ${Actual_Tunnel_Count} ${Expected_Tunnel_Count} Check System Status + [Arguments] @{service_list} [Documentation] This keyword will verify whether all the services are in operational and all nodes are active based on the number of odl systems : FOR ${i} IN RANGE ${NUM_ODL_SYSTEM} - \ Check Service Status ${ODL_SYSTEM_${i+1}_IP} ACTIVE OPERATIONAL + \ Check Service Status ${ODL_SYSTEM_${i+1}_IP} ACTIVE OPERATIONAL @{service_list} + +Verify Tunnel Status + [Arguments] ${tunnel_names} ${tunnel_status} + [Documentation] Verifies if all tunnels in the input, has the expected status(UP/DOWN/UNKNOWN) + ${tep_result} = KarafKeywords.Issue_Command_On_Karaf_Console ${TEP_SHOW_STATE} + : FOR ${tunnel} IN @{tunnel_names} + \ ${tep_output} = String.Get Lines Containing String ${tep_result} ${tunnel} + \ BuiltIn.Should Contain ${tep_output} ${tunnel_status} + +Get Tunnels On OVS + [Arguments] ${connection_id} + [Documentation] Retrieves the list of tunnel ports present on OVS + SSHLibrary.Switch Connection ${connection_id} + ${ovs_result} = Utils.Write Commands Until Expected Prompt sudo ovs-vsctl show ${DEFAULT_LINUX_PROMPT_STRICT} + ${tunnel_names} BuiltIn.Create List + ${tunnels} = String.Get Lines Matching Regexp ${ovs_result} Interface "tun.*" True + @{tunnels_list} = String.Split To Lines ${tunnels} + : FOR ${tun} IN @{tunnels_list} + \ ${tun_list} BuiltIn.Should Match Regexp @{tunnels_list} tun.*\\w + \ Collections.Append To List ${tunnel_names} ${tun_list} + ${items_in_list} = BuiltIn.Get Length ${tunnel_names} + [Return] ${Tunnel_Names} + +Get Tunnel + [Arguments] ${src} ${dst} ${type} + [Documentation] This keyword returns tunnel interface name between source DPN and destination DPN. + ${resp} = RequestsLibrary.Get Request session ${CONFIG_API}/itm-state:tunnel-list/internal-tunnel/${src}/${dst}/${type}/ + BuiltIn.Should Be Equal As Strings ${resp.status_code} ${RESP_CODE} + BuiltIn.Should Contain ${resp.content} ${src} + BuiltIn.Should Contain ${resp.content} ${dst} + ${json} = Utils.Json Parse From String ${resp.content} + ${tunnel} = BuiltIn.Run Keyword If "tunnel-interface-names" in "${json}" Get Tunnel Interface Name ${json["internal-tunnel"][0]} tunnel-interface-names + [Return] ${tunnel} + +Get Tunnel Interface Name + [Arguments] ${json} ${expected_tunnel_interface_name} + [Documentation] This keyword extracts tunnel interface name from json given as input. + ${tunnels} = Collections.Get From Dictionary ${json} ${expected_tunnel_interface_name} + [Return] ${tunnels[0]} + +Verify All Tunnel Delete on DS + [Documentation] This keyword confirms that tunnels are not present by giving command from karaf console. + Verify Tunnel Delete on DS tun + +Verify Tunnel Delete on DS + [Arguments] ${tunnel} + [Documentation] This keyword confirms that specified tunnel is not present by giving command from karaf console. + ${output} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW_STATE} + BuiltIn.Should Not Contain ${output} ${tunnel} + +SRM Start Suite + [Documentation] Start suite for service recovery. + Genius Suite Setup + ${dpn_Id_1} = Genius.Get Dpn Ids ${conn_id_1} + ${dpn_Id_2} = Genius.Get Dpn Ids ${conn_id_2} + Genius.Create Vteps ${dpn_Id_1} ${dpn_Id_2} ${TOOLS_SYSTEM_IP} ${TOOLS_SYSTEM_2_IP} ${vlan} ${gateway-ip} + ${tunnel} = BuiltIn.Wait Until Keyword Succeeds 40 20 Genius.Get Tunnel ${dpn_Id_1} ${dpn_Id_2} + ... odl-interface:tunnel-type-vxlan + BuiltIn.Wait Until Keyword Succeeds 60s 5s Genius.Verify Tunnel Status as UP TZA + +SRM Stop Suite + [Documentation] Stop suite for service recovery. + Delete All Vteps + Genius Suite Teardown