BuiltIn.Should_Be_Equal ${response.status_code} ${200} Got status: ${response.status_code} and message: ${response.text}
# CompareStream.Set_Variable_If_At_Least_Else cannot be used direcly, because ${response.text}["data-change-counter"]["count"] would be
# evaluated before the stream comparison and it causes failures
- ${at_least_boron}= CompareStream.Set_Variable_If_At_Least_Boron ${True} ${False}
- ${count} = BuiltIn.Run Keyword If ${at_least_boron} BuiltIn.Evaluate ${response.text}["data-change-counter"]["counter"][0]["count"]
- ... ELSE BuiltIn.Evaluate ${response.text}["data-change-counter"]["count"]
+ ${count} = BuiltIn.Evaluate ${response.text}["data-change-counter"]["counter"][0]["count"]
[Return] ${count}
Reconfigure_Topology_Name
Log ${resp.content}
Should Be Equal As Strings ${resp.status_code} 200
${group_count}= Get Count ${resp.content} "group-type"
- ${count}= CompareStream.Set_Variable_If_At Least_Boron ${group_count} ${group_count/2}
- Should Be Equal As Integers ${count} ${groups}
+ Should Be Equal As Integers ${group_count} ${groups}
Log ${resp.content}
Should Be Equal As Strings ${resp.status_code} 200
${group_count}= Get Count ${resp.content} "group-type"
- ${count}= CompareStream.Set_Variable_If_At Least_Boron ${group_count} ${group_count/2}
- Should Be Equal As Integers ${count} ${groups}
+ Should Be Equal As Integers ${group_count} ${groups}
Check Flow Stats Are Available
[Arguments] ${node_id} ${flows}
[Arguments] ${node}=127.0.0.1 ${session}=session ${domain}=global ${scope}=all
[Documentation] Gets all binding via RPC from Master DB of node
${DATA} Get Bindings From Node Xml ${node} ${scope} ${domain}
- ${resp1} CompareStream.Run_Keyword_If_At_Least_Boron TemplatedRequests.Post_To_Uri ${REST_CONTEXT}:get-node-bindings data=${DATA} accept=${ACCEPT_JSON} content_type=${HEADERS_XML}
- ... session=${session}
- ${resp2} CompareStream.Run_Keyword_If_Less_Than_Boron TemplatedRequests.Get_As_Json_From_Uri /restconf/operational/network-topology:network-topology/topology/sxp/node/${node}/master-database/ session=${session}
- ${resp} CompareStream.Set_Variable_If_At_Least_Boron ${resp1} ${resp2}
+ ${resp} TemplatedRequests.Post_To_Uri ${REST_CONTEXT}:get-node-bindings data=${DATA} accept=${ACCEPT_JSON} content_type=${HEADERS_XML} session=${session}
[Return] ${resp}
Clean Bindings
[Arguments] ${node}=127.0.0.1 ${session}=session ${domain}=global
[Documentation] Delete all bindings via RPC from Master DB of node
${resp} Get Bindings ${node} ${session} ${domain} local
- @{bindings} CompareStream.Run_Keyword_If_At_Least_Else boron Parse Bindings ${resp}
- ... ELSE Parse Prefix Groups ${resp} local
+ @{bindings} Parse Bindings ${resp}
: FOR ${binding} IN @{bindings}
- \ CompareStream.Run_Keyword_If_At_Least_Boron Clean Binding Default ${binding} ${node} ${session} ${domain}
- \ CompareStream.Run_Keyword_If_At_Most_Beryllium Clean Binding At Most Be ${binding} ${node} ${session} ${domain}
+ \ Clean Binding Default ${binding} ${node} ${session} ${domain}
Clean Binding Default
[Arguments] ${binding} ${node} ${session} ${domain}
[Arguments] ${sgt} ${prefixes} ${node} ${session} ${domain}=global
[Documentation] Used for nester FOR loop
: FOR ${prefix} IN @{prefixes}
- \ CompareStream.Run_Keyword_If_At_Least_Boron Delete Binding Default ${sgt} ${prefix} ${node} ${domain}
- \ ... ${session}
- \ CompareStream.Run_Keyword_If_At_Most_Beryllium Delete Binding Be ${sgt} ${prefix} ${node} ${domain}
- \ ... ${session}
+ \ Delete Binding Default ${sgt} ${prefix} ${node} ${domain} ${session}
Update Binding
[Arguments] ${sgtOld} ${prefixOld} ${sgtNew} ${prefixNew} ${node}=127.0.0.1 ${session}=session
Should Contain Binding
[Arguments] ${resp} ${sgt} ${prefix} ${db_source}=any
[Documentation] Tests if data contains specified binding
- ${out} CompareStream.Run_Keyword_If_At_Least_Else boron Find Binding ${resp} ${sgt} ${prefix}
- ... ELSE Find Binding Legacy ${resp} ${sgt} ${prefix} ${db_source}
- ... add
+ ${out} Find Binding ${resp} ${sgt} ${prefix}
Should Be True ${out} Doesn't have ${sgt} ${prefix}
Should Not Contain Binding
[Arguments] ${resp} ${sgt} ${prefix} ${db_source}=any
[Documentation] Tests if data doesn't contains specified binding
- ${out} CompareStream.Run_Keyword_If_At_Least_Else boron Find Binding ${resp} ${sgt} ${prefix}
- ... ELSE Find Binding Legacy ${resp} ${sgt} ${prefix} ${db_source}
- ... add
+ ${out} Find Binding ${resp} ${sgt} ${prefix}
Should Not Be True ${out} Should't have ${sgt} ${prefix}
Should Contain Connection
: FOR ${num} IN RANGE 1 ${node_range}
\ ${ip} Get Ip From Number ${num}
\ ${rnd_retry_time} = Evaluate random.randint(1, 10) modules=random
- \ CompareStream.Run_Keyword_If_At_Least_Boron Add Node ${ip} retry_open_timer=${rnd_retry_time}
- \ CompareStream.Run_Keyword_If_At_Least_Boron Wait Until Keyword Succeeds 20 1 Check Node Started ${ip}
+ \ Add Node ${ip} retry_open_timer=${rnd_retry_time}
+ \ Wait Until Keyword Succeeds 20 1 Check Node Started ${ip}
Check Node Started
[Arguments] ${node} ${port}=64999 ${system}=${ODL_SYSTEM_IP} ${session}=session ${ip}=${node}
[Documentation] Destroy created sessions
: FOR ${num} IN RANGE 1 ${node_range}
\ ${ip} Get Ip From Number ${num}
- \ CompareStream.Run_Keyword_If_At_Least_Boron Delete Node ${ip}
+ \ Delete Node ${ip}
Clean SXP Session
Get Routing Configuration From Controller
SetupUtils.Setup_Utils_For_Setup_And_Teardown
Open Connection ${ODL_SYSTEM_IP}
Flexible Controller Login
- CompareStream.Run_Keyword_If_At_Least_Carbon Put File ${CONFIGURATION_CFG} ${REMOTE_CFG_FILE}
- CompareStream.Run_Keyword_If_At_Most_Boron Put File ${CONFIGURATION_XML} ${REMOTE_XML_FILE}
+ Put File ${CONFIGURATION_CFG} ${REMOTE_CFG_FILE}
Close Connection
Wait Until Keyword Succeeds 2x 2s Issue Command On Karaf Console log:set DEBUG org.opendaylight.topoprocessing
Install a Feature odl-restconf-noauth timeout=30
Install Features
[Arguments] ${features} ${timeout}=180
[Documentation] Install features according to tested distribution
- CompareStream.Run_Keyword_If_At_Most_Beryllium Install Features for Beryllium Distribution ${features} ${timeout}
- CompareStream.Run_Keyword_If_At_Least_Boron Install Features for Other Distributions ${features} ${timeout}
+ Install Features for Other Distributions ${features} ${timeout}
Install Features for Beryllium Distribution
[Arguments] ${features} ${timeout}
Log ---- Clean Environment ----
Open Connection ${ODL_SYSTEM_IP}
Flexible Controller Login
- CompareStream.Run_Keyword_If_At_Least_Carbon Put File ${OPERATIONAL_CFG} ${REMOTE_CFG_FILE}
- CompareStream.Run_Keyword_If_At_Most_Boron Put File ${OPERATIONAL_XML} ${REMOTE_XML_FILE}
+ Put File ${OPERATIONAL_CFG} ${REMOTE_CFG_FILE}
Close Connection
Delete All Sessions
SSHLibrary.Execute Command sudo chown jenkins /usr/local/vtn
SSHLibrary.Execute Command sudo yum install -q -y https://download.postgresql.org/pub/repos/yum/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-3.noarch.rpm
SSHLibrary.Execute Command sudo yum install -q -y postgresql93-libs postgresql93 postgresql93-server postgresql93-contrib postgresql93-odbc
- CompareStream.Run_Keyword_If_At_Least_Else boron Download VtnCo Distribution
- ... ELSE SSHLibrary.Execute Command tar -C/ -jxvf ${WORKSPACE}/${BUNDLEFOLDER}/externalapps/${vtn_dist}*-bin.tar.bz2
+ Download VtnCo Distribution
SSHLibrary.Execute Command /usr/local/vtn/sbin/db_setup
SSHLibrary.Execute Command /usr/local/vtn/bin/vtn_start
SSHLibrary.Execute Command /usr/local/vtn/bin/unc_dmctl status
Download VtnCo Distribution
# TODO: https://trello.com/c/fDiIUFMv/431-remove-hardcoded-versions-of-vtn-coordinator-in-libraries-vtncokeywords-robot
SSHLibrary.Execute Command wget "${vtn_coordinator_nexus_path}/maven-metadata.xml"
- CompareStream.Run_Keyword_If_At_Least_Boron SSHLibrary.Get_file maven-metadata.xml
- ${boron_version}= XML.Get Element Text maven-metadata.xml xpath=.//versions/version[1]
- ${boron_version_val}= SSHLibrary.Execute Command echo ${boron_version} | awk -F"-" '{print $1}'
+ SSHLibrary.Get_file maven-metadata.xml
${carbon_version}= XML.Get Element Text maven-metadata.xml xpath=.//versions/version[2]
${carbon_version_val}= SSHLibrary.Execute Command echo ${carbon_version} | awk -F"-" '{print $1}'
${nitrogen_version}= XML.Get Element Text maven-metadata.xml xpath=.//versions/version[3]
${nitrogen_version_val}= SSHLibrary.Execute Command echo ${carbon_version} | awk -F"-" '{print $1}'
SSHLibrary.Execute Command sudo mv maven-metadata.xml old-maven-metadata.xml
- CompareStream.Run_Keyword_If_Equals boron SSHLibrary.Execute Command wget "${vtn_coordinator_nexus_path}/${boron_version}/maven-metadata.xml"
CompareStream.Run_Keyword_If_Equals carbon SSHLibrary.Execute Command wget "${vtn_coordinator_nexus_path}/${carbon_version}/maven-metadata.xml"
CompareStream.Run_Keyword_If_Equals nitrogen SSHLibrary.Execute Command wget "${vtn_coordinator_nexus_path}/${nitrogen_version}/maven-metadata.xml"
- CompareStream.Run_Keyword_If_At_Least_Boron SSHLibrary.Get_file maven-metadata.xml
+ SSHLibrary.Get_file maven-metadata.xml
${value}= XML.Get Element Text maven-metadata.xml xpath=.//snapshotVersion[1]/value
- CompareStream.Run_Keyword_If_Equals boron SSHLibrary.Execute Command wget '${vtn_coordinator_nexus_path}/${boron_version}/${vtn_dist}-${value}-bin.tar.bz2'
CompareStream.Run_Keyword_If_Equals carbon SSHLibrary.Execute Command wget '${vtn_coordinator_nexus_path}/${carbon_version}/${vtn_dist}-${value}-bin.tar.bz2'
CompareStream.Run_Keyword_If_Equals nitrogen SSHLibrary.Execute Command wget '${vtn_coordinator_nexus_path}/${nitrogen_version}/${vtn_dist}-${value}-bin.tar.bz2'
SSHLibrary.Execute Command tar -C/ -jxvf ${vtn_dist}*-bin.tar.bz2
${controller_list}= Create List ${ODL_SYSTEM_IP}
${flow_count}= Convert to Integer ${flow_count}
${flows_ovs_25}= Evaluate ${flow_count} + ${switches}
- ${flows_before}= CompareStream.Set_Variable_If_At_Least_Boron ${switches} ${0}
- ${flows_after}= CompareStream.Set_Variable_If_At_Least_Boron ${flows_ovs_25} ${flow_count}
+ ${flows_before}= Set Variable ${switches}
+ ${flows_after}= Set Variable ${flows_ovs_25}
${flows} ${notes} ScaleClient.Generate New Flow Details flows=${flow_count} switches=${switches} swspread=${swspread} tables=${tables}
... tabspread=${tabspread}
# Workflow starts
${controller_list}= Create List ${ODL_SYSTEM_IP}
${flow_count}= Convert to Integer ${flow_count}
${flows_ovs_25}= Evaluate ${flow_count} + ${switches}
- ${flows_before}= CompareStream.Set_Variable_If_At_Least_Boron ${switches} ${0}
- ${flows_after}= CompareStream.Set_Variable_If_At_Least_Boron ${flows_ovs_25} ${flow_count}
+ ${flows_before}= Set Variable ${switches}
+ ${flows_after}= Set Variable ${flows_ovs_25}
${flows} ${notes} ScaleClient.Generate New Flow Details flows=${flow_count} switches=${switches} swspread=${swspread} tables=${tables}
... tabspread=${tabspread}
# Workflow starts
[Arguments] ${exprspfile}
[Documentation] Verify expected response
${keys_with_bits}= BuiltIn.Create_List
- CompareStream.Run_Keyword_If_At_Most boron Collections.Append_To_List ${keys_with_bits} op
${expected_rsp}= Get Expected Response From File ${exprspfile}
${rsp}= RequestsLibrary.Get Request ${CONFIG_SESSION} ${FLOWSPEC_URL}
TemplatedRequests.Normalize_Jsons_With_Bits_And_Compare ${expected_rsp} ${rsp.content} keys_with_bits=${keys_with_bits}
[Documentation] Configures BGP peer module with initiate-connection set to false.
&{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} BGP_NAME=${BGP_PEER_NAME} IP=${TOOLS_SYSTEM_IP} HOLDTIME=${HOLDTIME} PEER_PORT=${BGP_TOOL_PORT}
... INITIATE=false RIB_INSTANCE_NAME=${RIB_INSTANCE} BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG} PASSIVE_MODE=true
- # configuration of the peer and multipath for carbon and above is done in the testcase at once
- CompareStream.Run_Keyword_If_At_Most_Boron TemplatedRequests.Put_As_Xml_Templated ${BGP_VAR_FOLDER}/bgp_peer mapping=${mapping} session=${CONFIG_SESSION}
Odl Allpaths Exa SendReceived
[Documentation] all-paths selected policy selected
Delete_Bgp_Peer_Configuration
[Documentation] Revert the BGP configuration to the original state: without any configured peers.
&{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} BGP_NAME=${BGP_PEER_NAME} IP=${TOOLS_SYSTEM_IP} BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG}
- CompareStream.Run_Keyword_If_At_Most_Boron TemplatedRequests.Delete_Templated ${BGP_VAR_FOLDER}/bgp_peer mapping=${mapping} session=${CONFIG_SESSION}
*** Keywords ***
Start_Suite
SSHKeywords.Virtual_Env_Install_Package exabgp==3.4.16
RequestsLibrary.Create_Session ${CONFIG_SESSION} http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH}
Upload_Config_Files
- CompareStream.Run_Keyword_If_At_Most_Boron Configure_Odl_With_Multipaths
- CompareStream.Run_Keyword_If_At_Least_Carbon Store_Rib_Configuration
+ Store_Rib_Configuration
Stop_Suite
[Documentation] Suite teardown keyword with old rib restoration
SSHKeywords.Virtual_Env_Delete
- CompareStream.Run_Keyword_If_At_Most_Boron TemplatedRequests.Put_As_Xml_To_Uri ${RIB_URI} ${rib_old} session=${CONFIG_SESSION}
- CompareStream.Run_Keyword_If_At_Least_Carbon TemplatedRequests.Put_As_Xml_To_Uri ${OPENCONFIG_RIB_URI} ${rib_old} session=${CONFIG_SESSION}
+ TemplatedRequests.Put_As_Xml_To_Uri ${OPENCONFIG_RIB_URI} ${rib_old} session=${CONFIG_SESSION}
SSHLibrary.Close_All_Connections
RequestsLibrary.Delete_All_Sessions
... from exabgp towards odl may be rejected by odl due to config process not finished yet. Because of that
... we try to start the tool 3 times in case early attempts fail.
SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
- CompareStream.Run_Keyword_If_At_Most_Boron Configure_Path_Selection_Mode ${odl_path_sel_mode}
- CompareStream.Run_Keyword_If_At_Least_Carbon Configure_Odl_Peer_With_Path_Selection_Mode ${odl_path_sel_mode}
+ Configure_Odl_Peer_With_Path_Selection_Mode ${odl_path_sel_mode}
Configure_App_Peer_With_Routes
Upload_Config_Files addpath=${exa_add_path_value}
ExaBgpLib.Start_ExaBgp_And_Verify_Connected ${DEFAUTL_RPC_CFG} ${CONFIG_SESSION} ${TOOLS_SYSTEM_IP} connection_retries=${3}
Configure_App_Peer_With_Routes
[Documentation] Configure bgp application peer and fill it immediately with routes.
+ ${app_rib} Set Variable ${ODL_SYSTEM_IP}
&{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} APP_PEER_NAME=${APP_PEER_NAME} RIB_INSTANCE_NAME=${RIB_INSTANCE} APP_PEER_ID=${ODL_SYSTEM_IP} IP=${ODL_SYSTEM_IP}
... BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG}
TemplatedRequests.Put_As_Xml_Templated ${BGP_VAR_FOLDER}/app_peer mapping=${mapping} session=${CONFIG_SESSION}
- ${app_rib} CompareStream.Set_Variable_If_At_Most_Boron example-app-rib ${ODL_SYSTEM_IP}
: FOR ${pathid} IN @{PATH_ID_LIST}
\ &{route_mapping} BuiltIn.Create_Dictionary NEXTHOP=${NEXT_HOP_PREF}${pathid} LOCALPREF=${pathid}00 PATHID=${pathid} APP_RIB=${app_rib}
\ TemplatedRequests.Post_As_Xml_Templated ${MULT_VAR_FOLDER}/route mapping=${route_mapping} session=${CONFIG_SESSION}
Deconfigure_App_Peer
[Documentation] Revert the BGP configuration to the original state: without application peer
- ${app_rib} CompareStream.Set_Variable_If_At_Most_Boron example-app-rib ${ODL_SYSTEM_IP}
+ ${app_rib} Set Variable ${ODL_SYSTEM_IP}
&{route_mapping} BuiltIn.Create_Dictionary APP_RIB=${app_rib} BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG}
TemplatedRequests.Delete_Templated ${MULT_VAR_FOLDER}/route mapping=${route_mapping} session=${CONFIG_SESSION}
&{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME} APP_PEER_NAME=${APP_PEER_NAME} IP=${ODL_SYSTEM_IP} BGP_RIB_OPENCONFIG=${PROTOCOL_OPENCONFIG}
RequestsLibrary.Create Session ${CONFIG_SESSION} http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH}
SSHLibrary.Put File ${PLAY_SCRIPT} .
SSHKeywords.Assure_Library_Ipaddr target_dir=.
- ${app_rib}= CompareStream.Set_Variable_If_At_Most_Boron example-app-rib ${ODL_SYSTEM_IP}
- ${bgp_rib}= CompareStream.Set_Variable_If_At_Most_Boron example-bgp-rib example-bgp-rib
+ ${app_rib}= Set Variable ${ODL_SYSTEM_IP}
+ ${bgp_rib}= Set Variable example-bgp-rib
BuiltIn.Set_Suite_Variable ${EVPN_CONF_URL} /restconf/config/bgp-rib:application-rib/${app_rib}/tables/odl-bgp-evpn:l2vpn-address-family/odl-bgp-evpn:evpn-subsequent-address-family/odl-bgp-evpn:evpn-routes/
BuiltIn.Set_Suite_Variable ${EVPN_LOC_RIB_OPER_URL} /restconf/operational/bgp-rib:bgp-rib/rib/${bgp_rib}/loc-rib/tables/odl-bgp-evpn:l2vpn-address-family/odl-bgp-evpn:evpn-subsequent-address-family/odl-bgp-evpn:evpn-routes
Exa_To_Send_Route_Request
[Documentation] Exabgp sends route refresh and count received updates
[Setup] Configure_Routes_And_Start_ExaBgp ${BGP_CFG_NAME}
- # TODO: remove Run_Keyword_If_At_Most_Boron and leave Verify_Odl_Received_Route_Request only after bug 5032 is implemented.
- # ... This will require also kw Verify_Odl_Received_Route_Request adaptation for ${ODL_STREAM} as the stats url will be different in carbon/openconfig
- # ... comparing to boron(${JOLOKURL})
- CompareStream.Run_Keyword_If_At_Most_Boron Verify_Odl_Received_Route_Request 0
BgpRpcClient.exa_clean_received_update_count
BgpRpcClient.exa_announce announce route-refresh ipv4 unicast
- CompareStream.Run_Keyword_If_At_Most_Boron BuiltIn.Wait_Until_Keyword_Succeeds 5x 2s Verify_Odl_Received_Route_Request 1
BuiltIn.Wait_Until_Keyword_Succeeds 5x 2s Verify_ExaBgp_Received_Updates ${nr_configured_routes}
[Teardown] Deconfigure_Routes_And_Stop_ExaBgp
Configure_Routes_And_Start_ExaBgp
[Arguments] ${cfg_file}
[Documentation] Setup keyword for exa to odl test case
- ${app_rib} CompareStream.Set_Variable_If_At_Most_Boron example-app-rib ${ODL_SYSTEM_IP}
+ ${app_rib} Set Variable ${ODL_SYSTEM_IP}
: FOR ${prefix} IN 1.1.1.1/32 2.2.2.2/32
\ &{mapping} BuiltIn.Create_Dictionary PREFIX=${prefix} APP_RIB=${app_rib}
\ TemplatedRequests.Post_As_Xml_Templated ${BGP_RR_VAR_FOLDER}/route mapping=${mapping} session=${CONFIG_SESSION}
Deconfigure_Routes_And_Stop_ExaBgp
[Documentation] Teardown keyword for exa to odl test case
ExaBgpLib.Stop_ExaBgp
- ${app_rib} CompareStream.Set_Variable_If_At_Most_Boron example-app-rib ${ODL_SYSTEM_IP}
+ ${app_rib} Set Variable ${ODL_SYSTEM_IP}
&{mapping} BuiltIn.Create_Dictionary PREFIX=${prefix} APP_RIB=${app_rib}
TemplatedRequests.Delete_Templated ${BGP_RR_VAR_FOLDER}/route mapping=${mapping} session=${CONFIG_SESSION}
BuiltIn.Log ${command}
SSHLibrary.Set_Client_Configuration timeout=30s
SSHLibrary.Write ${command}
- ${until_phrase}= CompareStream.Set_Variable_If_At_Least_Boron successfully established. sucesfully established.
+ ${until_phrase}= Set Variable successfully established.
SSHLibrary.Read_Until ${until_phrase}
Verify Data Reported
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
- ${script_uri_opt}= CompareStream.Set_Variable_If_At_Most_Boron ${Empty} --uri config/bgp-rib:application-rib/${BGP_APP_PEER_ID}/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/
+ ${script_uri_opt}= Set Variable --uri config/bgp-rib:application-rib/${BGP_APP_PEER_ID}/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/
BuiltIn.Set_Suite_Variable ${script_uri_opt}
Teardown_Everything
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}= CompareStream.Set_Variable_If_At_Most_Boron ${Empty} --uri config/bgp-rib:application-rib/${ODL_SYSTEM_IP}/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/
+ ${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
Create and Verify VTEP IPv6 - No Vlan
[Documentation] This testcase creates a Internal Transport Manager - ITM tunnel between 2 DPNs without VLAN and Gateway configured in Json.
- Pass Execution If "${ODL_STREAM}" == "boron" IPV6 support is not available in boron or before
${Dpn_id_1} Get Dpn Ids ${conn_id_1}
${Dpn_id_2} Get Dpn Ids ${conn_id_2}
Set Global Variable ${Dpn_id_1}
Delete and Verify VTEP IPv6 -No Vlan
[Documentation] This Delete testcase , deletes the ITM tunnel created between 2 dpns.
- Pass Execution If "${ODL_STREAM}" == "boron" IPV6 support is not available in boron or before
Remove All Elements At URI And Verify ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/
Wait Until Keyword Succeeds 40 10 Verify Data Base after Delete ${Dpn_id_1} ${Dpn_id_2} ${tunnel-1}
... ${tunnel-2}
Set_Netconf_Connector
[Documentation] Sets netconf connector verify url according to the ${ODL_STREAM} and ${USE_NETCONF_CONNECTOR} combination
- ${streamconnector}= CompareStream.Set_Variable_If_At_Most_Boron /node/controller-config/yang-ext:mount/config:modules/module/odl-sal-netconf-connector-cfg:sal-netconf-connector/controller-config /node/controller-config/yang-ext:mount/config:modules/module/sal-restconf-service:json-restconf-service-impl/json-restconf-service-impl
+ ${streamconnector}= Set Variable /node/controller-config/yang-ext:mount/config:modules/module/sal-restconf-service:json-restconf-service-impl/json-restconf-service-impl
${connector}= BuiltIn.Set_Variable_If ${USE_NETCONF_CONNECTOR} ${streamconnector} ${EMPTY}
BuiltIn.Return_From_Keyword ${connector}
Test Add Flows Group 0
[Documentation] Add all flows and waits for SM to collect data
[Template] NONE
- CompareStream.Run_Keyword_If_At_Most_Boron Remove Values From List ${flowlist0} f19.xml f102.xml
: FOR ${flowfile} IN @{flowlist0}
\ Log ${flowfile}
\ Create Flow Variables For Suite From XML File ${XmlsDir}/${flowfile}
Test Add Flows Group 0
[Documentation] Add all flows and waits for SM to collect data
[Template] NONE
- CompareStream.Run_Keyword_If_At_Most_Boron Remove Values From List ${flowlist0} f19.xml f102.xml
: FOR ${flowfile} IN @{flowlist0}
\ Log ${flowfile}
\ Create Flow Variables For Suite From XML File ${XmlsDir}/${flowfile}
Ping Vm Instance2 Floating IP From Vm Instance1 With Floating IP (Hairpinning)
[Documentation] Check reachability of VM instance floating IP from another VM instance with FIP (with ttl=1 to make sure no router hops)
- Pass Execution If "${ODL_STREAM}" == "boron" Hairpinning support is not available in boron or earlier
${dst_ip}= Create List @{VM_FLOATING_IPS}[1]
OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{FLOATING_VM_IPS}[0] ${dst_ip} ttl=1
Ping External Network PNF from Vm Instance 1
[Documentation] Check reachability of External Network PNF from VM instance (with ttl=1 to make sure no router hops)
- Pass Execution If "${ODL_STREAM}" == "boron" PNF subnet route support is not available in boron or earlier
${dst_ip}= Create List ${external_pnf}
OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{FLOATING_VM_IPS}[0] ${dst_ip} ttl=1