Update exception whitelist
[integration/test.git] / csit / libraries / Genius.robot
index c0bc37f9340a787e88da4f19ec9c53e761fb2f35..033718604d32c53f5d8024909227ee6e6d46f064 100644 (file)
@@ -11,6 +11,7 @@ Resource          Utils.robot
 Resource          ../variables/Variables.robot
 Resource          OVSDB.robot
 Resource          ../variables/netvirt/Variables.robot
+Resource          VpnOperations.robot
 
 *** Variables ***
 @{itm_created}    TZA
@@ -18,6 +19,7 @@ ${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
 
 *** Keywords ***
 Genius Suite Setup
@@ -32,7 +34,7 @@ Genius Suite Teardown
 
 Start Suite
     [Documentation]    Initial setup for Genius test suites
-    Run_Keyword_If_At_Least_Oxygen    Wait Until Keyword Succeeds    10    1    Check Service Status    ACTIVE    OPERATIONAL
+    Run_Keyword_If_At_Least_Oxygen    Wait Until Keyword Succeeds    60    2    Check System Status
     Log    Start the tests
     ${conn_id_1}=    Open Connection    ${TOOLS_SYSTEM_IP}    prompt=${DEFAULT_LINUX_PROMPT}    timeout=30s
     Set Global Variable    ${conn_id_1}
@@ -89,13 +91,12 @@ check establishment
     [Return]    ${check_establishment}
 
 Check Service Status
-    [Arguments]    ${system_ready_state}    ${service_state}
+    [Arguments]    ${odl_ip}    ${system_ready_state}    ${service_state}
     [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_SYSTEM_IP}    8101
+    ${service_status_output}    Issue_Command_On_Karaf_Console    showSvcStatus    ${odl_ip}    8101
     Should Contain    ${service_status_output}    ${system_ready_state}
-    @{split}    Split To Lines    ${service_status_output}    3    7
-    : FOR    ${var}    IN    @{split}
-    \    Should Contain    ${var}    ${service_state}
+    : FOR    ${service}    IN    @{DIAG_SERVICES}
+    \    Should Match Regexp    ${service_status_output}    ${service} +: ${service_state}
 
 Create Vteps
     [Arguments]    ${Dpn_id_1}    ${Dpn_id_2}    ${TOOLS_SYSTEM_IP}    ${TOOLS_SYSTEM_2_IP}    ${vlan}    ${gateway-ip}
@@ -226,3 +227,23 @@ Check ITM Tunnel State
     [Documentation]    Verifies the Tunnel is deleted from datastore
     ${resp}    RequestsLibrary.Get Request    session    ${OPERATIONAL_API}/itm-state:tunnels_state/
     Should Not Contain    ${resp.content}    ${tunnel1}    ${tunnel2}
+
+Verify Tunnel Status as UP
+    [Arguments]    ${Transport_zone}
+    [Documentation]    Verify that the number of tunnels are UP
+    ${No_of_Teps}    Issue_Command_On_Karaf_Console    ${TEP_SHOW}
+    ${Lines_of_TZA}    Get Lines Containing String    ${No_of_Teps}    ${Transport_zone}
+    ${Expected_Node_Count}    Get Line Count    ${Lines_of_TZA}
+    ${no_of_tunnels}    Issue_Command_On_Karaf_Console    ${TEP_SHOW_STATE}
+    ${lines_of_VXLAN}    Get Lines Containing String    ${no_of_tunnels}    VXLAN
+    Should Contain    ${no_of_tunnels}    ${STATE_UP}
+    Should Not Contain    ${no_of_tunnels}    ${STATE_DOWN}
+    Should Not Contain    ${no_of_tunnels}    ${STATE_UNKNOWN}
+    ${Actual_Tunnel_Count}    Get Line Count    ${lines_of_VXLAN}
+    ${Expected_Tunnel_Count}    Set Variable    ${Expected_Node_Count*${Expected_Node_Count - 1}}
+    Should Be Equal As Strings    ${Actual_Tunnel_Count}    ${Expected_Tunnel_Count}
+
+Check System Status
+    [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