Replace deprecated variables in suites/l2switch (2).
[integration/test.git] / csit / suites / ovsdb / Southbound_Cluster / 010__Ovsdb_Southbound_Cluster.robot
1 *** Settings ***
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
10
11 *** Variables ***
12 ${OVSDB_CONFIG_DIR}    ${CURDIR}/../../../variables/ovsdb
13 ${BRIDGE}         br01
14
15 *** Test Cases ***
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}
21
22 Check Shards Status Before Fail
23     [Documentation]    Check Status for all shards in Ovsdb application.
24     Check Ovsdb Shards Status    ${original_cluster_list}
25
26 Start Mininet 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}
30
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}
37
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}
41
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}
45
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}
49
50 Delete the Bridge In Owner and Verify Before Fail
51     [Documentation]    This request will delete the bridge node from the operational data store.
52     Delete Bridge Manually And Verify    ${original_cluster_list}    ${original_owner}
53
54 Delete Bridge Via Rest Call And Verify In Owner Before Fail
55     [Documentation]    This request will delete the bridge node from the config data store and operational data store.
56     Delete Bridge Via Rest Call And Verify    ${original_cluster_list}    ${original_owner}
57
58 Kill Owner Instance
59     [Documentation]    Kill Owner Instance and verify it is dead
60     Kill Multiple Controllers    ${original_owner}
61     ${new_cluster_list}    Create Controller Index List
62     Remove Values From List    ${new_cluster_list}    ${original_owner}
63     Set Suite Variable    ${new_cluster_list}
64
65 Check Shards Status After Fail
66     [Documentation]    Create original cluster list and check Status for all shards in Ovsdb application.
67     Check Ovsdb Shards Status After Cluster Event    ${new_cluster_list}
68
69 Check Entity Owner Status And Find Owner and Candidate After Fail
70     [Documentation]    Check Entity Owner Status and identify owner and candidate.
71     ${new_owner}    ${new_candidates_list}    Get Ovsdb Entity Owner Status For One Device    ${new_cluster_list}
72     Run Keyword And Continue On Failure    List Should Not Contain Value    ${new_candidates_list}    ${original_owner}    Original owner ${original_owner} still in candidate list.
73     Remove Values From List    ${new_candidates_list}    ${original_owner}
74     ${new_candidate}=    Get From List    ${new_candidates_list}    0
75     Set Suite Variable    ${new_owner}
76     Set Suite Variable    ${new_candidate}
77
78 Create Bridge Manually In Owner and Verify After Fail
79     [Documentation]    Create Bridge in Owner and verify it gets applied from all instances.
80     Create Bridge Manually And Verify    ${new_cluster_list}    ${new_owner}
81
82 Add Port Manually In Owner and Verify After Fail
83     [Documentation]    Add Port in Owner and verify it gets applied from all instances.
84     Add Port To The Manual Bridge And Verify    ${new_cluster_list}    ${new_owner}
85
86 Create Bridge Via Controller In Owner and Verify After Fail
87     [Documentation]    Create Bridge in Owner and verify it gets applied from all instances.
88     Create Bridge And Verify    ${new_cluster_list}    ${new_owner}
89
90 Delete the Bridge In Owner and Verify After Fail
91     [Documentation]    This request will delete the bridge node from the config data store and operational data store.
92     Delete Bridge Manually And Verify    ${new_cluster_list}    ${new_owner}
93
94 Delete Bridge Via Rest Call And Verify In Owner After Fail
95     [Documentation]    This request will delete the bridge node from the config data store and operational data store.
96     Delete Bridge Via Rest Call And Verify    ${new_cluster_list}    ${new_owner}
97
98 Start Old Owner Instance
99     [Documentation]    Start Owner Instance and verify it is active
100     Start Multiple Controllers    300s    ${original_owner}
101
102 Check Shards Status After Recover
103     [Documentation]    Create original cluster list and check Status for all shards in Ovsdb application.
104     Check Ovsdb Shards Status After Cluster Event    ${original_cluster_list}
105
106 Check Entity Owner Status After Recover
107     [Documentation]    Check Entity Owner Status and identify owner and candidate.
108     ${new_owner}    ${new_candidates_list}    Get Ovsdb Entity Owner Status For One Device    ${original_cluster_list}
109     Set Suite Variable    ${new_owner}
110
111 Create Bridge Manually In Owner and Verify After Recover
112     [Documentation]    Create Bridge in Owner and verify it gets applied from all instances.
113     Create Bridge Manually And Verify    ${original_cluster_list}    ${new_owner}
114
115 Add Port Manually In Owner and Verify After Recover
116     [Documentation]    Add Port in Owner and verify it gets applied from all instances.
117     Add Port To The Manual Bridge And Verify    ${original_cluster_list}    ${new_owner}
118
119 Create Bridge Via Controller In Owner and Verify After Recover
120     [Documentation]    Create Bridge in Owner and verify it gets applied from all instances.
121     Create Bridge And Verify    ${original_cluster_list}    ${new_owner}
122
123 Delete the Bridge In Owner and Verify After Recover
124     [Documentation]    This request will delete the bridge node from the operational data store.
125     Delete Bridge Manually And Verify    ${original_cluster_list}    ${new_owner}
126
127 Delete Bridge Via Rest Call And Verify In Owner After Recover
128     [Documentation]    This request will delete the bridge node from the config data store and operational data store.
129     Delete Bridge Via Rest Call And Verify    ${original_cluster_list}    ${new_owner}
130
131 Create Bridge Via Controller In Old Owner and Verify After Recover
132     [Documentation]    Create Bridge in Owner and verify it gets applied from all instances.
133     Create Bridge And Verify    ${original_cluster_list}    ${original_owner}
134     [Teardown]    Report_Failure_Due_To_Bug    4908