CSIT-563: HC Test: improved Lisp test coverage
[csit.git] / resources / libraries / robot / honeycomb / lisp.robot
1 # Copyright (c) 2016 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 *** Settings ***
15 | Library | resources.libraries.python.honeycomb.Lisp.LispKeywords
16 | Library | resources.libraries.python.LispUtil
17 | Documentation | Keywords used to test Honeycomb Lisp features.
18
19 *** Keywords ***
20 | Honeycomb enables Lisp
21 | | [Documentation] | Uses Honeycomb API to enable Lisp.
22 | | ...
23 | | ... | *Arguments:*
24 | | ... | - node - Information about a DUT node. Type: dictionary
25 | | ...
26 | | ... | *Example:*
27 | | ...
28 | | ... | \| Honeycomb enables Lisp \| ${nodes['DUT1']} \|
29 | | ...
30 | | [Arguments] | ${node}
31 | | ...
32 | | Set Lisp state | ${node} | ${TRUE}
33
34 | Honeycomb disables Lisp
35 | | [Documentation] | Uses Honeycomb API to disable Lisp.
36 | | ...
37 | | ... | *Arguments:*
38 | | ... | - node - Information about a DUT node. Type: dictionary
39 | | ...
40 | | ... | *Example:*
41 | | ...
42 | | ... | \| Honeycomb disables Lisp \| ${nodes['DUT1']} \|
43 | | ...
44 | | [Arguments] | ${node}
45 | | ...
46 | | Set Lisp state | ${node} | ${FALSE}
47
48 | Honeycomb adds locator set
49 | | [Documentation] | Uses Honeycomb API to enable Lisp.
50 | | ...
51 | | ... | *Arguments:*
52 | | ... | - node - Information about a DUT node. Type: dictionary
53 | | ... | - interface - Name of an interface on the node. Type: string
54 | | ... | - locator_set - Name for the new locator set. Type: string
55 | | ...
56 | | ... | *Example:*
57 | | ...
58 | | ... | \| Honeycomb enables Lisp \| ${nodes['DUT1']} \| GigabitEthernet0/8/0\
59 | | ... | \| loc_01 \|
60 | | ...
61 | | [Arguments] | ${node} | ${interface} | ${locator_set}
62 | | ...
63 | | Add locator | ${node} | ${interface} | ${locator_set}
64
65 | Honeycomb adds Lisp Mapping
66 | | [Documentation] | Uses Honeycomb API to configure a Lisp mapping.
67 | | ...
68 | | ... | *Arguments:*
69 | | ... | - node - Information about a DUT node. Type: dictionary
70 | | ... | - data - Lisp settings to use. Type: dictionary
71 | | ...
72 | | ... | *Example:*
73 | | ...
74 | | ... | \| Honeycomb adds Lisp Mapping \| ${nodes['DUT1']} \| ${data} \|
75 | | ...
76 | | [Arguments] | ${node} | ${data}
77 | | ...
78 | | Configure Lisp Mapping | ${node} | ${data}
79
80 | Honeycomb removes all Lisp mappings
81 | | [Documentation] | Uses Honeycomb API to clear the eid-table.
82 | | ...
83 | | ... | *Arguments:*
84 | | ... | - node - Information about a DUT node. Type: dictionary
85 | | ...
86 | | ... | *Example:*
87 | | ...
88 | | ... | \| Honeycomb removes all Lisp mappings \| ${nodes['DUT1']} \|
89 | | ...
90 | | [Arguments] | ${node}
91 | | ...
92 | | Configure lisp mapping | ${node} | ${NONE}
93
94 | Lisp should not be configured
95 | | [Documentation] | Retrieves Lisp configuration from Honeycomb operational\
96 | | ... | data, and expects an empty dictionary.
97 | | ...
98 | | ... | *Arguments:*
99 | | ... | - node - Information about a DUT node. Type: dictionary
100 | | ...
101 | | ... | *Example:*
102 | | ...
103 | | ... | \| Lisp should not be configured \| ${nodes['DUT1']} \|
104 | | ...
105 | | [Arguments] | ${node}
106 | | ...
107 | | Run keyword and Expect Error | KeyError: 'lisp-feature-data'
108 | | ... | Get Lisp operational data | ${node}
109
110 | Lisp state From Honeycomb Should Be
111 | | [Documentation] | Retrieves Lisp state from Honeycomb operational\
112 | | ... | data, and compares Lisp state with expected value.
113 | | ...
114 | | ... | *Arguments:*
115 | | ... | - node - Information about a DUT node. Type: dictionary
116 | | ... | - state - Expected Lisp state. Type: string
117 | | ...
118 | | ... | *Example:*
119 | | ...
120 | | ... | \| Lisp state From Honeycomb Should Be \| ${nodes['DUT1']} \
121 | | ... | \| enabled \|
122 | | ...
123 | | [Arguments] | ${node} | ${state}
124 | | ${data}= | Get Lisp operational data | ${node}
125 | | ...
126 | | Run keyword if | $state == 'enabled'
127 | | ... | Should be equal as strings
128 | | ... | ${data['lisp-state']['enable']} | ${True}
129 | | Run keyword if | $state == 'disabled'
130 | | ... | Should be equal as strings
131 | | ... | ${data['lisp-state']['enable']} | ${False}
132
133 | Lisp state From VAT Should Be
134 | | [Documentation] | Retrieves Lisp state from VAT,\
135 | | ... | and compares Lisp state with expected value.
136 | | ...
137 | | ... | *Arguments:*
138 | | ... | - node - Information about a DUT node. Type: dictionary
139 | | ... | - state - Expected Lisp state. Type: string
140 | | ...
141 | | ... | *Example:*
142 | | ...
143 | | ... | \| Lisp state From VAT Should Be \| ${nodes['DUT1']} \| enabled \|
144 | | ...
145 | | [Arguments] | ${node} | ${state}
146 | | ...
147 | | ${status}= | VPP show Lisp State | ${node}
148 | | Should match | ${status['feature_status']} | ${state}
149
150 | Lisp mapping From Honeycomb Should Be
151 | | [Documentation] | Retrieves Lisp mapping from Honeycomb operational\
152 | | ... | data, and compares with expected data.
153 | | ...
154 | | ... | *Arguments:*
155 | | ... | - node - Information about a DUT node. Type: dictionary
156 | | ... | - settings - Expected Lisp mapping data. Type: dictionary
157 | | ...
158 | | ... | *Example:*
159 | | ...
160 | | ... | \| Lisp mapping From Honeycomb Should Be \| ${nodes['DUT1']} \
161 | | ... | \| ${settings} \|
162 | | ...
163 | | [Arguments] | ${node} | ${settings}
164 | | ...
165 | | ${data}= | Get Lisp operational data | ${node}
166 | | ${data}= | Set Variable | ${data['lisp-state']['lisp-feature-data']}
167 | | ${data}= | Set Variable | ${data['eid-table']['vni-table'][0]}
168 | | Compare data structures | ${data} | ${settings}
169
170 | Lisp mapping From VAT Should Be
171 | | [Documentation] | Retrieves Lisp mapping from VAT,\
172 | | ... | and compares with expected data.
173 | | ...
174 | | ... | *Arguments:*
175 | | ... | - node - Information about a DUT node. Type: dictionary
176 | | ... | - settings - Expected Lisp mapping data. Type: dictionary
177 | | ...
178 | | ... | *Example:*
179 | | ...
180 | | ... | \| Lisp mapping From VAT Should Be \| ${nodes['DUT1']} \
181 | | ... | \| ${settings} \|
182 | | ...
183 | | [Arguments] | ${node} | ${settings}
184 | | ...
185 | | ${data}= | VPP show Lisp eid table | ${node}
186 | | Compare data structures | ${data[0]} | ${settings}
187
188 | Lisp mappings from Honeycomb should not exist
189 | | [Documentation] | Retrieves Lisp mappings from operational\
190 | | ... | data, and expects to find none.
191 | | ...
192 | | ... | *Arguments:*
193 | | ... | - node - Information about a DUT node. Type: dictionary
194 | | ...
195 | | ... | *Example:*
196 | | ...
197 | | ... | \| Lisp mappings from Honeycomb should not exist \
198 | | ... | \| ${nodes['DUT1']} \|
199 | | ...
200 | | [Arguments] | ${node}
201 | | ...
202 | | ${data}= | Get Lisp operational data | ${node}
203 | | ${data}= | Set Variable | ${data['lisp-state']['lisp-feature-data']}
204 | | Should be empty | ${data['eid-table']['vni-table']}
205
206 | Lisp mappings from VAT should not exist
207 | | [Documentation] | Retrieves Lisp mappings from VAT,\
208 | | ... | and expects to receive an empty list.
209 | | ...
210 | | ... | *Arguments:*
211 | | ... | - node - Information about a DUT node. Type: dictionary
212 | | ...
213 | | ... | *Example:*
214 | | ...
215 | | ... | \| Lisp mappings from VAT should not exist \| ${nodes['DUT1']} \|
216 | | ...
217 | | [Arguments] | ${node}
218 | | ...
219 | | ${data}= | VPP show Lisp eid table | ${node}
220 | | Should be empty | ${data}
221
222 | Locator set from Honeycomb should be
223 | | [Documentation] | Retrieves Lisp locator set from Honeycomb operational\
224 | | ... | data, and compares with expected data.
225 | | ...
226 | | ... | *Arguments:*
227 | | ... | - node - Information about a DUT node. Type: dictionary
228 | | ... | - interface - Interface that should be referenced by locator.\
229 | | ... | Type: dictionary
230 | | ... | - locator_set - Expected locator set name. Type: string
231 | | ...
232 | | ... | *Example:*
233 | | ...
234 | | ... | \| Locator set From Honeycomb Should Be \| ${nodes['DUT1']} \
235 | | ... | \| GigabitEthernet0/8/0 \| loc01 \|
236 | | ...
237 | | [Arguments] | ${node} | ${interface} | ${locator_set}
238 | | ...
239 | | ${data}= | Get Lisp operational data | ${node}
240 | | ${loc_data}= | Set Variable
241 | | ... | ${data['lisp-state']['lisp-feature-data']['locator-sets']}
242 | | Should be equal
243 | | ... | ${loc_data['locator-set'][0]['name']}
244 | | ... | ${locator_set}
245 | | Should be equal
246 | | ... | ${loc_data['locator-set'][0]['interface'][0]['interface-ref']}
247 | | ... | ${interface}
248
249 | Honeycomb adds Lisp adjacency
250 | | [Documentation] | Uses Honeycomb API to configure Lisp adjacency.
251 | | ...
252 | | ... | *Arguments:*
253 | | ... | - node - Information about a DUT node. Type: dictionary
254 | | ... | - vni - Virtual network identifier number. Type: integer
255 | | ... | - map - Name of an existing remote mapping. Type: string
256 | | ... | - adjacency - Name for the new adjacency. Type: string
257 | | ... | - data - Lisp adjacency settings to use. Type: dictionary
258 | | ...
259 | | ... | *Example:*
260 | | ...
261 | | ... | \| Honeycomb adds Lisp adjacency \| ${nodes['DUT1']} \| ${1} \| map1\
262 | | ... | \| adj1 \| ${data} \|
263 | | ...
264 | | [Arguments] | ${node} | ${vni} | ${map} | ${adjacency} | ${data}
265 | | ...
266 | | Add Lisp adjacency
267 | | ... | ${node} | ${vni} | ${map} | ${adjacency} | ${data}
268
269 | Honeycomb adds Lisp Map resolver
270 | | [Documentation] | Uses Honeycomb API to configure Lisp map resolver.
271 | | ...
272 | | ... | *Arguments:*
273 | | ... | - node - Information about a DUT node. Type: dictionary
274 | | ... | - ip_address - IP address for the map resolver. Type: string
275 | | ...
276 | | ... | *Example:*
277 | | ...
278 | | ... | \| Honeycomb adds Lisp Map resolver \| ${nodes['DUT1']} \
279 | | ... | \| 192.168.0.2 \|
280 | | ...
281 | | [Arguments] | ${node} | ${ip_address}
282 | | ...
283 | | Add map resolver | ${node} | ${ip_address}
284
285 | Honeycomb adds Lisp Map register
286 | | [Documentation] | Uses Honeycomb API to configure Lisp map register.
287 | | ...
288 | | ... | *Arguments:*
289 | | ... | - node - Information about a DUT node. Type: dictionary
290 | | ... | - add_map_register - Set boolean value of map register. Type: bool
291 | | ...
292 | | ... | *Example:*
293 | | ...
294 | | ... | \| Honeycomb adds Lisp Map register \| ${nodes['DUT1']} \
295 | | ... | \| ${True} \|
296 | | ...
297 | | [Arguments] | ${node} | ${add_map_register}
298 | | ...
299 | | Set Map Register | ${node} | ${add_map_register}
300
301 | Honeycomb sets Lisp Map request Mode
302 | | [Documentation] | Uses Honeycomb API to configure Lisp map request mode.
303 | | ...
304 | | ... | *Arguments:*
305 | | ... | - node - Information about a DUT node. Type: dictionary
306 | | ... | - set_map_request - Set boolean value of map request mode. Type: bool
307 | | ...
308 | | ... | *Example:*
309 | | ...
310 | | ... | \| Honeycomb adds Lisp Map Request Mode \| ${nodes['DUT1']} \
311 | | ... | \| ${True} \|
312 | | ...
313 | | [Arguments] | ${node} | ${set_map_request}
314 | | ...
315 | | Set Map Request Mode | ${node} | ${set_map_request}
316
317 | Map resolver from Honeycomb should be
318 | | [Documentation] | Retrieves Lisp map resolver from Honeycomb operational\
319 | | ... | data, and compares with expected data.
320 | | ...
321 | | ... | *Arguments:*
322 | | ... | - node - Information about a DUT node. Type: dictionary
323 | | ... | - ip_address - IP address that should be referenced in map resolver.\
324 | | ... | Type: string
325 | | ...
326 | | ... | *Example:*
327 | | ...
328 | | ... | \| Map resolver From Honeycomb Should Be \| ${nodes['DUT1']} \
329 | | ... | \| 192.168.1.2 \|
330 | | ...
331 | | [Arguments] | ${node} | ${ip_address}
332 | | ...
333 | | ${data}= | Get Lisp operational data | ${node}
334 | | ${data}= | Set Variable | ${data['lisp-state']['lisp-feature-data']}
335 | | ${data}= | Set Variable | ${data['map-resolvers']['map-resolver'][0]}
336 | | Should be equal | ${data['ip-address']} | ${ip_address}
337
338 | Map resolver from VAT should be
339 | | [Documentation] | Retrieves Lisp mapping from VAT,\
340 | | ... | and compares with expected data.
341 | | ...
342 | | ... | *Arguments:*
343 | | ... | - node - Information about a DUT node. Type: dictionary
344 | | ... | - ip_address - IP address that should be referenced in map resolver.\
345 | | ... | Type: string
346 | | ...
347 | | ... | *Example:*
348 | | ...
349 | | ... | \| Map resolver From VAT Should Be \| ${nodes['DUT1']} \
350 | | ... | \| 192.168.1.2 \|
351 | | ...
352 | | [Arguments] | ${node} | ${ip_address}
353 | | ...
354 | | ${data}= | Vpp show Lisp map resolver | ${node}
355 | | Should be equal | ${data[0]['map resolver']} | ${ip_address}
356
357 | Honeycomb adds Lisp Map Server
358 | | [Documentation] | Uses Honeycomb API to configure Lisp Map Server.
359 | | ...
360 | | ... | *Arguments:*
361 | | ... | - node - Information about a DUT node. Type: dictionary
362 | | ... | - ip_addresses - IP addresses for the Map Server.\
363 | | ... | Type: any number of strings
364 | | ...
365 | | ... | *Example:*
366 | | ...
367 | | ... | \| Honeycomb adds Lisp Map Server \| ${nodes['DUT1']} \
368 | | ... | \| 192.168.0.2 \| 192.168.0.3 \|
369 | | ...
370 | | [Arguments] | ${node} | @{ip_addresses}
371 | | ...
372 | | Add Map Server | ${node} | @{ip_addresses}
373
374 | Map Register from Honeycomb should be
375 | | [Documentation] | Retrieves Lisp Map Register from Honeycomb operational\
376 | | ... | data, and compares with expected data.
377 | | ...
378 | | ... | *Arguments:*
379 | | ... | - node - Information about a DUT node. Type: dictionary
380 | | ... | - state - Desired state - True. Type: bool
381 | | ...
382 | | ... | *Example:*
383 | | ...
384 | | ... | \| Map Register From Honeycomb Should Be \| ${nodes['DUT1']} \
385 | | ... | \| ${True} \|
386 | | ...
387 | | [Arguments] | ${node} | ${state}
388 | | ...
389 | | ${data}= | Get Lisp operational data | ${node}
390 | | ${data}= | Set Variable | ${data['lisp-state']['lisp-feature-data']}
391 | | ${data}= | Set Variable | ${data['map-register']}
392 | | Should be equal | ${data['enabled']} | ${state}
393
394 | Map Server from Honeycomb should be
395 | | [Documentation] | Retrieves Lisp Map Server from Honeycomb operational\
396 | | ... | data, and compares with expected data.
397 | | ...
398 | | ... | *Arguments:*
399 | | ... | - node - Information about a DUT node. Type: dictionary
400 | | ... | - ip_addresses - IP addresses that should be referenced\
401 | | ... | in Map Server. Type: any number of strings
402 | | ...
403 | | ... | *Example:*
404 | | ...
405 | | ... | \| Map Server From Honeycomb Should Be \| ${nodes['DUT1']} \
406 | | ... | \| 192.168.1.2 \| 192.168.1.7 \|
407 | | ...
408 | | [Arguments] | ${node} | @{ip_addresses}
409 | | ...
410 | | ${data}= | Get Lisp operational data | ${node}
411 | | Verify Map Server Data from Honeycomb | ${data} | ${ip_addresses}
412
413
414 | Map Server from VAT should be
415 | | [Documentation] | Retrieves Lisp mapping from VAT,\
416 | | ... | and compares with expected data.
417 | | ...
418 | | ... | *Arguments:*
419 | | ... | - node - Information about a DUT node. Type: dictionary
420 | | ... | - ip_addresses - IP addresses that should be referenced\
421 | | ... | in Map Server. Type: any number of strings
422 | | ...
423 | | ... | *Example:*
424 | | ...
425 | | ... | \| Map Server From VAT Should Be \| ${nodes['DUT1']} \
426 | | ... | \| 192.168.1.2 \| 192.168.1.7 \|
427 | | ...
428 | | [Arguments] | ${node} | @{ip_addresses}
429 | | ...
430 | | ${data}= | Vpp show Lisp Map Server | ${node}
431 | | Verify Map Server Data from VAT | ${data} | ${ip_addresses}
432
433 | Map Register from VAT should be
434 | | [Documentation] | Retrieves Lisp mapping from VAT,\
435 | | ... | and compares with expected data.
436 | | ...
437 | | ... | *Arguments:*
438 | | ... | - node - Information about a DUT node. Type: dictionary
439 | | ... | - state - Desired state - "enabled". Type: string
440 | | ...
441 | | ... | *Example:*
442 | | ...
443 | | ... | \| Map Register From VAT Should Be \| ${nodes['DUT1']} \
444 | | ... | \| enabled \|
445 | | ...
446 | | [Arguments] | ${node} | ${state}
447 | | ...
448 | | ${data}= | Vpp show Lisp Map Register | ${node}
449 | | Should be equal | ${data['state']} | ${state}
450
451 | Map Request Mode from VAT should be
452 | | [Documentation] | Retrieves Lisp Request Mode from VAT,\
453 | | ... | and compares with expected data.
454 | | ...
455 | | ... | *Arguments:*
456 | | ... | - node - Information about a DUT node. Type: dictionary
457 | | ... | - destination - Source or Destination in Map\
458 | | ... | Request Mode. Type: string
459 | | ...
460 | | ... | *Example:*
461 | | ...
462 | | ... | \| Map Request Mode From VAT Should Be \| ${nodes['DUT1']} \
463 | | ... | \| src-dst \|
464 | | ...
465 | | [Arguments] | ${node} | ${destination}
466 | | ...
467 | | ${data}= | Vpp show Lisp Map Request Mode | ${node}
468 | | Should be equal | ${data['map_request_mode']} | ${destination}
469
470 | Honeycomb enables Lisp PITR feature
471 | | [Documentation] | Uses Honeycomb API to configure Lisp PITR feature.
472 | | ...
473 | | ... | *Arguments:*
474 | | ... | - node - Information about a DUT node. Type: dictionary
475 | | ... | - locator_set - Name of an existing locator set. Type: string
476 | | ...
477 | | ... | *Example:*
478 | | ...
479 | | ... | \| Honeycomb enables Lisp PITR feature \| ${nodes['DUT1']} \| loc1 \|
480 | | ...
481 | | [Arguments] | ${node} | ${locator_set}
482 | | ...
483 | | Configure PITR | ${node} | ${locator_set}
484
485 | Honeycomb enables Lisp PETR feature
486 | | [Documentation] | Uses Honeycomb API to configure Lisp PETR feature.
487 | | ...
488 | | ... | *Arguments:*
489 | | ... | - node - Information about a DUT node. Type: dictionary
490 | | ... | - ip_address - IP address. Type: string
491 | | ...
492 | | ... | *Example:*
493 | | ...
494 | | ... | \| Honeycomb enables Lisp PETR feature \| ${nodes['DUT1']}\
495 | | ... | \| 192.168.0.1 \|
496 | | ...
497 | | [Arguments] | ${node} | ${ip_address}
498 | | ...
499 | | Configure PETR | ${node} | ${ip_address}
500
501 | Honeycomb enables Lisp RLOC feature
502 | | [Documentation] | Uses Honeycomb API to enable the Lisp RLOC feature.
503 | | ...
504 | | ... | *Arguments:*
505 | | ... | - node - Information about a DUT node. Type: dictionary
506 | | ...
507 | | ... | *Example:*
508 | | ...
509 | | ... | \| Honeycomb enables Lisp RLOC feature\
510 | | ... | \| ${nodes['DUT1']} \|
511 | | ...
512 | | [Arguments] | ${node}
513 | | ...
514 | | Set RLOC probe state | ${node} | ${TRUE}
515
516 | PITR config from Honeycomb should be
517 | | [Documentation] | Retrieves PITR config from Honeycomb operational\
518 | | ... | data, and compares with expected data.
519 | | ...
520 | | ... | *Arguments:*
521 | | ... | - node - Information about a DUT node. Type: dictionary
522 | | ... | - locator_set - Name of locator set that should be referenced\
523 | | ... | in PITR config. Type: string
524 | | ...
525 | | ... | *Example:*
526 | | ...
527 | | ... | \| PITR config from Honeycomb should be \| ${nodes['DUT1']} \
528 | | ... | \| loc01 \|
529 | | ...
530 | | [Arguments] | ${node} | ${locator_set}
531 | | ...
532 | | ${data}= | Get Lisp operational data | ${node}
533 | | ${data}= | Set Variable | ${data['lisp-state']['lisp-feature-data']}
534 | | ${data}= | Set Variable | ${data['pitr-cfg']}
535 | | Should be equal | ${data['locator-set']} | ${locator_set}
536
537 | PETR configuration from Honeycomb should be
538 | | [Documentation] | Retrieves PETR config from Honeycomb operational\
539 | | ... | data, and compares with expected data.
540 | | ...
541 | | ... | *Arguments:*
542 | | ... | - node - Information about a DUT node. Type: dictionary
543 | | ... | - ip_address - IP address for PETR config. Type: string
544 | | ...
545 | | ... | *Example:*
546 | | ...
547 | | ... | \| PETR config from Honeycomb should be \| ${nodes['DUT1']} \
548 | | ... | \| 192.168.0.1 \|
549 | | ...
550 | | [Arguments] | ${node} | ${ip_address}
551 | | ...
552 | | ${data}= | Get Lisp operational data | ${node}
553 | | ${data}= | Set Variable | ${data['lisp-state']['lisp-feature-data']}
554 | | ${data}= | Set Variable | ${data['petr-cfg']['petr-address']}
555 | | Should be equal | ${data} | ${ip_address}
556
557 | Map Request Mode from Honeycomb should be
558 | | [Documentation] | Retrieves List Map Request Mode from Honeycomb\
559 | | ... | operational data, and compares with expected data.
560 | | ...
561 | | ... | *Arguments:*
562 | | ... | - node - Information about a DUT node. Type: dictionary
563 | | ... | - destination - source-destination. Type: string
564 | | ...
565 | | ... | *Example:*
566 | | ...
567 | | ... | \| List Map Request Mode from Honeycomb should be \| ${nodes['DUT1']}\
568 | | ... | \| 192.168.0.1 \|
569 | | ...
570 | | [Arguments] | ${node} | ${destination}
571 | | ...
572 | | ${data}= | Get Lisp operational data | ${node}
573 | | ${data}= | Set Variable | ${data['lisp-state']['lisp-feature-data']}
574 | | ${data}= | Set Variable | ${data['map-request-mode']['mode']}
575 | | Should be equal | ${data} | ${destination}
576
577 | RLOC probing from Honeycomb should be
578 | | [Documentation] | Retrieves RLOC config from Honeycomb operational\
579 | | ... | data, and compares with expected data.
580 | | ...
581 | | ... | *Arguments:*
582 | | ... | - node - Information about a DUT node. Type: dictionary
583 | | ... | - state - desired state -True/False. Type: bool
584 | | ...
585 | | ... | *Example:*
586 | | ...
587 | | ... | \| RLOC probing from Honeycomb should be \| ${nodes['DUT1']} \
588 | | ... | \| ${True} \|
589 | | ...
590 | | [Arguments] | ${node} | ${state}
591 | | ...
592 | | ${data}= | Get Lisp operational data | ${node}
593 | | ${data}= | Set Variable | ${data['lisp-state']['lisp-feature-data']}
594 | | ${data}= | Set Variable | ${data['rloc-probe']['enabled']}
595 | | Should be equal | ${data} | ${state}
596
597 | PETR configuration from VAT should be
598 | | [Documentation] | Retrieves Lisp mapping from VAT,\
599 | | ... | and compares with expected data.
600 | | ...
601 | | ... | *Arguments:*
602 | | ... | - node - Information about a DUT node. Type: dictionary
603 | | ... | - state - state of PETR config - enabled/disabled.\
604 | | ... | Type: string
605 | | ...
606 | | ... | *Example:*
607 | | ...
608 | | ... | \| PETR configuration From VAT Should Be \| ${nodes['DUT1']} \
609 | | ... | \| enabled \|
610 | | ...
611 | | [Arguments] | ${node} | ${state}
612 | | ...
613 | | ${data}= | Vpp show Lisp PETR config | ${node}
614 | | Should be equal | ${data['status']} | ${state}
615
616 | RLOC probing from VAT should be
617 | | [Documentation] | Retrieves Lisp mapping from VAT,\
618 | | ... | and compares with expected data.
619 | | ...
620 | | ... | *Arguments:*
621 | | ... | - node - Information about a DUT node. Type: dictionary
622 | | ... | - state - state of RLOC config - enabled/disabled.\
623 | | ... | Type: string
624 | | ...
625 | | ... | *Example:*
626 | | ...
627 | | ... | \| RLOC configuration From VAT Should Be \| ${nodes['DUT1']} \
628 | | ... | \| enabled \|
629 | | ...
630 | | [Arguments] | ${node} | ${state}
631 | | ...
632 | | ${data}= | Vpp show Lisp RLOC config | ${node}
633 | | Should be equal | ${data['state']} | ${state}
634
635 | PITR config from VAT should be
636 | | [Documentation] | Retrieves PITR config from VAT,\
637 | | ... | and compares with expected data.
638 | | ...
639 | | ... | *Arguments:*
640 | | ... | - node - Information about a DUT node. Type: dictionary
641 | | ... | - locator_set - Name of locator set that should be referenced\
642 | | ... | in PITR config. Type: string
643 | | ...
644 | | ... | *Example:*
645 | | ...
646 | | ... | \| PITR config from VAT should be \| ${nodes['DUT1']} \
647 | | ... | \| loc01 \|
648 | | ...
649 | | [Arguments] | ${node} | ${locator_set}
650 | | ...
651 | | ${data}= | VPP show Lisp PITR | ${node}
652 | | Should be equal | ${data['status']} | enabled
653 | | Should be equal | ${data['locator_set']} | ${locator_set}
654
655 | Honeycomb disables all Lisp features
656 | | [Documentation] | Uses Honeycomb API to remove all Lisp configuration.
657 | | ...
658 | | ... | *Arguments:*
659 | | ... | - node - Information about a DUT node. Type: dictionary
660 | | ...
661 | | ... | *Example:*
662 | | ...
663 | | ... | \| Honeycomb disables all Lisp features \| ${nodes['DUT1']} \|
664 | | ...
665 | | [Arguments] | ${node}
666 | | ...
667 | | Disable Lisp | ${node}