*** Settings ***
-Documentation Resource for OpenFlow workflows. This library can be used for scalability and longevity tests.
-Library SSHLibrary
-Library DateTime
-Library RequestsLibrary
-Library ScaleClient.py
-Library SwitchClasses/BaseSwitch.py
-Resource Utils.robot
-Resource FlowLib.robot
-Resource CompareStream.robot
-Resource MininetKeywords.robot
-Resource KarafKeywords.robot
-Resource ../variables/Variables.robot
-Resource ../variables/openflowplugin/Variables.robot
+Documentation Resource for OpenFlow workflows. This library can be used for scalability and longevity tests.
+
+Library SSHLibrary
+Library DateTime
+Library RequestsLibrary
+Library ScaleClient.py
+Library SwitchClasses/BaseSwitch.py
+Resource Utils.robot
+Resource FlowLib.robot
+Resource CompareStream.robot
+Resource MininetKeywords.robot
+Resource KarafKeywords.robot
+Resource ../variables/Variables.robot
+Resource ../variables/openflowplugin/Variables.robot
+
*** Variables ***
-${log_level} ERROR
-${flow_count} 10000
-${swspread} linear
-${tables} 10
-${tabspread} linear
-${nrthreads} 1
+${log_level} ERROR
+${flow_count} 10000
+${swspread} linear
+${tables} 10
+${tabspread} linear
+${nrthreads} 1
+
*** Keywords ***
Workflow Linear Topology
- [Arguments] ${switches} ${sustain_time}=0
[Documentation] Workflow to bring a Linear topology of ${switches} switches, push flows, hold for ${sustain_time} seconds, delete flows and stop topology.
... This KW returns workflow state (PASS/FAIL), error message and topology discover time.
+ [Arguments] ${switches} ${sustain_time}=0
# Define required variables
- ${error_message}= Set Variable Test has completed
- ${topology_discover_time}= Set Variable ${0}
- ${controller_list}= Create List ${ODL_SYSTEM_IP}
- ${flow_count}= Convert to Integer ${flow_count}
- ${flows_ovs_25}= Evaluate ${flow_count} + ${switches}
- ${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}
+ ${error_message} Set Variable Test has completed
+ ${topology_discover_time} Set Variable ${0}
+ ${controller_list} Create List ${ODL_SYSTEM_IP}
+ ${flow_count} Convert to Integer ${flow_count}
+ ${flows_ovs_25} Evaluate ${flow_count} + ${switches}
+ ${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
Log to console ${\n}
Log To Console Starting mininet linear ${switches} switches
- ${status} ${result} Run Keyword And Ignore Error MininetKeywords.Start Mininet Linear ${switches} mininet_timeout=${switches*4}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail starting mininet ${topology_discover_time}
- ${start_time}= DateTime.Get Current Date result_format=timestamp
+ ${status} ${result} Run Keyword And Ignore Error
+ ... MininetKeywords.Start Mininet Linear
+ ... ${switches}
+ ... mininet_timeout=${switches*4}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail starting mininet ${topology_discover_time}
+ END
+ ${start_time} DateTime.Get Current Date result_format=timestamp
Log To Console Verify controller is OK
${status} ${result} Run Keyword And Ignore Error Utils.Verify Controller Is Not Dead ${ODL_SYSTEM_IP}
- Return From Keyword If '${status}' == 'FAIL' ${status} Controller is dead ${topology_discover_time}
- ${status} ${result} Run Keyword And Ignore Error Utils.Verify Controller Has No Null Pointer Exceptions ${ODL_SYSTEM_IP}
- Return From Keyword If '${status}' == 'FAIL' ${status} Controller has NPE ${topology_discover_time}
- ${status} ${result} Run Keyword And Ignore Error Utils.Verify Controller Has No Runtime Exceptions ${ODL_SYSTEM_IP}
- Return From Keyword If '${status}' == 'FAIL' ${status} Controller has RuntimeException ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Controller is dead ${topology_discover_time}
+ END
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Utils.Verify Controller Has No Null Pointer Exceptions
+ ... ${ODL_SYSTEM_IP}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Controller has NPE ${topology_discover_time}
+ END
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Utils.Verify Controller Has No Runtime Exceptions
+ ... ${ODL_SYSTEM_IP}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Controller has RuntimeException ${topology_discover_time}
+ END
Log To Console Checking ${switches} switches
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds ${switches*2} 2s FlowLib.Check Switches In Inventory
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... ${switches*2}
+ ... 2s
+ ... FlowLib.Check Switches In Inventory
... ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking switch ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking switch ${topology_discover_time}
+ END
Log To Console Add table miss flows
${status} ${result} Run Keyword And Ignore Error FlowLib.Add Table Miss Flows ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail adding table Miss flows ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail adding table Miss flows ${topology_discover_time}
+ END
Log To Console Checking Table Miss Flows
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds ${switches} 2s FlowLib.Check Table Miss Flows
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... ${switches}
+ ... 2s
+ ... FlowLib.Check Table Miss Flows
... ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking table miss flows ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking table miss flows ${topology_discover_time}
+ END
Log To Console Checking Linear Topology
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds ${switches} 2s FlowLib.Check Linear Topology
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... ${switches}
+ ... 2s
+ ... FlowLib.Check Linear Topology
... ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking topology ${topology_discover_time}
- ${end_time}= DateTime.Get Current Date result_format=timestamp
- ${topology_discover_time}= DateTime.Subtract Date From Date ${end_time} ${start_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking topology ${topology_discover_time}
+ END
+ ${end_time} DateTime.Get Current Date result_format=timestamp
+ ${topology_discover_time} DateTime.Subtract Date From Date ${end_time} ${start_time}
Log To Console Topology Discovery Time = ${topology_discover_time} seconds
Log To Console Adding ${flow_count} flows
- ${status} ${result} Run Keyword And Ignore Error ScaleClient.Configure Flows flow_details=${flows} controllers=${controller_list} nrthreads=${nrthreads}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail configuring flows ${topology_discover_time}
+ ${status} ${result} Run Keyword And Ignore Error
+ ... ScaleClient.Configure Flows
+ ... flow_details=${flows}
+ ... controllers=${controller_list}
+ ... nrthreads=${nrthreads}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail configuring flows ${topology_discover_time}
+ END
Log To Console Checking ${flow_count} flows in Mininet
- ${status} ${result} Run Keyword And Ignore Error MininetKeywords.Verify Aggregate Flow From Mininet Session ${mininet_conn_id} ${flows_after} ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking flows in mininet ${topology_discover_time}
+ ${status} ${result} Run Keyword And Ignore Error
+ ... MininetKeywords.Verify Aggregate Flow From Mininet Session
+ ... ${mininet_conn_id}
+ ... ${flows_after}
+ ... ${switches}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking flows in mininet ${topology_discover_time}
+ END
Log To Console Checking ${flow_count} flows in Operational DS
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds ${switches*4} 2s FlowLib.Check Flows Operational Datastore
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... ${switches*4}
+ ... 2s
+ ... FlowLib.Check Flows Operational Datastore
... ${flows_after}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking flows in operational DS ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking flows in operational DS ${topology_discover_time}
+ END
Log To Console Sleep for ${sustain_time} seconds
Sleep ${sustain_time}
Log To Console Deleting ${flow_count} flows
- ${status} ${result} Run Keyword And Ignore Error ScaleClient.Deconfigure Flows flow_details=${flows} controllers=${controller_list} nrthreads=${nrthreads}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail deconfiguring flows ${topology_discover_time}
+ ${status} ${result} Run Keyword And Ignore Error
+ ... ScaleClient.Deconfigure Flows
+ ... flow_details=${flows}
+ ... controllers=${controller_list}
+ ... nrthreads=${nrthreads}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail deconfiguring flows ${topology_discover_time}
+ END
Log To Console Checking no flows in Mininet
- ${status} ${result} Run Keyword And Ignore Error MininetKeywords.Verify Aggregate Flow From Mininet Session ${mininet_conn_id} ${flows_before} ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking no flows in mininet ${topology_discover_time}
+ ${status} ${result} Run Keyword And Ignore Error
+ ... MininetKeywords.Verify Aggregate Flow From Mininet Session
+ ... ${mininet_conn_id}
+ ... ${flows_before}
+ ... ${switches}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking no flows in mininet ${topology_discover_time}
+ END
Log To Console Checking no flows in Operational DS
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds ${switches*4} 2s FlowLib.Check Flows Operational Datastore
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... ${switches*4}
+ ... 2s
+ ... FlowLib.Check Flows Operational Datastore
... ${flows_before}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking no flows in operational DS ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking no flows in operational DS ${topology_discover_time}
+ END
Log To Console Stopping Mininet
${status} ${result} Run Keyword And Ignore Error MininetKeywords.Stop Mininet And Exit
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail stopping mininet ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail stopping mininet ${topology_discover_time}
+ END
Log To Console Checking No Switches
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds 30s 2s FlowLib.Check No Switches In Inventory
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... 30s
+ ... 2s
+ ... FlowLib.Check No Switches In Inventory
... ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking no switch ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking no switch ${topology_discover_time}
+ END
Log To Console Checking No Topology
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds 10s 2s FlowLib.Check No Switches In Topology
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... 10s
+ ... 2s
+ ... FlowLib.Check No Switches In Topology
... ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking no topology ${topology_discover_time}
- [Return] PASS ${error_message} ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking no topology ${topology_discover_time}
+ END
+ RETURN PASS ${error_message} ${topology_discover_time}
Workflow Full Mesh Topology
- [Arguments] ${switches} ${sustain_time}=0
[Documentation] Workflow to bring a Full mesh topology of ${switches} switches, push some flows, delete flows and stop topology.
... This KW returns workflow state (PASS/FAIL), error message and topology discover time.
+ [Arguments] ${switches} ${sustain_time}=0
# Define required variables
- ${error_message}= Set Variable Test has completed
- ${topology_discover_time}= Set Variable ${0}
- ${mininet_timeout}= Evaluate ${switches} * ${switches}
- ${links}= Evaluate ${switches} * ${switches-1}
- ${controller_list}= Create List ${ODL_SYSTEM_IP}
- ${flow_count}= Convert to Integer ${flow_count}
- ${flows_ovs_25}= Evaluate ${flow_count} + ${switches}
- ${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}
+ ${error_message} Set Variable Test has completed
+ ${topology_discover_time} Set Variable ${0}
+ ${mininet_timeout} Evaluate ${switches} * ${switches}
+ ${links} Evaluate ${switches} * ${switches-1}
+ ${controller_list} Create List ${ODL_SYSTEM_IP}
+ ${flow_count} Convert to Integer ${flow_count}
+ ${flows_ovs_25} Evaluate ${flow_count} + ${switches}
+ ${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
Log to console ${\n}
Log To Console Start a mininet full mesh ${switches} switches
- ${status} ${result} Run Keyword And Ignore Error MininetKeywords.Start Mininet Full Mesh ${switches} mininet_timeout=${mininet_timeout}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail starting mininet ${topology_discover_time}
- ${start_time}= DateTime.Get Current Date result_format=timestamp
+ ${status} ${result} Run Keyword And Ignore Error
+ ... MininetKeywords.Start Mininet Full Mesh
+ ... ${switches}
+ ... mininet_timeout=${mininet_timeout}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail starting mininet ${topology_discover_time}
+ END
+ ${start_time} DateTime.Get Current Date result_format=timestamp
Log To Console Verify controller is OK
${status} ${result} Run Keyword And Ignore Error Utils.Verify Controller Is Not Dead ${ODL_SYSTEM_IP}
- Return From Keyword If '${status}' == 'FAIL' ${status} Controller is dead ${topology_discover_time}
- ${status} ${result} Run Keyword And Ignore Error Utils.Verify Controller Has No Null Pointer Exceptions ${ODL_SYSTEM_IP}
- Return From Keyword If '${status}' == 'FAIL' ${status} Controller has NPE ${topology_discover_time}
- ${status} ${result} Run Keyword And Ignore Error Utils.Verify Controller Has No Runtime Exceptions ${ODL_SYSTEM_IP}
- Return From Keyword If '${status}' == 'FAIL' ${status} Controller has RuntimeException ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Controller is dead ${topology_discover_time}
+ END
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Utils.Verify Controller Has No Null Pointer Exceptions
+ ... ${ODL_SYSTEM_IP}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Controller has NPE ${topology_discover_time}
+ END
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Utils.Verify Controller Has No Runtime Exceptions
+ ... ${ODL_SYSTEM_IP}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Controller has RuntimeException ${topology_discover_time}
+ END
Log To Console Checking ${switches} switches
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds 30s 2s FlowLib.Check Switches In Inventory
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... 30s
+ ... 2s
+ ... FlowLib.Check Switches In Inventory
... ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking switch ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking switch ${topology_discover_time}
+ END
Log To Console Check number of links in inventory is ${links}
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds 10s 2s FlowLib.Check Number Of Links
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... 10s
+ ... 2s
+ ... FlowLib.Check Number Of Links
... ${links}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking topology ${topology_discover_time}
- ${end_time}= DateTime.Get Current Date result_format=timestamp
- ${topology_discover_time}= DateTime.Subtract Date From Date ${end_time} ${start_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking topology ${topology_discover_time}
+ END
+ ${end_time} DateTime.Get Current Date result_format=timestamp
+ ${topology_discover_time} DateTime.Subtract Date From Date ${end_time} ${start_time}
Log To Console Topology Discovery Time = ${topology_discover_time} seconds
Log To Console Adding ${flow_count} flows
- ${status} ${result} Run Keyword And Ignore Error ScaleClient.Configure Flows flow_details=${flows} controllers=${controller_list} nrthreads=${nrthreads}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail configuring flows ${topology_discover_time}
+ ${status} ${result} Run Keyword And Ignore Error
+ ... ScaleClient.Configure Flows
+ ... flow_details=${flows}
+ ... controllers=${controller_list}
+ ... nrthreads=${nrthreads}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail configuring flows ${topology_discover_time}
+ END
Log To Console Checking ${flow_count} flows in Mininet
- ${status} ${result} Run Keyword And Ignore Error MininetKeywords.Verify Aggregate Flow From Mininet Session ${mininet_conn_id} ${flows_after} ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking flows in mininet ${topology_discover_time}
+ ${status} ${result} Run Keyword And Ignore Error
+ ... MininetKeywords.Verify Aggregate Flow From Mininet Session
+ ... ${mininet_conn_id}
+ ... ${flows_after}
+ ... ${switches}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking flows in mininet ${topology_discover_time}
+ END
Log To Console Checking ${flow_count} flows in Operational DS
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds ${switches*4} 2s FlowLib.Check Flows Operational Datastore
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... ${switches*4}
+ ... 2s
+ ... FlowLib.Check Flows Operational Datastore
... ${flows_after}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking flows in operational DS ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking flows in operational DS ${topology_discover_time}
+ END
Log To Console Sleep for ${sustain_time} seconds
Sleep ${sustain_time}
Log To Console Deleting ${flow_count} flows
- ${status} ${result} Run Keyword And Ignore Error ScaleClient.Deconfigure Flows flow_details=${flows} controllers=${controller_list} nrthreads=${nrthreads}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail deconfiguring flows ${topology_discover_time}
+ ${status} ${result} Run Keyword And Ignore Error
+ ... ScaleClient.Deconfigure Flows
+ ... flow_details=${flows}
+ ... controllers=${controller_list}
+ ... nrthreads=${nrthreads}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail deconfiguring flows ${topology_discover_time}
+ END
Log To Console Checking no flows in Mininet
- ${status} ${result} Run Keyword And Ignore Error MininetKeywords.Verify Aggregate Flow From Mininet Session ${mininet_conn_id} ${flows_before} ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking no flows in mininet ${topology_discover_time}
+ ${status} ${result} Run Keyword And Ignore Error
+ ... MininetKeywords.Verify Aggregate Flow From Mininet Session
+ ... ${mininet_conn_id}
+ ... ${flows_before}
+ ... ${switches}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking no flows in mininet ${topology_discover_time}
+ END
Log To Console Checking no flows in Operational DS
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds ${switches*4} 2s FlowLib.Check Flows Operational Datastore
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... ${switches*4}
+ ... 2s
+ ... FlowLib.Check Flows Operational Datastore
... ${flows_before}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking no flows in operational DS ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking no flows in operational DS ${topology_discover_time}
+ END
Log To Console Stopping Mininet
${status} ${result} Run Keyword And Ignore Error MininetKeywords.Stop Mininet And Exit
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail stopping mininet ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail stopping mininet ${topology_discover_time}
+ END
Log To Console Checking No Switches
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds 10s 2s FlowLib.Check No Switches In Inventory
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... 10s
+ ... 2s
+ ... FlowLib.Check No Switches In Inventory
... ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking no switch ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking no switch ${topology_discover_time}
+ END
Log To Console Checking No Topology
- ${status} ${result} Run Keyword And Ignore Error Wait Until Keyword Succeeds 10s 2s FlowLib.Check No Switches In Topology
+ ${status} ${result} Run Keyword And Ignore Error
+ ... Wait Until Keyword Succeeds
+ ... 10s
+ ... 2s
+ ... FlowLib.Check No Switches In Topology
... ${switches}
- Return From Keyword If '${status}' == 'FAIL' ${status} Fail checking no topology ${topology_discover_time}
- [Return] PASS ${error_message} ${topology_discover_time}
+ IF '${status}' == 'FAIL'
+ RETURN ${status} Fail checking no topology ${topology_discover_time}
+ END
+ RETURN PASS ${error_message} ${topology_discover_time}
Workflow Setup
- RequestsLibrary.Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
+ RequestsLibrary.Create Session
+ ... session
+ ... http://${ODL_SYSTEM_IP}:${RESTCONFPORT}
+ ... auth=${AUTH}
+ ... headers=${HEADERS_XML}
Wait Until Keyword Succeeds 3x 1s KarafKeywords.Issue Command On Karaf Console log:set ${log_level}
Workflow Teardown