2 Documentation Test suite for Ovsdb Southbound Cluster
3 Suite Setup Create Controller Sessions
4 Suite Teardown Delete All Sessions
5 Library RequestsLibrary
6 Resource ../../../libraries/ClusterOvsdb.robot
7 Resource ../../../libraries/ClusterKeywords.robot
8 Resource ../../../libraries/MininetKeywords.robot
9 Variables ../../../variables/Variables.py
12 ${OVSDB_CONFIG_DIR} ${CURDIR}/../../../variables/ovsdb
16 Create Original Cluster List
17 [Documentation] Create original cluster list.
18 ${original_cluster_list} Create Controller Index List
19 Set Suite Variable ${original_cluster_list}
20 Log ${original_cluster_list}
22 Check Shards Status Before Fail
23 [Documentation] Check Status for all shards in Ovsdb application.
24 Check Ovsdb Shards Status ${original_cluster_list}
26 Start OVS Multiple Connections
27 [Documentation] Start mininet with connection to all cluster instances.
28 ${mininet_conn_id} Add Multiple Managers to OVS ${TOOLS_SYSTEM_IP} ${original_cluster_list}
29 Set Suite Variable ${mininet_conn_id}
31 Check Entity Owner Status And Find Owner and Candidate Before Fail
32 [Documentation] Check Entity Owner Status and identify owner and candidate.
33 ${original_owner} ${original_candidates_list} Get Ovsdb Entity Owner Status For One Device ${original_cluster_list}
34 ${original_candidate}= Get From List ${original_candidates_list} 0
35 Set Suite Variable ${original_owner}
36 Set Suite Variable ${original_candidate}
38 Create Bridge Manually In Owner and Verify Before Fail
39 [Documentation] Create Bridge in Owner and verify it gets applied from all instances.
40 Create Bridge Manually And Verify ${original_cluster_list} ${original_owner}
42 Add Port Manually In Owner and Verify Before Fail
43 [Documentation] Add Port in Owner and verify it gets applied from all instances.
44 Add Port To The Manual Bridge And Verify ${original_cluster_list} ${original_owner}
46 Create Bridge Via Controller In Owner and Verify Before Fail
47 [Documentation] Create Bridge in Owner and verify it gets applied from all instances.
48 Create Bridge And Verify ${original_cluster_list} ${original_owner}
50 Create Port Via Controller In Owner and Verify Before Fail
51 [Documentation] Create Port in Owner and verify it gets applied from all instances.
52 Create Port Via Controller ${original_cluster_list} ${original_owner}
54 Modify the destination IP of Port Before Fail
55 [Documentation] This will modify the dst ip of existing port
56 Modify the destination IP of Port ${original_cluster_list} ${original_owner}
58 Get Operational Topology with modified Port Before Fail
59 [Documentation] This request will fetch the operational topology after the modified port is added to the bridge
60 Get Operational Topology with modified Port ${original_cluster_list} ${original_owner}
62 Delete the Port Before Fail
63 [Documentation] This request will delete the port node from the bridge node and data store.
64 Delete Port And Verify ${original_cluster_list} ${original_owner}
66 Delete the Bridge In Owner and Verify Before Fail
67 [Documentation] This request will delete the bridge node from the operational data store.
68 Delete Bridge Manually And Verify ${original_cluster_list} ${original_owner}
70 Delete Bridge Via Rest Call And Verify In Owner Before Fail
71 [Documentation] This request will delete the bridge node from the config data store and operational data store.
72 Delete Bridge Via Rest Call And Verify ${original_cluster_list} ${original_owner}
75 [Documentation] Kill Owner Instance and verify it is dead
76 Kill Multiple Controllers ${original_owner}
77 ${new_cluster_list} Create Controller Index List
78 Remove Values From List ${new_cluster_list} ${original_owner}
79 Set Suite Variable ${new_cluster_list}
81 Check Shards Status After Fail
82 [Documentation] Create original cluster list and check Status for all shards in Ovsdb application.
83 Check Ovsdb Shards Status After Cluster Event ${new_cluster_list}
85 Check Entity Owner Status And Find Owner and Candidate After Fail
86 [Documentation] Check Entity Owner Status and identify owner and candidate.
87 ${new_owner} ${new_candidates_list} Get Ovsdb Entity Owner Status For One Device ${new_cluster_list}
88 Run Keyword And Continue On Failure List Should Not Contain Value ${new_candidates_list} ${original_owner} Original owner ${original_owner} still in candidate list.
89 Remove Values From List ${new_candidates_list} ${original_owner}
90 ${new_candidate}= Get From List ${new_candidates_list} 0
91 Set Suite Variable ${new_owner}
92 Set Suite Variable ${new_candidate}
94 Create Bridge Manually In Owner and Verify After Fail
95 [Documentation] Create Bridge in Owner and verify it gets applied from all instances.
96 Create Bridge Manually And Verify ${new_cluster_list} ${new_owner}
98 Add Port Manually In Owner and Verify After Fail
99 [Documentation] Add Port in Owner and verify it gets applied from all instances.
100 Add Port To The Manual Bridge And Verify ${new_cluster_list} ${new_owner}
102 Create Bridge Via Controller In Owner and Verify After Fail
103 [Documentation] Create Bridge in Owner and verify it gets applied from all instances.
104 Create Bridge And Verify ${new_cluster_list} ${new_owner} AfterFail
106 Create Port Via Controller In Owner and Verify After Fail
107 [Documentation] Create Port in Owner and verify it gets applied from all instances.
108 Create Port Via Controller ${new_cluster_list} ${new_owner} AfterFail
110 Modify the destination IP of Port After Fail
111 [Documentation] This will modify the dst ip of existing port
112 Modify the destination IP of Port ${new_cluster_list} ${new_owner} AfterFail
114 Get Operational Topology with modified Port After Fail
115 [Documentation] This request will fetch the operational topology after the modified port is added to the bridge
116 Get Operational Topology with modified Port ${new_cluster_list} ${new_owner} AfterFail
118 Delete the Port After Fail
119 [Documentation] This request will delete the port node from the bridge node and data store.
120 Delete Port And Verify ${new_cluster_list} ${new_owner} AfterFail
122 Delete the Bridge In Owner and Verify After Fail
123 [Documentation] This request will delete the bridge node from the config data store and operational data store.
124 Delete Bridge Manually And Verify ${new_cluster_list} ${new_owner}
126 Delete Bridge Via Rest Call And Verify In Owner After Fail
127 [Documentation] This request will delete the bridge node from the config data store and operational data store.
128 Delete Bridge Via Rest Call And Verify ${new_cluster_list} ${new_owner}
130 Start Old Owner Instance
131 [Documentation] Start Owner Instance and verify it is active
132 Start Multiple Controllers 300s ${original_owner}
134 Check Shards Status After Recover
135 [Documentation] Create original cluster list and check Status for all shards in Ovsdb application.
136 Check Ovsdb Shards Status After Cluster Event ${original_cluster_list}
138 Check Entity Owner Status After Recover
139 [Documentation] Check Entity Owner Status and identify owner and candidate.
140 ${new_owner} ${new_candidates_list} Get Ovsdb Entity Owner Status For One Device ${original_cluster_list}
141 Set Suite Variable ${new_owner}
143 Create Bridge Manually In Owner and Verify After Recover
144 [Documentation] Create Bridge in Owner and verify it gets applied from all instances.
145 Create Bridge Manually And Verify ${original_cluster_list} ${new_owner}
147 Add Port Manually In Owner and Verify After Recover
148 [Documentation] Add Port in Owner and verify it gets applied from all instances.
149 Add Port To The Manual Bridge And Verify ${original_cluster_list} ${new_owner}
151 Create Bridge Via Controller In Owner and Verify After Recover
152 [Documentation] Create Bridge in Owner and verify it gets applied from all instances.
153 Create Bridge And Verify ${original_cluster_list} ${new_owner}
155 Verify Bridge in Restarted Node Which Is Killed Earlier
156 [Documentation] Verify Bridge in Restarted node, which is created when the node is down.
157 Verify Bridge in Restarted Node ${original_cluster_list}
159 Create Port Via Controller In Owner and Verify After Recover
160 [Documentation] Create Port in Owner and verify it gets applied from all instances.
161 Create Port Via Controller ${original_cluster_list} ${new_owner}
163 Verify Port in Restarted Node Which Is Killed Earlier
164 [Documentation] Verify Port in Restarted node, which is created when the node is down.
165 Verify Port in Restarted Node ${original_cluster_list}
167 Modify the destination IP of Port After Recover
168 [Documentation] This will modify the dst ip of existing port
169 Modify the destination IP of Port ${original_cluster_list} ${new_owner}
171 Get Operational Topology with modified Port After Recover
172 [Documentation] This request will fetch the operational topology after the modified port is added to the bridge
173 Get Operational Topology with modified Port ${original_cluster_list} ${new_owner}
175 Delete the Port After Recover
176 [Documentation] This request will delete the port node from the bridge node and data store.
177 Delete Port And Verify ${original_cluster_list} ${new_owner}
179 Delete the Bridge In Owner and Verify After Recover
180 [Documentation] This request will delete the bridge node from the operational data store.
181 Delete Bridge Manually And Verify ${original_cluster_list} ${new_owner}
183 Delete Bridge Via Rest Call And Verify In Owner After Recover
184 [Documentation] This request will delete the bridge node from the config data store and operational data store.
185 Delete Bridge Via Rest Call And Verify ${original_cluster_list} ${new_owner}
187 Create Bridge Manually In Old Owner and Verify After Recover
188 [Documentation] Create Bridge in Owner and verify it gets applied from all instances.
189 Create Bridge Manually And Verify ${original_cluster_list} ${original_owner}
191 Add Port Manually In Old Owner and Verify After Recover
192 [Documentation] Add Port in Owner and verify it gets applied from all instances.
193 Add Port To The Manual Bridge And Verify ${original_cluster_list} ${original_owner}
195 Create Bridge Via Controller In Old Owner and Verify After Recover
196 [Documentation] Create Bridge in Owner and verify it gets applied from all instances.
197 Create Bridge And Verify ${original_cluster_list} ${original_owner}
199 Create Port Via Controller In Old Owner and Verify After Recover
200 [Documentation] Create Port in Owner and verify it gets applied from all instances.
201 Create Port Via Controller ${original_cluster_list} ${original_owner}
203 Modify the destination IP of Port After Recover
204 [Documentation] This will modify the dst ip of existing port
205 Modify the destination IP of Port ${original_cluster_list} ${original_owner}
207 Get Operational Topology with modified Port After Recover
208 [Documentation] This request will fetch the operational topology after the modified port is added to the bridge
209 Get Operational Topology with modified Port ${original_cluster_list} ${original_owner}
211 Delete the Port After Recover
212 [Documentation] This request will delete the port node from the bridge node and data store.
213 Delete Port And Verify ${original_cluster_list} ${original_owner}
215 Delete the Bridge In Old Owner and Verify After Recover
216 [Documentation] This request will delete the bridge node from the config data store and operational data store.
217 Delete Bridge Manually And Verify ${original_cluster_list} ${original_owner}
219 Delete Bridge Via Rest Call And Verify In Old Owner After Recover
220 [Documentation] This request will delete the bridge node from the config data store and operational data store.
221 Delete Bridge Via Rest Call And Verify ${original_cluster_list} ${original_owner}