${STATIC_FLOW} table=91
@{DATA_MODELS} config/opendaylight-inventory:nodes operational/opendaylight-inventory:nodes
-*** Testcases ***
+*** Test Cases ***
TC01_Reconciliation check after switch restart
[Documentation] Verify the Bundle based reconciliation with switch(OVS) restart scenario
Push Static Flow ${TOOLS_SYSTEM_IP}
${switch_idx} OVSDB.Get DPID ${TOOLS_SYSTEM_IP}
Push Flow Via Restcall ${switch_idx} ${FLOWFILE[6]}
Utils.Run Command On Remote System ${TOOLS_SYSTEM_IP} sudo service openvswitch-switch restart
- Wait Until Keyword Succeeds 30s 1s FlowLib.Check Operational Flow ${True} ${data}
+ Wait Until Keyword Succeeds 5s 1s FlowLib.Check Operational Flow ${True} ${data}
Log Check if static flow is removed in the switch
${Ovs1Flow} Utils.Run Command On Remote System ${TOOLS_SYSTEM_IP} sudo ovs-ofctl dump-flows ${INTEGRATION_BRIDGE} -OOpenflow13
Should Not Contain ${Ovs1Flow} ${STATIC_FLOW}
Push Groups Via Restcall ${switch_idx} 0
Push Flow Via Restcall ${switch_idx} ${FLOWFILE[0]}
Utils.Run Command On Remote System ${TOOLS_SYSTEM_2_IP} sudo service openvswitch-switch restart
- Wait Until Keyword Succeeds 30s 1s FlowLib.Check Operational Flow ${True} ${data}
+ Wait Until Keyword Succeeds 5s 1s FlowLib.Check Operational Flow ${True} ${data}
Log Check if static flow is removed in the switch
${Ovs1Flow} Utils.Run Command On Remote System ${TOOLS_SYSTEM_2_IP} sudo ovs-ofctl dump-flows ${INTEGRATION_BRIDGE} -OOpenflow13
Should Not Contain ${Ovs1Flow} ${STATIC_FLOW}
TC03_Reconciliation check by pushing group dependent flows
[Documentation] Verify the Bundle based reconciliation by pushing multiple group dependent flows
${switch_idx} OVSDB.Get DPID ${TOOLS_SYSTEM_2_IP}
- : FOR ${index} IN RANGE 1 3
- \ Push Groups Via Restcall ${switch_idx} ${index}
- : FOR ${index} IN RANGE 1 6
- \ Push Flow Via Restcall ${switch_idx} ${FLOWFILE[${index}]}
- \ Set Test Variable ${flowbody[${index}]} ${data}
+ FOR ${index} IN RANGE 1 3
+ Push Groups Via Restcall ${switch_idx} ${index}
+ END
+ FOR ${index} IN RANGE 1 6
+ Push Flow Via Restcall ${switch_idx} ${FLOWFILE[${index}]}
+ Set Test Variable ${flowbody[${index}]} ${data}
+ END
Utils.Run Command On Remote System ${TOOLS_SYSTEM_2_IP} sudo service openvswitch-switch restart
- : FOR ${index} IN RANGE 1 6
- \ Wait Until Keyword Succeeds 30s 1s FlowLib.Check Operational Flow ${True} ${flowbody[${index}]}
+ FOR ${index} IN RANGE 1 6
+ Wait Until Keyword Succeeds 5s 1s FlowLib.Check Operational Flow ${True} ${flowbody[${index}]}
+ END
Log Check if flows are pushed as bundle messages
${Resyncdone_msg}= BuiltIn.Set Variable "Completing bundle based reconciliation for device ID:${switch_idx}"
Check_Karaf_Log_Message_Count ${Resyncdone_msg} 2
Utils.Run Command On Remote System ${ip} sudo ovs-vsctl set-manager tcp:${ODL_SYSTEM_IP}:6640
Utils.Run Command On Remote System ${ip} sudo ovs-vsctl set-controller ${INTEGRATION_BRIDGE} tcp:${ODL_SYSTEM_IP}:6653
Utils.Run Command On Remote System ${ip} sudo ovs-vsctl set bridge ${INTEGRATION_BRIDGE} protocols=OpenFlow13
- DataModels.Get Model Dump ${ODL_SYSTEM_IP} ${DATA_MODELS}
+ Wait Until Keyword Succeeds 20s 2s DataModels.Get Model Dump ${ODL_SYSTEM_IP} ${DATA_MODELS}
Push Static Flow
[Arguments] ${ip}
FlowLib.Add Flow Via Restconf ${switch_idx} ${table_id} ${data}
BuiltIn.Set Test Variable ${switch_idx}
FlowLib.Check Config Flow ${True} ${data}
- Wait Until Keyword Succeeds 30s 1s FlowLib.Check Operational Flow ${True} ${data}
+ Wait Until Keyword Succeeds 5s 1s FlowLib.Check Operational Flow ${True} ${data}
Push Groups Via Restcall
[Arguments] ${switch_idx} ${index}
${GROUP_BODY} OperatingSystem.Get File ${XMLSDIR}/${GROUPFILE[${index}]}
${node_id} BuiltIn.Set Variable openflow:${switch_idx}
- FlowLib.Add Group To Controller And Verify ${GROUP_BODY} ${node_id} ${GROUP_ID[${index}]}
+ ${group_id} BuiltIn.Set Variable ${GROUP_ID[${index}]}
+ FlowLib.Add Group To Controller And Verify ${GROUP_BODY} ${node_id} ${group_id}
+ Wait Until Keyword Succeeds 5s 1s Utils.Get URI And Verify ${OPERATIONAL_NODES_API}/node/${node_id}/group/${group_id}