From 7aff1f136f4d35f9206ab96739a51ab531d3cb94 Mon Sep 17 00:00:00 2001 From: Tomas Markovic Date: Thu, 3 May 2018 15:07:17 +0200 Subject: [PATCH] Remove variables.py It's no longer necessary in several test suites, as result verification was changed long ago. Bgp_app_peer reworked with templatedrequests. Refactor BgpOperations session usage. Remove unused libraries. Add RKAIE to karaf console write, because this is just informative and is not critical. Change-Id: Iac3b2b331ad105ec04c53c3fc05ee1391d777f06 Signed-off-by: Tomas Markovic --- csit/libraries/BgpOperations.robot | 20 +++-- .../bgpcep/bgpuser/bgp_app_peer_basic.robot | 88 ++++++------------- .../bgpcep/bgpuser/ebgp_peers_basic.robot | 20 ++--- .../suites/bgpcep/bgpuser/ibgp_peer_lsp.robot | 31 +++---- .../bgpcep/bgpuser/ibgp_peers_basic.robot | 26 +++--- 5 files changed, 72 insertions(+), 113 deletions(-) diff --git a/csit/libraries/BgpOperations.robot b/csit/libraries/BgpOperations.robot index 35d32262cb..78c9977bdd 100644 --- a/csit/libraries/BgpOperations.robot +++ b/csit/libraries/BgpOperations.robot @@ -7,9 +7,11 @@ Resource TemplatedRequests.robot Resource KillPythonTool.robot *** Variables *** -${VAR_BASE_BGP} ${CURDIR}/../variables/bgpfunctional ${BGP_BMP_DIR} ${CURDIR}/../variables/bgpfunctional/bmp_basic/filled_structure ${BGP_BMP_FEAT_DIR} ${CURDIR}/../variables/bgpfunctional/bmp_basic/empty_structure +${BGP_RIB_URI} ${OPERATIONAL_API}/bgp-rib:bgp-rib/rib/example-bgp-rib +${BGP_TOPOLOGY_URI} ${OPERATIONAL_TOPO_API}/topology/example-ipv4-topology +${VAR_BASE_BGP} ${CURDIR}/../variables/bgpfunctional *** Keywords *** Start Quagga Processes On ODL @@ -196,33 +198,33 @@ Teardown_Everything SSHLibrary.Close_All_Connections Check_Example_Bgp_Rib_Content - [Arguments] ${substr} ${error_message}=${JSONKEYSTR} not found, but expected. + [Arguments] ${session} ${substr} ${error_message}=${JSONKEYSTR} not found, but expected. [Documentation] Check the example-bgp-rib content for string - ${response}= RequestsLibrary.Get Request operational bgp-rib:bgp-rib/rib/example-bgp-rib + ${response}= RequestsLibrary.Get Request ${session} ${BGP_RIB_URI} BuiltIn.Log ${response.status_code} BuiltIn.Log ${response.text} BuiltIn.Should_Contain ${response.text} ${substr} ${error_message} values=False Check_Example_Bgp_Rib_Does_Not_Contain - [Arguments] ${substr} ${error_message}=${JSONKEYSTR} found, but not expected. + [Arguments] ${session} ${substr} ${error_message}=${JSONKEYSTR} found, but not expected. [Documentation] Check the example-bgp-rib does not contain the string - ${response}= RequestsLibrary.Get Request operational bgp-rib:bgp-rib/rib/example-bgp-rib + ${response}= RequestsLibrary.Get Request ${session} ${BGP_RIB_URI} BuiltIn.Log ${response.status_code} BuiltIn.Log ${response.text} BuiltIn.Should_Not_Contain ${response.text} ${substr} ${error_message} values=False Check_Example_IPv4_Topology_Content - [Arguments] ${string_to_check}=${EMPTY} + [Arguments] ${session} ${string_to_check}=${EMPTY} [Documentation] Check the example-ipv4-topology content for string - ${response}= RequestsLibrary.Get Request operational topology/example-ipv4-topology + ${response}= RequestsLibrary.Get Request ${session} ${BGP_TOPOLOGY_URI} BuiltIn.Log ${response.status_code} BuiltIn.Log ${response.text} BuiltIn.Should_Contain ${response.text} ${string_to_check} Check_Example_IPv4_Topology_Does_Not_Contain - [Arguments] ${string_to_check} + [Arguments] ${session} ${string_to_check} [Documentation] Check the example-ipv4-topology does not contain the string - ${response}= RequestsLibrary.Get Request operational topology/example-ipv4-topology + ${response}= RequestsLibrary.Get Request ${session} ${BGP_TOPOLOGY_URI} BuiltIn.Log ${response.status_code} BuiltIn.Log ${response.text} BuiltIn.Should_Not_Contain ${response.text} ${string_to_check} diff --git a/csit/suites/bgpcep/bgpuser/bgp_app_peer_basic.robot b/csit/suites/bgpcep/bgpuser/bgp_app_peer_basic.robot index a691a51c79..d3edd19284 100644 --- a/csit/suites/bgpcep/bgpuser/bgp_app_peer_basic.robot +++ b/csit/suites/bgpcep/bgpuser/bgp_app_peer_basic.robot @@ -54,11 +54,7 @@ Test Teardown FailFast.Start_Failing_Fast_If_This_Failed Library OperatingSystem Library SSHLibrary timeout=10s Library RequestsLibrary -Library ../../../libraries/norm_json.py -Variables ../../../variables/bgpuser/variables.py ${TOOLS_SYSTEM_IP} ${ODL_STREAM} Resource ../../../libraries/BGPcliKeywords.robot -Resource ../../../libraries/BGPSpeaker.robot -Resource ../../../libraries/CompareStream.robot Resource ../../../libraries/FailFast.robot Resource ../../../libraries/KillPythonTool.robot Resource ../../../libraries/TemplatedRequests.robot @@ -68,8 +64,6 @@ Resource ../../../libraries/WaitForFailure.robot Resource ../../../variables/Variables.robot *** Variables *** -${ACTUAL_RESPONSES_FOLDER} ${TEMPDIR}/actual -${EXPECTED_RESPONSES_FOLDER} ${TEMPDIR}/expected ${BGP_VARIABLES_FOLDER} ${CURDIR}/../../../variables/bgpuser/ ${TOOLS_SYSTEM_PROMPT} ${DEFAULT_LINUX_PROMPT} ${HOLDTIME} 180 @@ -94,6 +88,7 @@ ${PROTOCOL_OPENCONFIG} ${RIB_INSTANCE} ${DEVICE_NAME} controller-config ${BGP_PEER_NAME} example-bgp-peer ${RIB_INSTANCE} example-bgp-rib +${SCRIPT_URI_OPT} --uri config/bgp-rib:application-rib/${ODL_SYSTEM_IP}/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/ *** Test Cases *** Reconfigure_ODL_To_Accept_BGP_Peer_Connection @@ -112,20 +107,20 @@ Reconfigure_ODL_To_Accept_BGP_Application_Peer Check_For_Empty_Example-IPv4-Topology [Documentation] Sanity check example-ipv4-topology is up but empty. [Tags] critical - Wait_For_Topology_To_Change_To ${empty_json} 000_Empty.json timeout=120s + Wait_For_Topology_To_Change_To empty_topology timeout=180s TC1_BGP_Application_Peer_Post_3_Initial_Routes [Documentation] Start BGP application peer tool and give it ${BGP_APP_PEER_TIMEOUT} [Tags] critical Switch_To_BGP_Application_Peer_Console - Start_Console_Tool ${BGP_APP_PEER_POST_COMMAND} ${scritp_uri_opt} ${BGP_APP_PEER_OPTIONS} + Start_Console_Tool ${BGP_APP_PEER_POST_COMMAND} ${SCRIPT_URI_OPT} ${BGP_APP_PEER_OPTIONS} Wait_Until_Console_Tool_Finish ${BGP_APP_PEER_TIMEOUT} Store_File_To_Workspace bgp_app_peer.log bgp_app_peer_initial_post_tc1.log TC1_Check_Example-IPv4-Topology_Is_Filled_With_3_Routes [Documentation] See new routes in example-ipv4-topology as a proof that synchronization was correct. [Tags] critical - Wait_For_Topology_To_Change_To ${filled_json} 010_Filled.json + Wait_For_Topology_To_Change_To filled_topology TC1_Connect_BGP_Peer [Documentation] Start BGP peer tool @@ -149,14 +144,14 @@ TC1_BGP_Application_Peer_Delete_3_Initial_Routes [Documentation] Start BGP application peer tool and give him ${BGP_APP_PEER_TIMEOUT} [Tags] critical Switch_To_BGP_Application_Peer_Console - Start_Console_Tool ${BGP_APP_PEER_DELETE_COMMAND} ${scritp_uri_opt} ${BGP_APP_PEER_OPTIONS} + Start_Console_Tool ${BGP_APP_PEER_DELETE_COMMAND} ${SCRIPT_URI_OPT} ${BGP_APP_PEER_OPTIONS} Wait_Until_Console_Tool_Finish ${BGP_APP_PEER_TIMEOUT} Store_File_To_Workspace bgp_app_peer.log bgp_app_peer_delete_tc1.log TC1_Check_Example-IPv4-Topology_Is_Empty [Documentation] See new routes are deleted. [Tags] critical - Wait_For_Topology_To_Change_To ${empty_json} 011_Empty.json + Wait_For_Topology_To_Change_To empty_topology TC1_Peer_Check_Incomming_Updates_For_3_Withdrawn_Prefixes [Documentation] Check incomming updates for new routes @@ -189,14 +184,14 @@ TC2_BGP_Application_Peer_Put_3_Routes [Documentation] Start BGP application peer tool and give him ${BGP_APP_PEER_TIMEOUT} [Tags] critical Switch_To_BGP_Application_Peer_Console - Start_Console_Tool ${BGP_APP_PEER_PUT_COMMAND} ${scritp_uri_opt} ${BGP_APP_PEER_OPTIONS} + Start_Console_Tool ${BGP_APP_PEER_PUT_COMMAND} ${SCRIPT_URI_OPT} ${BGP_APP_PEER_OPTIONS} Wait_Until_Console_Tool_Finish ${BGP_APP_PEER_TIMEOUT} Store_File_To_Workspace bgp_app_peer.log bgp_app_peer_put_tc2.log TC2_Check_Example-IPv4-Topology_Is_Filled_With_3_Routes [Documentation] See new routes in example-ipv4-topology as a proof that synchronization was correct. [Tags] critical - Wait_For_Topology_To_Change_To ${filled_json} 020_Filled.json + Wait_For_Topology_To_Change_To filled_topology TC2_BGP_Peer_Check_Incomming_Updates_For_3_Introduced_Prefixes [Documentation] Check incomming updates for new routes @@ -212,14 +207,14 @@ TC2_BGP_Application_Peer_Delete_All_Routes [Documentation] Start BGP application peer tool and give him ${BGP_APP_PEER_TIMEOUT} [Tags] critical Switch_To_BGP_Application_Peer_Console - Start_Console_Tool ${BGP_APP_PEER_DELETE_ALL_COMMAND} ${scritp_uri_opt} ${BGP_APP_PEER_OPTIONS} + Start_Console_Tool ${BGP_APP_PEER_DELETE_ALL_COMMAND} ${SCRIPT_URI_OPT} ${BGP_APP_PEER_OPTIONS} Wait_Until_Console_Tool_Finish ${BGP_APP_PEER_TIMEOUT} Store_File_To_Workspace bgp_app_peer.log bgp_app_peer_delete_all_tc2.log TC2_Check_Example-IPv4-Topology_Is_Empty [Documentation] See new routes are deleted. [Tags] critical - Wait_For_Topology_To_Change_To ${empty_json} 021_Empty.json + Wait_For_Topology_To_Change_To empty_topology TC2_BGP_Peer_Check_Incomming_Updates_For_3_Withdrawn_Prefixes [Documentation] Check incomming updates for new routes @@ -242,14 +237,14 @@ TC3_BGP_Application_Peer_Put_3_Routes [Documentation] Start BGP application peer tool and give him ${BGP_APP_PEER_TIMEOUT} [Tags] critical Switch_To_BGP_Application_Peer_Console - Start_Console_Tool ${BGP_APP_PEER_PUT_COMMAND} ${scritp_uri_opt} ${BGP_APP_PEER_OPTIONS} + Start_Console_Tool ${BGP_APP_PEER_PUT_COMMAND} ${SCRIPT_URI_OPT} ${BGP_APP_PEER_OPTIONS} Wait_Until_Console_Tool_Finish ${BGP_APP_PEER_TIMEOUT} Store_File_To_Workspace bgp_app_peer.log bgp_app_peer_put_tc3.log TC3_Check_Example-IPv4-Topology_Is_Filled_With_3_Routes [Documentation] See new routes in example-ipv4-topology as a proof that synchronization was correct. [Tags] critical - Wait_For_Topology_To_Change_To ${filled_json} 030_Filled.json + Wait_For_Topology_To_Change_To filled_topology TC3_Reconnect_BGP_Peer_And_Check_Incomming_Updates_For_3_Introduced_Prefixes [Documentation] Start BGP peer tool @@ -268,14 +263,14 @@ TC3_BGP_Application_Peer_Delete_All_Routes [Documentation] Start BGP application peer tool and give him ${BGP_APP_PEER_TIMEOUT} [Tags] critical Switch_To_BGP_Application_Peer_Console - Start_Console_Tool ${BGP_APP_PEER_DELETE_ALL_COMMAND} ${scritp_uri_opt} ${BGP_APP_PEER_OPTIONS} + Start_Console_Tool ${BGP_APP_PEER_DELETE_ALL_COMMAND} ${SCRIPT_URI_OPT} ${BGP_APP_PEER_OPTIONS} Wait_Until_Console_Tool_Finish ${BGP_APP_PEER_TIMEOUT} Store_File_To_Workspace bgp_app_peer.log bgp_app_peer_delete_all_tc3.log TC3_Check_Example-IPv4-Topology_Is_Empty [Documentation] See new routes are deleted. [Tags] critical - Wait_For_Topology_To_Change_To ${empty_json} 031_Empty.json + Wait_For_Topology_To_Change_To empty_topology TC3_BGP_Peer_Check_Incomming_Updates_For_3_Withdrawn_Prefixes [Documentation] Check incomming updates for new routes @@ -309,34 +304,24 @@ Delete_Bgp_Application_Peer_Configuration *** Keywords *** Setup_Everything [Documentation] Initialize SetupUtils. SSH-login to mininet machine, create HTTP session, - ... prepare directories for responses, put Python tool to mininet machine, setup imported resources. + ... put Python tool to mininet machine, setup imported resources. SetupUtils.Setup_Utils_For_Setup_And_Teardown SSHLibrary.Set_Default_Configuration prompt=${TOOLS_SYSTEM_PROMPT} Open_BGP_Peer_Console SSHKeywords.Require_Python SSHKeywords.Assure_Library_Ipaddr target_dir=. SSHLibrary.Put_File ${CURDIR}/../../../../tools/fastbgp/play.py - Open_BGP_Aplicationp_Peer_Console + Open_BGP_Aplication_Peer_Console SSHLibrary.Put_File ${CURDIR}/../../../../tools/fastbgp/bgp_app_peer.py SSHLibrary.Put_File ${CURDIR}/../../../../tools/fastbgp/ipv4-routes-template.xml* - OperatingSystem.Remove_Directory ${EXPECTED_RESPONSES_FOLDER} recursive=True - OperatingSystem.Remove_Directory ${ACTUAL_RESPONSES_FOLDER} recursive=True - # The previous suite may have been using the same directories. - OperatingSystem.Create_Directory ${EXPECTED_RESPONSES_FOLDER} - OperatingSystem.Create_Directory ${ACTUAL_RESPONSES_FOLDER} - RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${OPERATIONAL_TOPO_API} auth=${AUTH} RequestsLibrary.Create_Session ${CONFIG_SESSION} http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set ${ODL_LOG_LEVEL} KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set ${ODL_BGP_LOG_LEVEL} org.opendaylight.bgpcep KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set ${ODL_BGP_LOG_LEVEL} org.opendaylight.protocol - ${scritp_uri_opt}= Set Variable --uri config/bgp-rib:application-rib/${ODL_SYSTEM_IP}/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/ - BuiltIn.Set_Suite_Variable ${scritp_uri_opt} Teardown_Everything - [Documentation] Create and Log the diff between expected and actual responses, make sure Python tool was killed. + [Documentation] Make sure Python tool was killed. ... Tear down imported Resources. - ${diff}= OperatingSystem.Run diff -dur ${EXPECTED_RESPONSES_FOLDER} ${ACTUAL_RESPONSES_FOLDER} - BuiltIn.Log ${diff} KillPythonTool.Search_And_Kill_Remote_Python 'play\.py' KillPythonTool.Search_And_Kill_Remote_Python 'bgp_app_peer\.py' RequestsLibrary.Delete_All_Sessions @@ -347,7 +332,7 @@ Open_BGP_Peer_Console SSHLibrary.Open_Connection ${TOOLS_SYSTEM_IP} alias=bgp_peer_console SSHKeywords.Flexible_Mininet_Login -Open_BGP_Aplicationp_Peer_Console +Open_BGP_Aplication_Peer_Console [Documentation] Create a session for BGP peer. SSHLibrary.Open_Connection ${TOOLS_SYSTEM_IP} alias=bgp_app_peer_console SSHKeywords.Flexible_Mininet_Login @@ -359,35 +344,16 @@ Switch_To_BGP_Application_Peer_Console SSHLibrary.Switch Connection bgp_app_peer_console Wait_For_Topology_To_Change_To - [Arguments] ${json_topology} ${filename} ${timeout}=10s ${refresh}=1s - [Documentation] Normalize the expected json topology and save it to ${EXPECTED_RESPONSES_FOLDER}. - ... Wait until Compare_Topology matches. ${ACTUAL_RESPONSES_FOLDER} will hold its last result. - ${topology_normalized}= Normalize_And_Save_Expected_Json ${json_topology} ${filename} ${EXPECTED_RESPONSES_FOLDER} - BuiltIn.Wait_Until_Keyword_Succeeds ${timeout} ${refresh} Compare_Topology ${topology_normalized} ${filename} + [Arguments] ${folder_name} ${timeout}=10s ${refresh}=1s + [Documentation] Wait until Compare_Topology matches expected result. + BuiltIn.Wait_Until_Keyword_Succeeds ${timeout} ${refresh} Compare_Topology ${folder_name} Verify_That_Topology_Does_Not_Change_From - [Arguments] ${json_topology} ${filename} ${timeout}=10s ${refresh}=1s - [Documentation] Normalize the expected json topology and save it to ${EXPECTED_RESPONSES_FOLDER}. - ... Verify that Compare_Topology keeps passing. ${ACTUAL_RESPONSES_FOLDER} will hold its last result. - ${topology_normalized}= Normalize_And_Save_Expected_Json ${json_topology} ${filename} ${EXPECTED_RESPONSES_FOLDER} - WaitForFailure.Verify_Keyword_Does_Not_Fail_Within_Timeout ${timeout} ${refresh} Compare_Topology ${topology_normalized} ${filename} + [Arguments] ${folder_name} ${timeout}=10s ${refresh}=1s + [Documentation] Verify that Compare_Topology keeps passing, it will hold its last result. + WaitForFailure.Verify_Keyword_Does_Not_Fail_Within_Timeout ${timeout} ${refresh} Compare_Topology ${folder_name} Compare_Topology - [Arguments] ${expected_normalized} ${filename} - [Documentation] Get current example-ipv4-topology as json, normalize it, save to ${ACTUAL_RESPONSES_FOLDER}. - ... Check that status code is 200, check that normalized jsons match exactly. - ${response}= RequestsLibrary.Get Request operational topology/example-ipv4-topology - BuiltIn.Log ${response.status_code} - BuiltIn.Log ${response.text} - ${actual_normalized}= Normalize_And_Save_Expected_Json ${response.text} ${filename} ${ACTUAL_RESPONSES_FOLDER} - BuiltIn.Should_Be_Equal_As_Strings ${response.status_code} 200 - BuiltIn.Should_Be_Equal ${expected_normalized} ${actual_normalized} - -Normalize_And_Save_Expected_Json - [Arguments] ${json_text} ${filename} ${directory} - [Documentation] Normalize given json using norm_json library. Log and save the result to given filename under given directory. - ${json_normalized}= norm_json.normalize_json_text ${json_text} - BuiltIn.Log ${json_normalized} - OperatingSystem.Create_File ${directory}${/}${filename} ${json_normalized} - # TODO: Should we prepend .json to the filename? When we detect it is not already prepended? - [Return] ${json_normalized} + [Arguments] ${folder_name} + [Documentation] Get current example-ipv4-topology as json, and compare it to expected result. + TemplatedRequests.Get_As_Json_Templated ${BGP_VARIABLES_FOLDER}${/}${folder_name} session=${CONFIG_SESSION} verify=True diff --git a/csit/suites/bgpcep/bgpuser/ebgp_peers_basic.robot b/csit/suites/bgpcep/bgpuser/ebgp_peers_basic.robot index e66d6b18c9..a21ebce2da 100644 --- a/csit/suites/bgpcep/bgpuser/ebgp_peers_basic.robot +++ b/csit/suites/bgpcep/bgpuser/ebgp_peers_basic.robot @@ -34,18 +34,16 @@ Resource ../../../libraries/BgpOperations.robot Resource ../../../libraries/BGPSpeaker.robot Resource ../../../libraries/CompareStream.robot Resource ../../../libraries/FailFast.robot -Resource ../../../libraries/KillPythonTool.robot Resource ../../../libraries/SetupUtils.robot Resource ../../../libraries/SSHKeywords.robot Resource ../../../libraries/TemplatedRequests.robot Resource ../../../variables/Variables.robot -Resource ../../../libraries/WaitForFailure.robot -Variables ../../../variables/bgpuser/variables.py ${TOOLS_SYSTEM_IP} ${ODL_STREAM} *** Variables *** ${BGP_VARIABLES_FOLDER} ${CURDIR}/../../../variables/bgpuser/ -${HOLDTIME} 180 ${BGP_PEER_LOG_LEVEL} debug +${CONFIG_SESSION} config-session +${HOLDTIME} 180 ${ODL_LOG_LEVEL} INFO ${ODL_BGP_LOG_LEVEL} DEFAULT ${iBGP_PEER1_IP} 127.0.0.1 @@ -111,7 +109,7 @@ Connect_iBGP_Peer1 SSHLibrary.Switch Connection ibgp_peer1_console Start_Console_Tool ${iBGP_PEER1_COMMAND} ${iBGP_PEER1_OPTIONS} Read_And_Fail_If_Prompt_Is_Seen - BgpOperations.Check_Example_IPv4_Topology_Does_Not_Contain prefix + BgpOperations.Check_Example_IPv4_Topology_Does_Not_Contain ${CONFIG_SESSION} prefix Connect_eBGP_Peer1 [Documentation] Connect BGP peer @@ -122,8 +120,8 @@ Connect_eBGP_Peer1 Check_IPv4_Topology_For_First_Path [Documentation] The IPv4 topology shall contain the route announced by the first eBGP - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content "node-id":"${eBGP_PEER1_NEXT_HOP}" - BgpOperations.Check_Example_IPv4_Topology_Content "prefix":"${eBGP_PEER1_FIRST_PREFIX_IP}/${PREFIX_LEN}" + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content ${CONFIG_SESSION} "node-id":"${eBGP_PEER1_NEXT_HOP}" + BgpOperations.Check_Example_IPv4_Topology_Content ${CONFIG_SESSION} "prefix":"${eBGP_PEER1_FIRST_PREFIX_IP}/${PREFIX_LEN}" iBGP_Check_Log_For_Introduced_Prefixes [Documentation] Check incomming updates for introduced routes @@ -152,8 +150,8 @@ Disconnect_eBGP_Peer1 Check_IPv4_Topology_For_Second_Path [Documentation] The IPv4 topology shall contain the route announced by the second eBGP now - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content "node-id":"${eBGP_PEER2_NEXT_HOP}" - BgpOperations.Check_Example_IPv4_Topology_Content "prefix":"${eBGP_PEER2_FIRST_PREFIX_IP}/${PREFIX_LEN}" + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content ${CONFIG_SESSION} "node-id":"${eBGP_PEER2_NEXT_HOP}" + BgpOperations.Check_Example_IPv4_Topology_Content ${CONFIG_SESSION} "prefix":"${eBGP_PEER2_FIRST_PREFIX_IP}/${PREFIX_LEN}" iBGP_Check_Log_For_Updated_Prefixes [Documentation] Check incomming updates for updated routes @@ -176,7 +174,7 @@ Disconnect_eBGP_Peer2 Check_For_Empty_IPv4_Topology [Documentation] The IPv4 topology shall be empty - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Does_Not_Contain prefix + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Does_Not_Contain ${CONFIG_SESSION} prefix [Teardown] Report_Failure_Due_To_Bug 4835 iBGP_Check_Log_For_Withdrawn_Prefixes @@ -294,7 +292,7 @@ Setup_Everything SSHKeywords.Require_Python SSHKeywords.Assure_Library_Ipaddr target_dir=. SSHLibrary.Put_File ${CURDIR}/../../../../tools/fastbgp/play.py - RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${OPERATIONAL_TOPO_API} auth=${AUTH} + RequestsLibrary.Create_Session ${CONFIG_SESSION} http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} TemplatedRequests.Create_Default_Session KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set ${ODL_LOG_LEVEL} KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set ${ODL_BGP_LOG_LEVEL} org.opendaylight.bgpcep diff --git a/csit/suites/bgpcep/bgpuser/ibgp_peer_lsp.robot b/csit/suites/bgpcep/bgpuser/ibgp_peer_lsp.robot index f447201a9f..d8c5dec742 100644 --- a/csit/suites/bgpcep/bgpuser/ibgp_peer_lsp.robot +++ b/csit/suites/bgpcep/bgpuser/ibgp_peer_lsp.robot @@ -17,18 +17,14 @@ Test Teardown SetupUtils.Teardown_Test_Show_Bugs_If_Test_Failed Library OperatingSystem Library RequestsLibrary Library DateTime -Variables ${CURDIR}/../../../variables/bgpuser/variables.py ${TOOLS_SYSTEM_IP} ${ODL_STREAM} -Resource ${CURDIR}/../../../variables/Variables.robot -Resource ${CURDIR}/../../../libraries/BGPcliKeywords.robot -Resource ${CURDIR}/../../../libraries/BgpOperations.robot -Resource ${CURDIR}/../../../libraries/BGPSpeaker.robot -Resource ${CURDIR}/../../../libraries/FailFast.robot -Resource ${CURDIR}/../../../libraries/KarafKeywords.robot -Resource ${CURDIR}/../../../libraries/KillPythonTool.robot -Resource ${CURDIR}/../../../libraries/SetupUtils.robot -Resource ${CURDIR}/../../../libraries/SSHKeywords.robot -Resource ${CURDIR}/../../../libraries/TemplatedRequests.robot -Resource ${CURDIR}/../../../libraries/WaitForFailure.robot +Resource ../../../libraries/BGPcliKeywords.robot +Resource ../../../libraries/BgpOperations.robot +Resource ../../../libraries/KarafKeywords.robot +Resource ../../../libraries/SetupUtils.robot +Resource ../../../libraries/SSHKeywords.robot +Resource ../../../libraries/TemplatedRequests.robot +Resource ../../../libraries/WaitForFailure.robot +Resource ../../../variables/Variables.robot *** Variables *** ${BGP_VARIABLES_FOLDER} ${CURDIR}/../../../variables/bgpuser/ @@ -62,13 +58,13 @@ TC1_Check_Example_Bgp_Rib_Is_Empty [Documentation] Check RIB for none linkstate-routes [Tags] critical SSHLibrary.Switch Connection bgp_peer_console - BgpOperations.Check_Example_Bgp_Rib_Does_Not_Contain ${JSONKEYSTR} + BgpOperations.Check_Example_Bgp_Rib_Does_Not_Contain ${CONFIG_SESSION} ${JSONKEYSTR} TC1_Connect_BGP_Peer [Documentation] Connect BGP peer with advertising the routes without mandatory params like LOC_PREF. [Tags] critical SSHLibrary.Switch Connection bgp_peer_console - Log_Message_To_Controller_Karaf Error = WELL_KNOWN_ATTR_MISSING is EXPECTED in this test case, and should be thrown when missing mandatory attributes. + BuiltIn.Run_Keyword_And_Ignore_Error KarafKeywords.Log_Message_To_Controller_Karaf Error = WELL_KNOWN_ATTR_MISSING is EXPECTED in this test case, and should be thrown when missing mandatory attributes. BGPcliKeywords.Start_Console_Tool ${BGP_PEER_COMMAND} ${SKIP_PARAMS} ${BGP_PEER_OPTIONS} BGPcliKeywords.Read_And_Fail_If_Prompt_Is_Seen @@ -76,7 +72,7 @@ TC1_Check_Example_Bgp_Rib [Documentation] Check RIB for not containig linkstate-route(s), because update messages were not good. [Tags] critical SSHLibrary.Switch Connection bgp_peer_console - WaitForFailure.Verify_Keyword_Does_Not_Fail_Within_Timeout ${DEFAULT_RIB_CHECK_TIMEOUT} ${DEFAULT_RIB_CHECK_PERIOD} BgpOperations.Check_Example_Bgp_Rib_Does_Not_Contain ${JSONKEYSTR} + WaitForFailure.Verify_Keyword_Does_Not_Fail_Within_Timeout ${DEFAULT_RIB_CHECK_TIMEOUT} ${DEFAULT_RIB_CHECK_PERIOD} BgpOperations.Check_Example_Bgp_Rib_Does_Not_Contain ${CONFIG_SESSION} ${JSONKEYSTR} TC1_Disconnect_BGP_Peer [Documentation] Stop BGP peer & store logs @@ -100,7 +96,7 @@ TC2_Check_Example_Bgp_Rib_Is_Empty [Documentation] Check RIB for none linkstate-routes [Tags] critical SSHLibrary.Switch Connection bgp_peer_console - BgpOperations.Check_Example_Bgp_Rib_Does_Not_Contain ${JSONKEYSTR} + BgpOperations.Check_Example_Bgp_Rib_Does_Not_Contain ${CONFIG_SESSION} ${JSONKEYSTR} TC2_Connect_BGP_Peer [Documentation] Connect BGP peer @@ -113,7 +109,7 @@ TC2_Check_Example_Bgp_Rib [Documentation] Check RIB for linkstate-route(s) [Tags] critical SSHLibrary.Switch Connection bgp_peer_console - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_RIB_CHECK_TIMEOUT} ${DEFAULT_RIB_CHECK_PERIOD} BgpOperations.Check_Example_Bgp_Rib_Content ${JSONKEYSTR} + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_RIB_CHECK_TIMEOUT} ${DEFAULT_RIB_CHECK_PERIOD} BgpOperations.Check_Example_Bgp_Rib_Content ${CONFIG_SESSION} ${JSONKEYSTR} TC2_Disconnect_BGP_Peer [Documentation] Stop BGP peer & store logs @@ -138,7 +134,6 @@ Setup_Everything SSHKeywords.Require_Python SSHKeywords.Assure_Library_Ipaddr target_dir=. SSHLibrary.Put_File ${CURDIR}/../../../../tools/fastbgp/play.py - RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${OPERATIONAL_API} auth=${AUTH} RequestsLibrary.Create_Session ${CONFIG_SESSION} http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} KarafKeywords.Setup_Karaf_Keywords KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set ${ODL_LOG_LEVEL} diff --git a/csit/suites/bgpcep/bgpuser/ibgp_peers_basic.robot b/csit/suites/bgpcep/bgpuser/ibgp_peers_basic.robot index b16c3d4ed8..641c1dae92 100644 --- a/csit/suites/bgpcep/bgpuser/ibgp_peers_basic.robot +++ b/csit/suites/bgpcep/bgpuser/ibgp_peers_basic.robot @@ -34,7 +34,6 @@ Test Teardown FailFast.Start_Failing_Fast_If_This_Failed Library OperatingSystem Library RequestsLibrary Library DateTime -Variables ../../../variables/bgpuser/variables.py ${TOOLS_SYSTEM_IP} ${ODL_STREAM} Resource ../../../variables/Variables.robot Resource ../../../libraries/BGPcliKeywords.robot Resource ../../../libraries/BgpOperations.robot @@ -93,14 +92,14 @@ TC1_Connect_BGP_Peer1 [Tags] critical SSHLibrary.Switch Connection bgp_peer1_console BGPCliKeywords.Start_Console_Tool ${BGP_PEER1_COMMAND} ${BGP_PEER1_OPTIONS} - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content {"prefix":"${BGP_PEER1_FIRST_PREFIX_IP}/${PREFIX_LEN}"} + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content ${CONFIG_SESSION} {"prefix":"${BGP_PEER1_FIRST_PREFIX_IP}/${PREFIX_LEN}"} TC1_Connect_BGP_Peer2 [Documentation] Connect BGP peer [Tags] critical SSHLibrary.Switch Connection bgp_peer2_console BGPCliKeywords.Start_Console_Tool ${BGP_PEER2_COMMAND} ${BGP_PEER2_OPTIONS} - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content {"prefix":"${BGP_PEER2_FIRST_PREFIX_IP}/${PREFIX_LEN}"} + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content ${CONFIG_SESSION} {"prefix":"${BGP_PEER2_FIRST_PREFIX_IP}/${PREFIX_LEN}"} TC1_BGP_Peer1_Check_Log_For_Introduced_Prefixes [Documentation] Check incomming updates for new routes @@ -140,7 +139,7 @@ TC1_Disconnect_BGP_Peer2 BGPCliKeywords.Store_File_To_Workspace ${BGP_PEER2_LOG_FILE} tc1_${BGP_PEER2_LOG_FILE} TC_1_Check_for_Empty_IPv4_Topology - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Does_Not_Contain prefix + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Does_Not_Contain ${CONFIG_SESSION} prefix TC1_Delete_BGP_Peers_Configuration [Documentation] Delete all previously configured BGP peers. @@ -167,14 +166,14 @@ TC2_Connect_BGP_Peer1 [Tags] critical SSHLibrary.Switch Connection bgp_peer1_console BGPCliKeywords.Start_Console_Tool ${BGP_PEER1_COMMAND} ${BGP_PEER1_OPTIONS} - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content {"prefix":"${BGP_PEER1_FIRST_PREFIX_IP}/${PREFIX_LEN}"} + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content ${CONFIG_SESSION} {"prefix":"${BGP_PEER1_FIRST_PREFIX_IP}/${PREFIX_LEN}"} TC2_Connect_BGP_Peer2 [Documentation] Connect BGP peer [Tags] critical SSHLibrary.Switch Connection bgp_peer2_console BGPCliKeywords.Start_Console_Tool ${BGP_PEER2_COMMAND} ${BGP_PEER2_OPTIONS} - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content {"prefix":"${BGP_PEER2_FIRST_PREFIX_IP}/${PREFIX_LEN}"} + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content ${CONFIG_SESSION} {"prefix":"${BGP_PEER2_FIRST_PREFIX_IP}/${PREFIX_LEN}"} TC2_BGP_Peer1_Check_Log_For_Introduced_Prefixes [Documentation] Check incomming updates for new routes @@ -214,7 +213,7 @@ TC2_Disconnect_BGP_Peer2 BGPCliKeywords.Store_File_To_Workspace ${BGP_PEER2_LOG_FILE} tc2_${BGP_PEER2_LOG_FILE} TC_2_Check_for_Empty_IPv4_Topology - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Does_Not_Contain prefix + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Does_Not_Contain ${CONFIG_SESSION} prefix TC2_Delete_BGP_Peers_Configuration [Documentation] Delete all previously configured BGP peers. @@ -241,14 +240,14 @@ TC3_Connect_BGP_Peer1 [Tags] critical SSHLibrary.Switch Connection bgp_peer1_console BGPCliKeywords.Start_Console_Tool ${BGP_PEER1_COMMAND} ${BGP_PEER1_OPTIONS} - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content {"prefix":"${BGP_PEER1_FIRST_PREFIX_IP}/${PREFIX_LEN}"} + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content ${CONFIG_SESSION} {"prefix":"${BGP_PEER1_FIRST_PREFIX_IP}/${PREFIX_LEN}"} TC3_Connect_BGP_Peer2 [Documentation] Connect BGP peer [Tags] critical SSHLibrary.Switch Connection bgp_peer2_console BGPCliKeywords.Start_Console_Tool ${BGP_PEER2_COMMAND} ${BGP_PEER2_OPTIONS} - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content {"prefix":"${BGP_PEER2_FIRST_PREFIX_IP}/${PREFIX_LEN}"} + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content ${CONFIG_SESSION} {"prefix":"${BGP_PEER2_FIRST_PREFIX_IP}/${PREFIX_LEN}"} TC3_BGP_Peer1_Check_Log_For_No_Updates [Documentation] Check for no updates received by iBGP peer No. 1 @@ -278,7 +277,7 @@ TC3_Disconnect_BGP_Peer2 BGPCliKeywords.Store_File_To_Workspace ${BGP_PEER2_LOG_FILE} tc3_${BGP_PEER2_LOG_FILE} TC_3_Check_for_Empty_IPv4_Topology - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Does_Not_Contain prefix + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Does_Not_Contain ${CONFIG_SESSION} prefix TC3_Delete_BGP_Peers_Configuration [Documentation] Delete all previously configured BGP peers. @@ -307,10 +306,10 @@ TC4_Connect_BGP_Peers BuiltIn.Set_Suite_Variable ${peer1_cluster_id} 127.0.0.4 BuiltIn.Set_Suite_Variable ${default_cluster_id} 192.0.2.2 BGPCliKeywords.Start_Console_Tool ${BGP_PEER1_COMMAND} --cluster=${peer1_cluster_id} ${BGP_PEER1_OPTIONS} - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content {"prefix":"${BGP_PEER1_FIRST_PREFIX_IP}/${PREFIX_LEN}"} + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content ${CONFIG_SESSION} {"prefix":"${BGP_PEER1_FIRST_PREFIX_IP}/${PREFIX_LEN}"} SSHLibrary.Switch Connection bgp_peer2_console BGPCliKeywords.Start_Console_Tool ${BGP_PEER2_COMMAND} --cluster=${BGP_PEER2_IP} ${BGP_PEER2_OPTIONS} - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content {"prefix":"${BGP_PEER2_FIRST_PREFIX_IP}/${PREFIX_LEN}"} + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Content ${CONFIG_SESSION} {"prefix":"${BGP_PEER2_FIRST_PREFIX_IP}/${PREFIX_LEN}"} TC4_BGP_Peer1_Check_Rib_Out_For_Introduced_Prefixes [Documentation] Check incomming updates for new routes and respective cluster-ids @@ -345,7 +344,7 @@ TC4_Disconnect_BGP_Peers TC4_Check_for_Empty_IPv4_Topology [Documentation] Checks for empty topology after CompareStream.Run_Keyword_If_Less_Than_Fluorine BuiltIn.Pass_Execution Test case valid for version fluorine and above. - BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Does_Not_Contain prefix + BuiltIn.Wait_Until_Keyword_Succeeds ${DEFAULT_TOPOLOGY_CHECK_TIMEOUT} ${DEFAULT_TOPOLOGY_CHECK_PERIOD} BgpOperations.Check_Example_IPv4_Topology_Does_Not_Contain ${CONFIG_SESSION} prefix TC4_Delete_BGP_Peers_Configuration [Documentation] Delete all previously configured BGP peers. @@ -370,7 +369,6 @@ Setup_Everything SSHKeywords.Require_Python SSHKeywords.Assure_Library_Ipaddr target_dir=. SSHLibrary.Put_File ${CURDIR}/../../../../tools/fastbgp/play.py - RequestsLibrary.Create_Session operational http://${ODL_SYSTEM_IP}:${RESTCONFPORT}${OPERATIONAL_TOPO_API} auth=${AUTH} RequestsLibrary.Create_Session ${CONFIG_SESSION} http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set ${ODL_LOG_LEVEL} KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set ${ODL_BGP_LOG_LEVEL} org.opendaylight.bgpcep -- 2.36.6