${port_name} br-int-eth1
${VLAN} 100
${NO_VLAN} 0
+${DEFAULT_TRANSPORT_ZONE} default-transport-zone
+${SET_LOCAL_IP} sudo ovs-vsctl set O . other_config:local_ip=
+${REMOVE_LOCAL_IP} sudo ovs-vsctl remove O . other_config local_ip
+${odl_stream_check } ${Stream_dict}[${ODL_STREAM}] <= ${Stream_dict}[neon]
*** Keywords ***
Genius Suite Setup
[Documentation] Create Rest Session to http://${ODL_SYSTEM_IP}:${RESTCONFPORT}
- Start Suite
- Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} timeout=5
+ Genius.Start Suite
+ RequestsLibrary.Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} timeout=5
Genius Suite Teardown
[Documentation] Delete all sessions
- Delete All Sessions
- Stop Suite
+ RequestsLibrary.Delete All Sessions
+ Genius.Stop Suite
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 Is OPERATIONAL @{GENIUS_DIAG_SERVICES}
KarafKeywords.Setup_Karaf_Keywords
ToolsSystem.Get Tools System Nodes Data
- ${karaf_debug_enabled} BuiltIn.Get_Variable_Value ${KARAF_DEBUG} ${False}
+ ${karaf_debug_enabled} = BuiltIn.Get_Variable_Value ${KARAF_DEBUG} ${False}
BuiltIn.run_keyword_if ${karaf_debug_enabled} KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set DEBUG org.opendaylight.genius
Genius.Set Switch Configuration
- ${check} = Wait Until Keyword Succeeds 30 10 Check Port Status Is ESTABLISHED ${ODL_OF_PORT_6653} @{TOOLS_SYSTEM_ALL_IPS}
- ${check} = Wait Until Keyword Succeeds 30 10 Check Port Status Is ESTABLISHED ${OVSDBPORT} @{TOOLS_SYSTEM_ALL_IPS}
+ ${check} = BuiltIn.Wait Until Keyword Succeeds 30 10 Check Port Status Is ESTABLISHED ${ODL_OF_PORT_6653} @{TOOLS_SYSTEM_ALL_IPS}
+ ${check} = BuiltIn.Wait Until Keyword Succeeds 30 10 Check Port Status Is ESTABLISHED ${OVSDBPORT} @{TOOLS_SYSTEM_ALL_IPS}
Genius.Build Dpn List
@{SWITCH_DATA} = Collections.Combine Lists ${DPN_ID_LIST} ${TOOLS_SYSTEM_ALL_IPS}
BuiltIn.Set Suite Variable @{SWITCH_DATA}
Stop Suite
[Documentation] stops all connections and deletes all the bridges available on OVS
- : FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM}
- \ Switch Connection @{TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}]
- \ Execute Command sudo ovs-vsctl del-br ${Bridge}
- \ Execute Command sudo ovs-vsctl del-manager
- \ Write exit
- \ Close Connection
+ FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM}
+ SSHLibrary.Switch Connection ${TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}]
+ SSHLibrary.Execute Command sudo ovs-vsctl del-br ${Bridge}
+ SSHLibrary.Execute Command sudo ovs-vsctl del-manager
+ SSHLibrary.Write exit
+ SSHLibrary.Close Connection
+ END
Check Port Status Is ESTABLISHED
[Arguments] ${port} @{tools_ips}
[Documentation] This keyword will check whether ports are established or not on OVS
- : FOR ${tools_ip} IN @{tools_ips}
- \ ${check_establishment} = Utils.Run Command On Remote System And Log ${tools_ip} netstat -anp | grep ${port}
- \ BuiltIn.Should Contain ${check_establishment} ESTABLISHED
+ FOR ${tools_ip} IN @{tools_ips}
+ ${check_establishment} = Utils.Run Command On Remote System And Log ${tools_ip} netstat -anp | grep ${port}
+ BuiltIn.Should Contain ${check_establishment} ESTABLISHED
+ END
[Return] ${check_establishment}
Create Vteps
[Arguments] ${vlan_id} ${gateway_ip}
[Documentation] This keyword creates VTEPs between OVS
- ${body} OperatingSystem.Get File ${genius_config_dir}/Itm_creation_no_vlan.json
${body} = Genius.Set Json ${vlan_id} ${gateway_ip} ${SUBNET} @{TOOLS_SYSTEM_ALL_IPS}
${resp} = RequestsLibrary.Put Request session ${CONFIG_API}/itm:transport-zones/transport-zone/TZA data=${body}
BuiltIn.Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code}
Set Json
[Arguments] ${vlan} ${gateway_ip} ${subnet} @{tools_ips}
[Documentation] Sets Json with the values passed for it.
- ${body} OperatingSystem.Get File ${genius_config_dir}/Itm_creation_no_vlan.json
- ${body} Replace String ${body} 1.1.1.1 ${subnet}
- : FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM}
- \ ${body} Replace String ${body} "dpn-id": 10${tool_system_index} "dpn-id": ${DPN_ID_LIST[${tool_system_index}]}
- \ ${body} Replace String ${body} "ip-address": "${tool_system_index+2}.${tool_system_index+2}.${tool_system_index+2}.${tool_system_index+2}" "ip-address": "@{tools_ips}[${tool_system_index}]"
- ${body} Replace String ${body} "vlan-id": 0 "vlan-id": ${vlan}
- ${body} Replace String ${body} "gateway-ip": "0.0.0.0" "gateway-ip": "${gateway_ip}"
- Log ${body}
+ ${body} = BuiltIn.Run Keyword If ${odl_stream_check } OperatingSystem.Get File ${genius_config_dir}/Itm_creation_no_vlan_below_sodium.json
+ ... ELSE OperatingSystem.Get File ${genius_config_dir}/Itm_creation_no_vlan_sodium_and_above.json
+ ${body} = BuiltIn.Run Keyword If ${odl_stream_check } String.Replace String ${body} 1.1.1.1 ${subnet}
+ ... ELSE BuiltIn.Set Variable ${body}
+ ${body} = BuiltIn.Run Keyword If ${odl_stream_check } String.Replace String ${body} "vlan-id": 0 "vlan-id": ${vlan}
+ ... ELSE BuiltIn.Set Variable ${body}
+ ${body} = BuiltIn.Run Keyword If ${odl_stream_check } String.Replace String ${body} "gateway-ip": "0.0.0.0" "gateway-ip": "${gateway_ip}"
+ ... ELSE BuiltIn.Set Variable ${body}
+ FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM}
+ ${body} String.Replace String ${body} "dpn-id": 10${tool_system_index} "dpn-id": ${DPN_ID_LIST[${tool_system_index}]}
+ ${body} String.Replace String ${body} "ip-address": "${tool_system_index+2}.${tool_system_index+2}.${tool_system_index+2}.${tool_system_index+2}" "ip-address": "${tools_ips}[${tool_system_index}]"
+ END
+ BuiltIn.Log ${body}
[Return] ${body} # returns complete json that has been updated
Build Dpn List
[Documentation] This keyword builds the list of DPN ids after configuring OVS bridges on each of the TOOLS_SYSTEM_IPs.
- @{DPN_ID_LIST} BuiltIn.Create List
- : FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS}
- \ ${output} Utils.Run Command On Remote System And Log ${tools_ip} sudo ovs-ofctl show -O Openflow13 ${Bridge} | head -1 | awk -F "dpid:" '{ print $2 }'
- \ ${dpn_id} Utils.Run Command On Remote System And Log ${tools_ip} echo \$\(\(16\#${output}\)\)
- \ Collections.Append To List ${DPN_ID_LIST} ${dpn_id}
+ @{DPN_ID_LIST} = BuiltIn.Create List
+ FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS}
+ ${output} Utils.Run Command On Remote System And Log ${tools_ip} sudo ovs-ofctl show -O Openflow13 ${Bridge} | head -1 | awk -F "dpid:" '{ print $2 }'
+ ${dpn_id} Utils.Run Command On Remote System And Log ${tools_ip} echo \$\(\(16\#${output}\)\)
+ Collections.Append To List ${DPN_ID_LIST} ${dpn_id}
+ END
BuiltIn.Set Suite Variable @{DPN_ID_LIST}
BFD Suite Teardown
[Documentation] Run at end of BFD suite
- Delete All Vteps
- Stop Suite
+ Genius.Delete All Vteps
+ Genius.Stop Suite
Delete All Vteps
[Documentation] This will delete vtep.
${resp} = RequestsLibrary.Delete Request session ${CONFIG_API}/itm:transport-zones/
BuiltIn.Should Be Equal As Strings ${resp.status_code} 200
- BuiltIn.Wait Until Keyword Succeeds 30 5 Verify Tunnel Delete on DS tun
+ BuiltIn.Wait Until Keyword Succeeds 30 5 Genius.Verify Tunnel Delete on DS tun
Genius Test Setup
[Documentation] Genius test case setup
Genius Test Teardown
[Arguments] ${data_models} ${test_name}=${SUITE_NAME}.${TEST_NAME} ${fail}=${FAIL_ON_EXCEPTIONS}
- : FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM}
- \ OVSDB.Get DumpFlows And Ovsconfig @{TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}] ${Bridge}
+ FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM}
+ OVSDB.Get DumpFlows And Ovsconfig ${TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}] ${Bridge}
+ END
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 test_name=${test_name}
Genius Suite Debugs
[Arguments] ${data_models}
- Genius Test Teardown ${data_models} test_name=${SUITE_NAME} fail=False
+ Genius.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
- : FOR ${controller_index} IN RANGE ${NUM_ODL_SYSTEM}
- \ Run Command On Remote System And Log ${ODL_SYSTEM_${controller_index+1}_IP} sed -i -- 's/<itm-direct-tunnels>false/<itm-direct-tunnels>true/g' ${GENIUS_IFM_CONFIG_FLAG}
+ FOR ${controller_index} IN RANGE ${NUM_ODL_SYSTEM}
+ Utils.Run Command On Remote System And Log ${ODL_SYSTEM_${controller_index+1}_IP} sed -i -- 's/<itm-direct-tunnels>false/<itm-direct-tunnels>true/g' ${GENIUS_IFM_CONFIG_FLAG}
+ END
ClusterManagement.Start_Members_From_List_Or_All
- Genius Suite Setup
+ Genius.Genius Suite Setup
ITM Direct Tunnels Stop Suite
[Documentation] Stop suite for ITM Direct Tunnels.
- : FOR ${controller_index} IN RANGE ${NUM_ODL_SYSTEM}
- \ Run Command On Remote System And Log ${ODL_SYSTEM_${controller_index+1}_IP} sed -i -- 's/<itm-direct-tunnels>true/<itm-direct-tunnels>false/g' ${GENIUS_IFM_CONFIG_FLAG}
- Genius Suite Teardown
+ FOR ${controller_index} IN RANGE ${NUM_ODL_SYSTEM}
+ Utils.Run Command On Remote System And Log ${ODL_SYSTEM_${controller_index+1}_IP} sed -i -- 's/<itm-direct-tunnels>true/<itm-direct-tunnels>false/g' ${GENIUS_IFM_CONFIG_FLAG}
+ END
+ Genius.Genius Suite Teardown
Ovs Interface Verification
[Documentation] Checks whether the created Interface is seen on OVS or not.
- : FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS}
- \ Ovs Verification For Each Dpn ${tools_ip} ${TOOLS_SYSTEM_ALL_IPS}
+ FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS}
+ Genius.Ovs Verification For Each Dpn ${tools_ip} ${TOOLS_SYSTEM_ALL_IPS}
+ END
Get ITM
- [Arguments] ${itm_created[0]} ${subnet} ${vlan}
+ [Arguments] ${itm_created[0]} ${switch_data}=${SWITCH_DATA}
[Documentation] It returns the created ITM Transport zone with the passed values during the creation is done.
- @{Itm-no-vlan} Create List ${itm_created[0]} ${subnet} ${vlan}
- @{Itm-no-vlan} Collections.Combine Lists ${Itm-no-vlan} ${SWITCH_DATA}
- Check For Elements At URI ${TUNNEL_TRANSPORTZONE}/transport-zone/${itm_created[0]} ${Itm-no-vlan}
+ Collections.Append To List ${switch_data} ${itm_created[0]}
+ Utils.Check For Elements At URI ${TUNNEL_TRANSPORTZONE}/transport-zone/${itm_created[0]} ${switch_data}
Check Tunnel Delete On OVS
[Arguments] ${tunnel_list}
[Documentation] Verifies the Tunnel is deleted from OVS.
- : FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS}
- \ ${output} = Utils.Run Command On Remote System ${tools_ip} sudo ovs-vsctl show
- \ Genius.Verify Deleted Tunnels on OVS ${tunnel_list} ${output}
+ FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS}
+ ${output} = Utils.Run Command On Remote System ${tools_ip} sudo ovs-vsctl show
+ Genius.Verify Deleted Tunnels on OVS ${tunnel_list} ${output}
+ END
Check Table0 Entry In a Dpn
[Arguments] ${tools_ip} ${bridgename} ${port_numbers}
[Documentation] Checks the Table 0 entry in the OVS when flows are dumped.
${check} = Utils.Run Command On Remote System And Log ${tools_ip} sudo ovs-ofctl -OOpenFlow13 dump-flows ${bridgename}
${num_ports} = BuiltIn.Get Length ${port_numbers}
- : FOR ${port_index} IN RANGE ${num_ports}
- \ BuiltIn.Should Contain ${check} in_port=@{port_numbers}[${port_index}]
+ FOR ${port_index} IN RANGE ${num_ports}
+ BuiltIn.Should Contain ${check} in_port=${port_numbers}[${port_index}]
+ END
Verify Tunnel Status As Up
[Arguments] ${no_of_switches}=${NUM_TOOLS_SYSTEM}
[Documentation] Verify that the number of tunnels are UP
- ${no_of_tunnels} = Issue Command On Karaf Console ${TEP_SHOW_STATE}
+ ${no_of_tunnels} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW_STATE}
${lines_of_state_up} = String.Get Lines Containing String ${no_of_tunnels} ${STATE_UP}
${actual_tunnel_count} = String.Get Line Count ${lines_of_state_up}
${expected_tunnel_count} = BuiltIn.Evaluate ${no_of_switches}*(${no_of_switches}-1)
- Should Be Equal As Strings ${actual_tunnel_count} ${expected_tunnel_count}
+ BuiltIn.Should Be Equal As Strings ${actual_tunnel_count} ${expected_tunnel_count}
Verify Tunnel Status
[Arguments] ${tunnel_status} ${tunnel_names}
[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}
${number_of_tunnels} = BuiltIn.Get Length ${tunnel_names}
- : FOR ${each_tunnel} IN RANGE ${number_of_tunnels}
- \ ${tunnel} = Collections.Get From List ${tunnel_names} ${each_tunnel}
- \ ${tep_output} = String.Get Lines Containing String ${tep_result} ${tunnel}
- \ BuiltIn.Should Contain ${tep_output} ${tunnel_status}
+ FOR ${each_tunnel} IN RANGE ${number_of_tunnels}
+ ${tunnel} = Collections.Get From List ${tunnel_names} ${each_tunnel}
+ ${tep_output} = String.Get Lines Containing String ${tep_result} ${tunnel}
+ BuiltIn.Should Contain ${tep_output} ${tunnel_status}
+ END
Get Tunnels On OVS
[Arguments] ${connection_id}
@{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} Get Regexp Matches ${tun} tun.*\\w
- \ Collections.Append To List ${tunnel_names} @{tun_list}
+ FOR ${tun} IN @{tunnels_list}
+ ${tun_list} Get Regexp Matches ${tun} tun.*\\w
+ Collections.Append To List ${tunnel_names} @{tun_list}
+ END
${items_in_list} = BuiltIn.Get Length ${tunnel_names}
[Return] @{tunnel_names}
${resp} = BuiltIn.Run Keyword If '${config_api_type}' == '${EMPTY}' RequestsLibrary.Get Request session ${CONFIG_API}/itm-state:tunnel-list/internal-tunnel/${src}/${dst}/${type}/
... ELSE RequestsLibrary.Get Request session ${CONFIG_API}/itm-state:dpn-teps-state/dpns-teps/${src}/remote-dpns/${dst}/
BuiltIn.Should Be Equal As Strings ${resp.status_code} ${RESP_CODE}
- BuiltIn.Log ${resp.content}
- ${respjson} = RequestsLibrary.To Json ${resp.content} pretty_print=True
- ${json} = Utils.Json Parse From String ${resp.content}
- BuiltIn.Should Contain ${resp.content} ${dst}
- BuiltIn.Run Keyword If '${config_api_type}' == '${EMPTY}' BuiltIn.Should Contain ${resp.content} ${src}
+ BuiltIn.Log ${resp.text}
+ ${respjson} = RequestsLibrary.To Json ${resp.text} pretty_print=True
+ ${json} = Utils.Json Parse From String ${resp.text}
+ BuiltIn.Should Contain ${resp.text} ${dst}
+ BuiltIn.Run Keyword If '${config_api_type}' == '${EMPTY}' BuiltIn.Should Contain ${resp.text} ${src}
${tunnel_interface_name} = BuiltIn.Run Keyword If "tunnel-interface-names" in "${json}" Genius.Get Tunnel Interface Name ${json["internal-tunnel"][0]} tunnel-interface-names
- ${tunnel_name_output} ${tunnel_name} = BuiltIn.Run Keyword Unless '${config_api_type}' == '${EMPTY}' BuiltIn.Should Match Regexp ${resp.content} "tunnel-name":"(tun[\\w\\d]+)"
+ ${tunnel_name_output} ${tunnel_name} = BuiltIn.Run Keyword Unless '${config_api_type}' == '${EMPTY}' BuiltIn.Should Match Regexp ${resp.text} "tunnel-name":"(tun[\\w\\d]+)"
${tunnel} = BuiltIn.Set Variable If '${config_api_type}' == '${EMPTY}' ${tunnel_interface_name} ${tunnel_name}
[Return] ${tunnel}
Genius Suite Setup
Genius.Create Vteps ${NO_VLAN} ${gateway_ip}
BuiltIn.Wait Until Keyword Succeeds 60s 5s Genius.Verify Tunnel Status As Up
- Genius Suite Debugs ${data_models}
+ Genius.Genius Suite Debugs ${data_models}
SRM Stop Suite
[Documentation] Stop suite for service recovery.
- Delete All Vteps
- Genius Suite Debugs ${data_models}
- Genius Suite Teardown
+ Genius.Delete All Vteps
+ Genius.Genius Suite Debugs ${data_models}
+ Genius.Genius Suite Teardown
Verify Tunnel Monitoring Status
[Arguments] ${tunnel_monitor_status}
- ${output}= Issue Command On Karaf Console ${TEP_SHOW}
- Should Contain ${output} ${tunnel_monitor_status}
+ ${output}= KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW}
+ BuiltIn.Should Contain ${output} ${tunnel_monitor_status}
Set Switch Configuration
[Documentation] This keyword will set manager,controller,tap port,bridge on each OVS
- : FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM}
- \ SSHLibrary.Switch Connection @{TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}]
- \ SSHLibrary.Login With Public Key ${TOOLS_SYSTEM_USER} ${USER_HOME}/.ssh/${SSH_KEY} any
- \ SSHLibrary.Execute Command sudo ovs-vsctl add-br ${Bridge}
- \ SSHLibrary.Execute Command sudo ovs-vsctl set bridge ${Bridge} protocols=OpenFlow13
- \ SSHLibrary.Execute Command sudo ovs-vsctl set-controller ${Bridge} tcp:${ODL_SYSTEM_IP}:${ODL_OF_PORT_6653}
- \ SSHLibrary.Execute Command sudo ifconfig ${Bridge} up
- \ SSHLibrary.Execute Command sudo ovs-vsctl add-port ${Bridge} tap${tool_system_index}ed70586-6c -- set Interface tap${tool_system_index}ed70586-6c type=tap
- \ SSHLibrary.Execute Command sudo ovs-vsctl set-manager tcp:${ODL_SYSTEM_IP}:${OVSDBPORT}
- \ SSHLibrary.Execute Command sudo ovs-vsctl show
+ FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM}
+ SSHLibrary.Switch Connection ${TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}]
+ SSHLibrary.Login With Public Key ${TOOLS_SYSTEM_USER} ${USER_HOME}/.ssh/${SSH_KEY} any
+ SSHLibrary.Execute Command sudo ovs-vsctl add-br ${Bridge}
+ SSHLibrary.Execute Command sudo ovs-vsctl set bridge ${Bridge} protocols=OpenFlow13
+ SSHLibrary.Execute Command sudo ovs-vsctl set-controller ${Bridge} tcp:${ODL_SYSTEM_IP}:${ODL_OF_PORT_6653}
+ SSHLibrary.Execute Command sudo ifconfig ${Bridge} up
+ SSHLibrary.Execute Command sudo ovs-vsctl add-port ${Bridge} tap${tool_system_index}ed70586-6c -- set Interface tap${tool_system_index}ed70586-6c type=tap
+ SSHLibrary.Execute Command sudo ovs-vsctl set-manager tcp:${ODL_SYSTEM_IP}:${OVSDBPORT}
+ SSHLibrary.Execute Command sudo ovs-vsctl show
+ END
Ovs Verification For Each Dpn
[Arguments] ${tools_system_ip} ${tools_ips}
Collections.Remove Values From List ${updated_tools_ip_list} ${tools_system_ip}
BuiltIn.Log Many @{updated_tools_ip_list}
${num_tool_ips} BuiltIn.Get Length ${updated_tools_ip_list}
- : FOR ${num} IN RANGE ${num_tool_ips}
- \ ${tools_ip} = Collections.Get From List ${updated_tools_ip_list} ${num}
- \ BuiltIn.Should Contain ${ovs_output} ${tools_ip}
+ FOR ${num} IN RANGE ${num_tool_ips}
+ ${tools_ip} = Collections.Get From List ${updated_tools_ip_list} ${num}
+ BuiltIn.Should Contain ${ovs_output} ${tools_ip}
+ END
Get Tunnels List
[Documentation] The keyword fetches the list of operational tunnels from ODL
Verify Table0 Entry After fetching Port Number
[Documentation] This keyword will get the port number and checks the table0 entry for each dpn
- : FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS}
- \ ${check} = Utils.Run Command On Remote System And Log ${tools_ip} sudo ovs-ofctl -O OpenFlow13 show ${Bridge}
- \ ${port_numbers} = String.Get Regexp Matches ${check} (\\d+).tun.* 1
- \ Genius.Check Table0 Entry In a Dpn ${tools_ip} ${Bridge} ${port_numbers}
+ FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS}
+ ${check} = Utils.Run Command On Remote System And Log ${tools_ip} sudo ovs-ofctl -O OpenFlow13 show ${Bridge}
+ ${port_numbers} = String.Get Regexp Matches ${check} (\\d+).tun.* 1
+ Genius.Check Table0 Entry In a Dpn ${tools_ip} ${Bridge} ${port_numbers}
+ END
Verify Deleted Tunnels On OVS
[Arguments] ${tunnel_list} ${resp_data}
[Documentation] This will verify whether tunnel is deleted.
BuiltIn.Log ${resp_data}
- : FOR ${tunnel} IN @{tunnel_list}
- \ BuiltIn.Should Not Contain ${resp_data} ${tunnel}
+ FOR ${tunnel} IN @{tunnel_list}
+ BuiltIn.Should Not Contain ${resp_data} ${tunnel}
+ END
Verify Response Code Of Dpn End Point Config API
+ [Arguments] ${dpn_list}=${DPN_ID_LIST}
[Documentation] This keyword will verify response code from itm-state: dpn endpoints config api for each dpn
- : FOR ${dpn} IN @{DPN_ID_LIST}
- \ BuiltIn.Wait Until Keyword Succeeds 40 5 Utils.Get Data From URI session ${CONFIG_API}/itm-state:dpn-endpoints/DPN-TEPs-info/${dpn}/
+ FOR ${dpn} IN @{dpn_list}
+ BuiltIn.Wait Until Keyword Succeeds 40 5 Utils.Get Data From URI session ${CONFIG_API}/itm-state:dpn-endpoints/DPN-TEPs-info/${dpn}/
+ END
Get Tunnel Between DPNs
- [Arguments] ${tunnel_type} ${config_api_type} ${dpn_id_index} @{DPN_ID_UPDATED_LIST}
+ [Arguments] ${tunnel_type} ${config_api_type} ${src_dpn_id} @{dst_dpn_ids}
[Documentation] This keyword will Get All the Tunnels available on DPN's
- : FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM} -1
- \ ${tunnel} BuiltIn.Wait Until Keyword Succeeds 30 10 Genius.Get Tunnel ${DPN_ID_LIST[${dpn_id_index}]}
- \ ... ${DPN_ID_UPDATED_LIST[${tool_system_index}]} ${tunnel_type} ${config_api_type}
- ${dpn_id_index} = BuiltIn.Evaluate ${dpn_id_index}+1
- [Return] ${dpn_id_index}
+ FOR ${dst_dpn_id} IN @{dst_dpn_ids}
+ ${tunnel} = BuiltIn.Wait Until Keyword Succeeds 30 10 Genius.Get Tunnel ${src_dpn_id}
+ ... ${dst_dpn_id} ${tunnel_type} ${config_api_type}
+ END
Update Dpn id List And Get Tunnels
- [Arguments] ${tunnel_type} ${config_api_type}=${EMPTY}
+ [Arguments] ${tunnel_type} ${config_api_type}=${EMPTY} ${dpn_ids}=${DPN_ID_LIST}
[Documentation] Update the exisisting dpn id list to form different combination of dpn ids such that tunnel formation between all dpns is verified.
- ${dpn_id_index_1} = BuiltIn.Set Variable 0
- : FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM}
- \ ${dpn_id_index_2} = BuiltIn.Set Variable ${dpn_id_index_1}
- \ @{DPN_ID_UPDATED_LIST} = BuiltIn.Create List @{DPN_ID_LIST}
- \ Collections.Remove Values From List ${DPN_ID_UPDATED_LIST} ${DPN_ID_LIST[${tool_system_index}]}
- \ BuiltIn.Log Many ${DPN_ID_UPDATED_LIST}
- \ ${dpn_id_index_1} = Get Tunnel Between DPNs ${tunnel_type} ${config_api_type} ${dpn_id_index_2} @{DPN_ID_UPDATED_LIST}
+ FOR ${dpn_id} IN @{dpn_ids}
+ @{dpn_ids_updated} = BuiltIn.Create List @{dpn_ids}
+ Collections.Remove Values From List ${dpn_ids_updated} ${dpn_id}
+ BuiltIn.Log Many ${dpn_ids_updated}
+ Genius.Get Tunnel Between DPNs ${tunnel_type} ${config_api_type} ${dpn_id} @{dpn_ids_updated}
+ END