Use ByteBuf.readRetainedSlice()
[openflowplugin.git] / docs / testplans / Bundles-Resync.rst
1 .. contents:: Table of Contents
2       :depth: 3
3
4 ==============
5 Bundles-Resync
6 ==============
7 Test Suite for testing Bundles-Reconciliation functionality.
8
9 Test Setup
10 ==========
11 Test setup consists of ODL and two switches(Openflow nodes) connected
12 to ODL via OpenflowPlugin Channel (6653).
13
14 Testbed Topologies
15 ------------------
16 This suit uses the default topology.
17
18 Default Topology
19 ^^^^^^^^^^^^^^^^
20
21 .. literalinclude:: topologies/default-topology.txt
22
23
24 Hardware Requirements
25 ---------------------
26 N.A.
27
28 Software Requirements
29 ---------------------
30 OVS 2.6+
31
32 Test Suite Requirements
33 =======================
34
35 Test Suite Bringup
36 ------------------
37 Following steps are followed at beginning of test suite:
38
39 * Bring up ODL with `odl-openflowplugin-flow-services-rest` installed.
40 * Add bridge br-int to openflow node
41 * Connect bridge to OpenFlow using `ovs-vsctl set-controller`
42 * Repeat above steps for other openflow nodes
43
44
45 Test Suite Cleanup
46 ------------------
47 Following steps are followed at the end of test suite:
48
49 * Delete bridge br-int on openflow node
50 * Repeat the same for other openflow nodes
51
52 Debugging
53 ---------
54 Following DataStore models are captured at end of each test case:
55
56 * config/opendaylight-inventory:nodes
57 * operational/opendaylight-inventory:nodes
58
59 Test Cases
60 ==========
61 Testcases covered in automation:
62
63 * Verify the Bundle based reconciliation with switch(OVS) restart scenario
64 * Verify the Bundle based reconciliation by pushing group dependent flow with switch(OVS) restart scenario
65 * Verify the Bundle Based reconciliation by connecting a new switch(OVS)
66
67 Verify the default reconciliation
68 ---------------------------------
69 This Verifies the default reconciliation (bundle-based-reconciliation-enabled=false)
70
71 Test Steps and Pass Criteria
72 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
73
74 #. Bring up the Controller.
75 #. Set the switch fail mode to Secure.
76 #. Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow
77 #. Restart the switch
78 #. Check that the flows pushed via Rest call should be present and the static flow added
79 #. Capture via Wireshark and check that the OFPT_EXP messages are not captured.
80 #. Check in the karaf.log and confirm if EXP messages are not logged
81 #. Flap the management interface of the switch.
82 #. Also ensure that the static flow added would be present.
83 #. Capture via Wireshark and check that the OFPT_EXP messages are not captured.
84 #. Check in the karaf.log and confirm if EXP messages are not logged
85
86
87    #. Verify the Test Procedure.
88
89 Troubleshooting
90 ^^^^^^^^^^^^^^^
91 N.A.
92
93
94 Verify the Bundle based reconciliation by enabling the flag to True
95 -------------------------------------------------------------------
96 The Objective of this Testcase is to check the bundle based resync mechanism by enabling the flag
97
98 Test Steps and Pass Criteria
99 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
100
101 #. Bring up the Controller.
102 #. Set the bundle-based-reconciliation-enabled=true.
103 #. Check if the flag set event is logged in karaf.log.
104 #. Set the bundle-based-reconciliation-enabled=false.
105 #. Check if the flag set event is logged in karaf.log.
106
107
108    #. Verify the Test steps.
109
110 Troubleshooting
111 ^^^^^^^^^^^^^^^
112 N.A.
113
114 Verify the Bundle based reconciliation with switch(OVS) restart scenario
115 ------------------------------------------------------------------------
116 The Objective of this Testcase to verify bundle based reconciliation with ovs restart scenario.
117
118 Test Steps and Pass Criteria
119 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
120
121 #. Bring up the Controller.
122 #. Set the bundle-based-reconciliation-enabled=true.
123 #. Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow
124 #. Set the Switch fail-mode set to secure.
125 #. Check if the flag set event is logged in karaf.log.
126 #. Restart the switch
127 #. Check if the Wireshark has the OFPT_EXP messages captured.
128 #. Check for the same messages to be logged in the karaf.log.
129 #. Repeat the same with fail-mode set to stand-alone
130 #. Static flow should not be present in both stand-alone and secure mode as the switch is restarted.
131
132
133    #. Verify the Test steps.
134
135 Troubleshooting
136 ^^^^^^^^^^^^^^^
137 N.A.
138
139 Verify the Bundle based reconciliation by pushing group dependent flow with switch(OVS) restart scenario
140 --------------------------------------------------------------------------------------------------------
141 The Objective of this Testcase to verify bundle based reconciliation with ovs restart scenario.
142
143 Test Steps and Pass Criteria
144 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
145
146 #. Bring up the Controller.
147 #. Set the bundle-based-reconciliation-enabled=true.
148 #. Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow
149 #. Set the Switch fail-mode set to secure.
150 #. Check if the flag set event is logged in karaf.log.
151 #. Restart the switch
152 #. Check if the Wireshark has the OFPT_EXP messages captured.
153 #. Check for the same messages to be logged in the karaf.log.
154 #. Repeat the same with fail-mode set to stand-alone
155 #. Static flow should not be present in both stand-alone and secure mode as the switch is restarted.
156
157
158    #. Verify the Test steps.
159
160 Troubleshooting
161 ^^^^^^^^^^^^^^^
162 N.A.
163
164 Verify the Bundle Based reconciliation by connecting a new switch(OVS)
165 ----------------------------------------------------------------------
166 The Objective of this Testcase to verify the bundle based reconciliation by connecting a new switch to the controller.
167
168 Test Steps and Pass Criteria
169 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
170
171 #. Bring up the Controller.
172 #. Set the bundle-based-reconciliation-enabled=true
173 #. Push group dependent flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow
174 #. Set the Switch fail-mode set to secure.
175 #. Check if the flag set event is logged in karaf.log.
176 #. Check if the pushed flows are there in the OVS.
177 #. Get a new switch connected to the Controller.
178 #. Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow to the newly added switch
179 #. Flap the management interface of the new switch.
180 #. Ensure the flows are pushed via bundles to the new switch.
181 #. Flows remain intact in the switch that was already connected.
182
183    #. Verify the Test Steps
184
185 Troubleshooting
186 ^^^^^^^^^^^^^^^
187 N.A.
188
189 Verify the Bundle based reconciliation by killing the OVS Switch Process
190 ------------------------------------------------------------------------
191 The Objective of this Testcase to verify the bundle based reconciliation by killing the ovs switch.
192
193 Test Steps and Pass Criteria
194 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
195
196 #. Bring up the Controller.
197 #. Set the bundle-based-reconciliation-enabled=true.
198 #. Push flow via Rest call and add a flow in the ovs-switch via ovs-ofctl add-flow
199 #. Set the Switch fail-mode set to secure.
200 #. Check if the flag set event is logged in karaf.log.
201 #. Kill the OVS Switch process
202 #. Check if the Wireshark has the OFPT_EXP messages captured.
203 #. Check for the same messages to be logged in the karaf.log.
204 #. Repeat the same with fail-mode set to stand-alone
205 #. Static flow should not be present in both stand-alone and secure mode.
206
207
208    #. Verify the Test Steps
209
210 Troubleshooting
211 ^^^^^^^^^^^^^^^
212 N.A.
213
214 Implementation
215 ==============
216
217 Assignee(s)
218 -----------
219
220 Primary assignee:
221   Fathima Thasneem  (a.fathima.thasneem@ericsson.com)
222
223 Other contributors:
224   N.A.
225
226 Work Items
227 ----------
228 N.A.
229
230 Links
231 -----
232
233 * https://git.opendaylight.org/gerrit/#/c/68364/
234 * Script path test/csit/suites/openflowplugin/Bundlebased_Reconciliation/010_bundle_resync.robot
235
236 References
237 ==========