2 Documentation Test suite for Ovsdb Southbound Cluster Extension
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 Check Entity Owner Status And Find Owner and Candidate Before Fail
27 [Documentation] Check Entity Owner Status and identify owner and candidate.
28 ${original_owner} ${original_candidates_list} Get Ovsdb Entity Owner Status For One Device ${original_cluster_list}
29 ${original_candidate}= Get From List ${original_candidates_list} 0
30 Set Suite Variable ${original_owner}
31 Set Suite Variable ${original_candidate}
33 Create Bridge Via Controller In Owner and Verify Before Fail
34 [Documentation] Create Bridge in Owner and verify it gets applied from all instances.
35 Create Bridge In Candidate ${original_cluster_list} ${original_owner} BeforeCandidateFail
37 Create Port Via Controller In Owner and Verify Before Fail
38 [Documentation] Create Port in Owner and verify it gets applied from all instances.
39 Create Port Vxlan in Candidate ${original_cluster_list} ${original_owner} BeforeCandidateFail
41 Kill Non Owner Instance
42 [Documentation] Kill Non Owner Instance and verify it is dead
43 Kill Multiple Controllers ${original_candidate}
44 ${new_cluster_list} Create Controller Index List
45 Remove Values From List ${new_cluster_list} ${original_candidate}
46 Set Suite Variable ${new_cluster_list}
48 Check Shards Status After Fail
49 [Documentation] Create original cluster list and check Status for all shards in Ovsdb application.
50 Check Ovsdb Shards Status After Cluster Event ${new_cluster_list}
52 Check Entity Owner Status And Find Owner and Candidate After Fail
53 [Documentation] Check Entity Owner Status and identify owner and candidate.
54 ${new_owner} ${new_candidates_list} Get Ovsdb Entity Owner Status For One Device ${new_cluster_list}
55 Run Keyword And Continue On Failure List Should Not Contain Value ${new_candidates_list} ${original_candidate} Original candidate ${original_candidate} still in candidate list.
56 Remove Values From List ${new_candidates_list} ${original_candidate}
57 ${new_candidate}= Get From List ${new_candidates_list} 0
58 Set Suite Variable ${new_owner}
59 Set Suite Variable ${new_candidate}
61 Create Bridge Via Controller In Owner and Verify After Fail
62 [Documentation] Create Bridge in Owner and verify it gets applied from all instances.
63 Create Bridge In Candidate ${new_cluster_list} ${new_owner} AfterCandidateFail
65 Start Non Old Owner Instance
66 [Documentation] Start Non Owner Instance and verify it is active
67 Start Multiple Controllers 300s ${original_candidate}
69 Check Shards Status After Recover
70 [Documentation] Create original cluster list and check Status for all shards in Ovsdb application.
71 Check Ovsdb Shards Status After Cluster Event ${original_cluster_list}
73 Check Entity Owner Status After Recover
74 [Documentation] Check Entity Owner Status and verify owner is not changed.
75 ${new_owner} ${new_candidates_list} Get Ovsdb Entity Owner Status For One Device ${original_cluster_list}
76 Set Suite Variable ${new_owner}
78 Create Bridge Via Controller In Owner and Verify After Recover
79 [Documentation] Create Bridge in Owner and verify it gets applied from all instances.
80 Create Bridge In Candidate ${original_cluster_list} ${new_owner}
82 Verify Bridge in Restarted Node Which Is Killed Earlier
83 [Documentation] Verify Bridge in Restarted node, which is created when the node is down.
84 Verify Bridge in Restarted Node ${original_cluster_list} AfterCandidateRecover
86 Create Port Via Controller In Owner and Verify After Recover
87 [Documentation] Create Port in Owner and verify it gets applied from all instances.
88 Create Port Vxlan in Candidate ${original_cluster_list} ${new_owner}
90 Verify Port in Restarted Node Which Is Killed Earlier
91 [Documentation] Verify Port in Restarted node, which is created when the node is down.
92 Verify Port in Restarted Node ${original_cluster_list} AfterCandidateRecover
94 Delete the Port After Recover
95 [Documentation] This request will delete the port node from the bridge node and data store.
96 Delete Port In Candidate ${original_cluster_list} ${new_owner}
98 Delete Bridge Via Rest Call And Verify In Owner After Recover
99 [Documentation] This request will delete the bridge node from the config data store and operational data store.
100 Delete Bridge In Candidate ${original_cluster_list} ${new_owner}
102 Cleans Up Test Environment For Next Suite
103 [Documentation] Cleans up test environment, close existing sessions in teardown.
104 Configure Exit OVSDB Connection ${original_cluster_list} ${new_owner}