Resource ../../../libraries/FlowLib.robot
Resource ../../../libraries/Utils.robot
Resource ../../../variables/Variables.robot
+Resource ../../../variables/openflowplugin/Variables.robot
*** Variables ***
-${SWITCHES} 10
+${SWITCHES} 3
${ITER} 100
${VAR_DIR} ${CURDIR}/../../../variables/openflowplugin
*** Test Cases ***
Add Group 1 In Every Switch
[Documentation] Add ${ITER} groups of type 1 in every switch.
- : FOR ${switch} IN RANGE 1 ${switches+1}
- \ TemplatedRequests.Post As Json Templated folder=${VAR_DIR}/add-group-1 mapping={"SWITCH":"${switch}"} session=session iterations=${iter}
+ FOR ${switch} IN RANGE 1 ${switches+1}
+ TemplatedRequests.Post As Json Templated folder=${VAR_DIR}/add-group-1 mapping={"SWITCH":"${switch}"} session=session iterations=${iter}
+ END
Add Group 2 In Every Switch
[Documentation] Add ${ITER} groups of type 2 in every switch.
- : FOR ${switch} IN RANGE 1 ${switches+1}
- \ TemplatedRequests.Post As Json Templated folder=${VAR_DIR}/add-group-2 mapping={"SWITCH":"${switch}"} session=session iterations=${iter}
+ FOR ${switch} IN RANGE 1 ${switches+1}
+ TemplatedRequests.Post As Json Templated folder=${VAR_DIR}/add-group-2 mapping={"SWITCH":"${switch}"} session=session iterations=${iter}
+ END
Add Flow to Group 2 In Every Switch
[Documentation] Add ${ITER} flows to group type 2 in every switch.
- : FOR ${switch} IN RANGE 1 ${switches+1}
- \ TemplatedRequests.Post As Json Templated folder=${VAR_DIR}/add-flow mapping={"SWITCH":"${switch}"} session=session iterations=${ITER}
+ FOR ${switch} IN RANGE 1 ${switches+1}
+ TemplatedRequests.Post As Json Templated folder=${VAR_DIR}/add-flow mapping={"SWITCH":"${switch}"} session=session iterations=${ITER}
+ END
Start Mininet Linear
[Documentation] Start Mininet Linear with ${SWITCHES} switches.
Remove Flows And Groups After Mininet Reconnects
[Documentation] Remove some groups and flows while network is down.
- : FOR ${switch} IN RANGE 1 ${switches+1}
- \ RequestsLibrary.Delete Request session ${CONFIG_NODES_API}/node/openflow:${switch}/table/0/flow/1
- \ RequestsLibrary.Delete Request session ${CONFIG_NODES_API}/node/openflow:${switch}/group/1
- \ RequestsLibrary.Delete Request session ${CONFIG_NODES_API}/node/openflow:${switch}/group/1000
+ FOR ${switch} IN RANGE 1 ${switches+1}
+ RequestsLibrary.Delete Request session ${RFC8040_NODES_API}/node=openflow%3A${switch}/table=0/flow=1
+ RequestsLibrary.Delete Request session ${RFC8040_NODES_API}/node=openflow%3A${switch}/group=1
+ RequestsLibrary.Delete Request session ${RFC8040_NODES_API}/node=openflow%3A${switch}/group=1000
+ END
Check Flows In Operational DS After Mininet Reconnects
[Documentation] Check Flows after mininet starts.
${all_groups}= BuiltIn.Evaluate ${switches} * ${iter} * 2
${less_groups}= BuiltIn.Evaluate ${all_groups} - ${switches} * 2
# Stale flows/groups feature enabled in Boron onwards.
- ${less_groups}= CompareStream.Set Variable If At Least Boron ${less_groups} ${all_groups}
${all_flows}= BuiltIn.Evaluate ${switches} * ${iter+1}
${less_flows}= BuiltIn.Evaluate ${all_flows} - ${switches}
# Stale flows/groups feature enabled in Boron onwards.
- ${less_flows}= CompareStream.Set Variable If At Least Boron ${less_flows} ${all_flows}
BuiltIn.Set Suite Variable ${switches}
BuiltIn.Set Suite Variable ${iter}
BuiltIn.Set Suite Variable ${all_groups}
[Documentation] Delete all sessions.
${command} = BuiltIn.Set Variable sudo iptables -v -F
Utils.Run Command On Controller cmd=${command}
- BuiltIn.Run Keyword And Ignore Error RequestsLibrary.Delete Request session ${CONFIG_NODES_API}
+ BuiltIn.Run Keyword And Ignore Error RequestsLibrary.Delete Request session ${RFC8040_NODES_API}
RequestsLibrary.Delete All Sessions
Disconnect Controller Mininet