1 # Copyright (c) 2018 Bell Canada, Pantheon Technologies 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:
6 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 | Library | resources.libraries.python.honeycomb.FIB.FibKeywords
16 | Documentation | Keywords used to test Honeycomb FIB tables.
19 | Honeycomb configures FIB table
20 | | [Documentation] | Uses Honeycomb API to configure a FIB table.
22 | | ... | *Arguments:*
23 | | ... | - node - information about a DUT node. Type: dictionary
24 | | ... | - ip_version - IP protocol version, ipv4 or ipv6. Type:string
25 | | ... | - vrf - vrf-id the new table will belong to. Type: integer
29 | | ... | \| Honeycomb configures FIB table \| ${nodes['DUT1']} \
30 | | ... | \| ipv4 \| ${vrf} \|
31 | | [Arguments] | ${node} | ${ip_version} | ${vrf}
32 | | Configure FIB table | ${node} | ${ip_version} | ${vrf}
34 | FIB table data from Honeycomb should contain
35 | | [Documentation] | Uses Honeycomb API to retrieve operational data about\
36 | | ... | a FIB table, and compares with the data provided.
38 | | ... | *Arguments:*
39 | | ... | - node - information about a DUT node. Type: dictionary
40 | | ... | - ip_version - IP protocol version, ipv4 or ipv6. Type:string
41 | | ... | - vrf - vrf-id the new table will belong to. Type: integer
42 | | ... | - expected_data - Data to compare against. Type: dictionary
46 | | ... | \| FIB table data from Honeycomb should contain \| ${nodes['DUT1']} \
47 | | ... | \| ipv4 \| ${data} \|
48 | | [Arguments] | ${node} | ${ip_version} | ${vrf} | ${expected_data}
49 | | ${data}= | Get FIB Table Oper | ${node} | ${ip_version} | ${vrf}
50 | | Should Contain | ${data} | ${expected_data}
52 | Honeycomb removes FIB configuration
53 | | [Documentation] | Uses Honeycomb API to remove Honeycomb-created\
54 | | ... | FIB configuration from the node. Entries configured automatically\
55 | | ... | by VPP will not be removed.
57 | | ... | *Arguments:*
58 | | ... | - node - information about a DUT node. Type: dictionary
59 | | ... | - ip_version - IP protocol version, ipv4 or ipv6. Type:string
60 | | ... | - vrf - vrf-id the new table will belong to. Type: integer
64 | | ... | \| Honeycomb removes FIB configuration \| ${nodes['DUT1']} \
65 | | ... | \| ${ip_version} \| ${vrf} \|
66 | | [Arguments] | ${node} | ${ip_version} | ${vrf}
67 | | Delete FIB table | ${node} | ${ip_version} | ${vrf}