Spec for ITM Yang models cleanup
[genius.git] / docs / testplans / interface-manager.rst
1
2 .. contents:: Table of Contents
3       :depth: 3
4
5 =================
6 Interface Manager
7 =================
8 Test Suite for testing basic Interface Manager functions.
9
10 Test Setup
11 ==========
12 Test setup consists of ODL with `odl-genius` installed and two switches (DPNs) connected
13 to ODL over OVSDB and OpenflowPlugin.
14
15 Testbed Topologies
16 ------------------
17 This suit uses the default Genius topology.
18
19 Default Topology
20 ^^^^^^^^^^^^^^^^
21
22 .. literalinclude:: topologies/default-topology.txt
23
24
25 Hardware Requirements
26 ---------------------
27 N.A.
28
29 Software Requirements
30 ---------------------
31 OVS 2.6+
32 Mininet ???
33
34 Test Suite Requirements
35 =======================
36
37 Test Suite Bringup
38 ------------------
39 Following steps are followed at beginning of test suite:
40
41 * Bring up ODL with `odl-genius` feature installed
42 * Add bridge to DPN
43 * Add `tap` interfaces to bridge created above
44 * Add OVSDB manager to DPN using `ovs-vsctl set-manager`
45 * Connect bridge to OpenFlow using `ovs-vsctl set-controller`
46 * Repeat above steps for other DPNs
47 * Create REST session to ODL
48
49
50 Test Suite Cleanup
51 ------------------
52 Following steps are followed at beginning of test suite:
53
54 * Delete bridge DPN
55 * Delete OVSDB manager 'ovs-vsctl del-manager'
56 * Repeat above steps for other DPNs
57 * Delete REST session to ODL
58
59 Debugging
60 ---------
61 Following DataStore models are captured at end of each test case:
62
63 * config/itm-config:tunnel-monitor-enabled
64 * config/itm-config:tunnel-monitor-interval
65 * config/itm-state:dpn-endpoints
66 * config/itm-state:external-tunnel-list
67 * config/itm:transport-zones
68 * config/network-topology:network-topology
69 * config/opendaylight-inventory:nodes
70 * operational/ietf-interfaces:interfaces
71 * operational/ietf-interfaces:interfaces-state
72 * operational/itm-config:tunnel-monitor-enabled
73 * operational/itm-config:tunnel-monitor-interval
74 * operational/itm-state:tunnels_state
75 * operational/network-topology:network-topology
76 * operational/odl-interface-meta:bridge-ref-info
77
78
79 Test Cases
80 ==========
81
82 Create l2vlan Transparent Interface
83 -----------------------------------
84 This creates a transparent l2vlan interface between two dpns
85
86 Test Steps and Pass Criteria
87 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
88
89 #. Create transparent l2vlan interface through REST
90
91    #. Interface shows up in config
92    #. Interface state shows up in operational
93    #. Flows are added to `Table0` on the bridge
94
95 Troubleshooting
96 ^^^^^^^^^^^^^^^
97 N.A.
98
99
100 Delete l2vlan Transparent Interface
101 -----------------------------------
102 This testcase deletes the l2vlan transparent interface created in previous test case.
103
104 Test Steps and Pass Criteria
105 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
106
107 #. Remove all interfaces in config
108
109    #. Interface config is empty
110    #. Interface states in operational is empty
111    #. Flows are deleted from `Table0` on bridge
112
113 Troubleshooting
114 ^^^^^^^^^^^^^^^
115 N.A.
116
117
118 Create l2vlan Trunk Interface
119 -----------------------------
120 This testcase creates a l2vlan trunk interface between 2 DPNs.
121
122 Test Steps and Pass Criteria
123 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
124
125 #. Create l2vlan trunk interface through REST
126
127    #. Interface shows up in config
128    #. Interface state shows up in operational
129    #. Flows are added to `Table0` on the bridge
130
131 Troubleshooting
132 ^^^^^^^^^^^^^^^
133 N.A.
134
135
136 Create l2vlan Trunk Member Interface
137 ------------------------------------
138 This testcase creates a l2vlan Trunk member interface for the l2vlan trunk interface
139 created in previous testcase.
140
141 Test Steps and Pass Criteria
142 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
143
144 #. Create l2vlan trunk member interface through REST
145
146    #. Interface shows up in config
147    #. Interface state shows up in operational
148    #. Flows are added to `Table0` on the bridge
149    #. Flows match on `dl_vlan`
150    #. Flows have `action=pop_vlan`
151
152 Troubleshooting
153 ^^^^^^^^^^^^^^^
154 N.A.
155
156
157 Bind service on Interface
158 -------------------------
159 This testcase binds service to the L2vlan Trunk Interface earlier.
160
161 Test Steps and Pass Criteria
162 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
163
164 #. Add service bindings for `elan` and `VPN` services on L2Vlan Trunk Interface using REST
165
166    #. Check bindings for `VPN` and `elan` services exist on L2Vlan Trunk interface
167    #. Flows are added to `Table17` on the bridge
168    #. Flows have action `goto_table:21`
169    #. Flows have action `goto_table:50`
170
171 Troubleshooting
172 ^^^^^^^^^^^^^^^
173 N.A.
174
175
176 Unbind service on Interface
177 ---------------------------
178 This testcase Unbinds the services which were bound in previous testcase.
179
180 Test Steps and Pass Criteria
181 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
182
183 #. Delete service bindings for `elan` and `VPN` services on L2Vlan Trunk Interface using REST
184
185    #. Check bindings for `VPN` and `elan` services on L2Vlan Trunk interface don't exist
186    #. No flows on `Table0`
187    #. No flows with action `goto_table:21`
188    #. No flows with action `goto_table:50`
189
190 Troubleshooting
191 ^^^^^^^^^^^^^^^
192 N.A.
193
194
195 Delete L2vlan Trunk Interface
196 -----------------------------
197 Delete l2vlan trunk interface created and used in earlier test cases
198
199 Test Steps and Pass Criteria
200 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
201
202 #. Remove all interfaces in config
203
204    #. Interface config is empty
205    #. Interface states in operational is empty
206    #. Flows are deleted from `Table0` on bridge
207
208 Troubleshooting
209 ^^^^^^^^^^^^^^^
210 N.A.
211
212
213 Implementation
214 ==============
215
216 Assignee(s)
217 -----------
218
219 Primary assignee:
220   <developer-a>
221
222 Other contributors:
223   <developer-b>
224   <developer-c>
225
226
227 Work Items
228 ----------
229 N.A.
230
231 Links
232 -----
233
234 * Link to implementation patche(s) in CSIT - TBD
235
236 References
237 ==========
238
239 [1] `OpenDaylight Genius usrr Guide <http://docs.opendaylight.org/en/latest/user-guide/genius-user-guide.html#interface-manager-operations>`__