Add console arg back to keyword
[integration/test.git] / csit / libraries / Genius.robot
index 4b1f597056649ea6b179dfddad376ff89397c8c1..9b95ec4afa84dcf7a539e76b78a7c6be045ba0bb 100644 (file)
@@ -9,6 +9,7 @@ Library           string
 Resource          ClusterManagement.robot
 Resource          DataModels.robot
 Resource          KarafKeywords.robot
+Resource          ODLTools.robot
 Resource          OVSDB.robot
 Resource          Utils.robot
 Resource          VpnOperations.robot
@@ -21,9 +22,10 @@ ${genius_config_dir}    ${CURDIR}/../variables/genius
 ${Bridge-1}       BR1
 ${Bridge-2}       BR2
 ${DEFAULT_MONITORING_INTERVAL}    Tunnel Monitoring Interval (for VXLAN tunnels): 1000
-@{GENIUS_DIAG_SERVICES}    OPENFLOW    IFM    ITM    DATASTORE
+@{GENIUS_DIAG_SERVICES}    OPENFLOW    IFM    ITM    DATASTORE    OVSDB
 ${vlan}           0
 ${gateway-ip}     0.0.0.0
+@{PORT}           BR1-eth1    BR2-eth1
 
 *** Keywords ***
 Genius Suite Setup
@@ -38,7 +40,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    ClusterManagement.Check Status of Services    @{GENIUS_DIAG_SERVICES}
+    Run_Keyword_If_At_Least_Oxygen    Wait Until Keyword Succeeds    60    2    ClusterManagement.Check Status Of Services Is OPERATIONAL    @{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}
@@ -149,32 +151,53 @@ BFD Suite Stop
 
 Delete All Vteps
     [Documentation]    This will delete vtep.
-    ${resp}    RequestsLibrary.Delete Request    session    ${CONFIG_API}/itm:transport-zones/    data=${vtep_body}
-    Should Be Equal As Strings    ${resp.status_code}    200
+    ${dpn_id_1} =    Genius.Get Dpn Ids    ${conn_id_1}
+    ${dpn_id_2} =    Genius.Get Dpn Ids    ${conn_id_2}
+    ${cmd} =    BuiltIn.Set Variable    tep:delete ${dpn_id_1} @{PORT}[0] ${vlan} ${TOOLS_SYSTEM_IP} ${subnet}/24 null ${itm_created[0]}
+    ${cmd2} =    BuiltIn.Set Variable    tep:delete ${dpn_id_2} @{PORT}[1] ${vlan} ${TOOLS_SYSTEM_2_IP} ${subnet}/24 null ${itm_created[0]}
+    KarafKeywords.Issue Command On Karaf Console    ${cmd}
+    KarafKeywords.Issue Command On Karaf Console    tep:commit
+    KarafKeywords.Issue Command On Karaf Console    ${cmd2}
+    KarafKeywords.Issue Command On Karaf Console    tep:commit
+    ${resp} =    RequestsLibrary.Delete Request    session    ${CONFIG_API}/itm:transport-zones/    data=${vtep_body}
     Log    "Before disconnecting CSS with controller"
     ${output} =    Issue Command On Karaf Console    ${TEP_SHOW}
+    BuiltIn.Should Not Contain    ${output}    ${itm_created[0]}
     BuiltIn.Wait Until Keyword Succeeds    30    5    Verify All Tunnel Delete on DS
+    BuiltIn.Run Keyword And Ignore Error    Remove All Elements At URI And Verify    ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/
+    ${resp} =    RequestsLibrary.Get Request    session    ${OPERATIONAL_API}/itm:not-hosted-transport-zones/
+    ${respjson}    RequestsLibrary.To Json    ${resp.content}    pretty_print=True
+    BuiltIn.Log    ${respjson}
+    BuiltIn.Should Not Contain    ${resp.content}    ${itm_created[0]}
 
 Genius Test Setup
     [Documentation]    Genius test case setup
     BuiltIn.Run Keyword And Ignore Error    KarafKeywords.Log_Testcase_Start_To_Controller_Karaf
 
 Genius Test Teardown
-    [Arguments]    ${data_models}
+    [Arguments]    ${data_models}    ${test_name}=${SUITE_NAME}.${TEST_NAME}    ${fail}=${FAIL_ON_EXCEPTIONS}
     OVSDB.Get DumpFlows And Ovsconfig    ${conn_id_1}    BR1
     OVSDB.Get DumpFlows And Ovsconfig    ${conn_id_2}    BR2
     BuiltIn.Run Keyword And Ignore Error    DataModels.Get Model Dump    ${ODL_SYSTEM_IP}    ${data_models}
+    KarafKeywords.Fail If Exceptions Found During Test    ${test_name}    fail=${fail}
+    ODLTools.Get All    node_ip=${ODL_SYSTEM_IP}    test_name=${test_name}
+
+Genius Suite Debugs
+    [Arguments]    ${data_models}
+    Genius Test Teardown    ${data_models}    test_name=${SUITE_NAME}    fail=False
 
 ITM Direct Tunnels Start Suite
     [Documentation]    start suite for itm scalability
     ClusterManagement.ClusterManagement_Setup
     ClusterManagement.Stop_Members_From_List_Or_All
-    Run Command On Remote System And Log    ${ODL_SYSTEM_IP}    sed -i -- 's/<itm-direct-tunnels>false/<itm-direct-tunnels>true/g' ${GENIUS_IFM_CONFIG_FLAG}
+    : FOR    ${i}    IN RANGE    ${NUM_ODL_SYSTEM}
+    \    Run Command On Remote System And Log    ${ODL_SYSTEM_${i+1}_IP}    sed -i -- 's/<itm-direct-tunnels>false/<itm-direct-tunnels>true/g' ${GENIUS_IFM_CONFIG_FLAG}
     ClusterManagement.Start_Members_From_List_Or_All
     Genius Suite Setup
 
 ITM Direct Tunnels Stop Suite
-    Run Command On Remote System And Log    ${ODL_SYSTEM_IP}    sed -i -- 's/<itm-direct-tunnels>true/<itm-direct-tunnels>false/g' ${GENIUS_IFM_CONFIG_FLAG}
+    : FOR    ${i}    IN RANGE    ${NUM_ODL_SYSTEM}
+    \    Run Command On Remote System And Log    ${ODL_SYSTEM_${i+1}_IP}    sed -i -- 's/<itm-direct-tunnels>true/<itm-direct-tunnels>false/g' ${GENIUS_IFM_CONFIG_FLAG}
     Genius Suite Teardown
 
 Verify Tunnel Monitoring is on
@@ -298,10 +321,10 @@ SRM Start Suite
     ${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
-    Genius Test Teardown    ${data_models}
+    Genius Suite Debugs    ${data_models}
 
 SRM Stop Suite
     [Documentation]    Stop suite for service recovery.
     Delete All Vteps
-    Genius Test Teardown    ${data_models}
+    Genius Suite Debugs    ${data_models}
     Genius Suite Teardown