blob: b5048944f56e155259e44f04cffadfb2ccb80fc6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
# Copyright (c) 2016 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
*** Variables***
| ${super_if}= | ${node['interfaces']['port1']['name']}
*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
| Resource | resources/libraries/robot/honeycomb/nsh.robot
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Resource | resources/libraries/robot/honeycomb/vxlan_gpe.robot
| Variables | resources/test_data/honeycomb/nsh.py
| Variables | resources/test_data/honeycomb/vxlan_gpe.py
| ...
| Documentation | *Honeycomb NSH test suite.*
| ...
| Suite Setup | Run Keywords
| ... | Enable Honeycomb Feature | ${node} | NSH | AND
| ... | Set Up Honeycomb Functional Test Suite | ${node}
| ...
| Suite Teardown | Run Keywords
| ... | Tear Down Honeycomb Functional Test Suite | ${node} | AND
| ... | Disable Honeycomb Feature | ${node} | NSH
| ...
| Force Tags | honeycomb_sanity | honeycomb_odl
*** Test Cases ***
| TC01: Honeycomb can configure NSH entry
| | [Documentation] | Check if Honeycomb can configure an NSH entry.
| | ...
| | Given NSH Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb adds NSH entry | ${node} | entry1 | ${nsh_entry1}
| | Then NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
| TC02: Honeycomb can remove NSH entry
| | [Documentation] | Check if Honeycomb can remove an existing NSH entry.
| | ...
| | Given NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
| | When Honeycomb removes NSH entry | ${node} | entry1
| | Then NSH Operational Data From Honeycomb Should Be empty | ${node}
| TC03: Honeycomb can configure new NSH entry
| | [Documentation] | Check if Honeycomb can configure an NSH antry after one\
| | ... | has been deleted.
| | ...
| | [Teardown] | Honeycomb removes NSH entry | ${node} | entry2
| | ...
| | Given NSH Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb adds NSH entry | ${node} | entry2 | ${nsh_entry2}
| | Then NSH entry from Honeycomb should be
| | ... | ${node} | entry2 | ${nsh_entry2_oper}
| TC04: Honeycomb can configure multiple NSH entries at the same time
| | [Documentation] | Check if Honeycomb can configure an NSH entry when one\
| | ... | already exists.
| | ...
| | [Teardown] | Honeycomb clears NSH configuration | ${node}
| | ...
| | Given NSH Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb adds NSH entry | ${node} | entry1 | ${nsh_entry1}
| | And Honeycomb adds NSH entry | ${node} | entry2 | ${nsh_entry2}
| | Then NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
| | And NSH entry from Honeycomb should be
| | ... | ${node} | entry2 | ${nsh_entry2_oper}
| TC05: Honeycomb can configure NSH map
| | [Documentation] | Check if Honeycomb can configure an NSH map.
| | ...
| | Given NSH Operational Data From Honeycomb Should Be empty | ${node}
| | And Honeycomb creates VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if1}
| | ... | ${vxlan_gpe_base_settings1} | ${vxlan_gpe_settings1}
| | When Honeycomb adds NSH entry | ${node} | entry1 | ${nsh_entry1}
| | And Honeycomb adds NSH map | ${node} | map1 | ${nsh_map1}
| | Then NSH map from Honeycomb should be | ${node} | map1 | ${nsh_map1_oper}
| TC06: Honeycomb can remove NSH map
| | [Documentation] | Check if Honeycomb can remove an existing NSH map.
| | ...
| | Given NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
| | And VxLAN GPE Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vxlan_gpe_if1}
| | ... | ${vxlan_gpe_base_settings1} | ${vxlan_gpe_settings1}
| | And NSH map from Honeycomb should be | ${node} | map1 | ${nsh_map1_oper}
| | When Honeycomb removes NSH map | ${node} | map1
| | Then NSH map from Honeycomb should not exist | ${node} | map1
| | And NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
| TC07: Honeycomb can modify existing NSH map
| | [Documentation] | Check if Honeycomb can configure an NSH map after one\
| | ... | has been deleted.
| | ...
| | [Teardown] | Honeycomb removes NSH map | ${node} | map1_edit
| | ...
| | Given NSH map from Honeycomb should not exist | ${node} | map1_edit
| | And NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
| | And VxLAN GPE Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vxlan_gpe_if1}
| | ... | ${vxlan_gpe_base_settings1} | ${vxlan_gpe_settings1}
| | When Honeycomb adds NSH map | ${node} | map1_edit | ${nsh_map1_edit}
| | Then NSH map from Honeycomb should be
| | ... | ${node} | map1_edit | ${nsh_map1_edit_oper}
| | And NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
| TC08: Honeycomb can configure multiple NSH maps at the same time
| | [Documentation] | Check if Honeycomb can configure and NSH map when one\
| | ... | already exists.
| | ...
| | [Teardown] | Run Keywords
| | ... | Honeycomb clears NSH configuration | ${node} | AND
| | ... | Honeycomb removes VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if1} | AND
| | ... | Honeycomb removes VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if2}
| | ...
| | Given NSH map from Honeycomb should not exist | ${node} | map2
| | And NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
| | And VxLAN GPE Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vxlan_gpe_if1}
| | ... | ${vxlan_gpe_base_settings1} | ${vxlan_gpe_settings1}
| | And Honeycomb creates VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if2}
| | ... | ${vxlan_gpe_base_settings2} | ${vxlan_gpe_settings2}
| | When Honeycomb adds NSH map | ${node} | map1 | ${nsh_map1}
| | And Honeycomb adds NSH map | ${node} | map2 | ${nsh_map2}
| | Then NSH map from Honeycomb should be
| | ... | ${node} | map1 | ${nsh_map1_oper}
| | And NSH map from Honeycomb should be
| | ... | ${node} | map2 | ${nsh_map2_oper}
|