... and is available at http://www.eclipse.org/legal/epl-v10.html
...
...
-... This test kills majority of the followers and verifies car addition is not possible,
+... This test stops majority of the followers and verifies car addition is not possible,
... then resumes single follower (first from original list) and checks that addition works.
... Then remaining members are brought up.
... Leader member is always up and assumed to remain Leading during the whole suite run.
${CLUSTER_DIR} ${CURDIR}/../../../variables/clustering
*** Test Cases ***
-Kill_Majority_Of_The_Followers
- [Documentation] Kill half plus one car Follower members and set reviving followers down (otherwsise tipping followers cannot join cluster).
- ... Mark most of killed members as explicitly down, to allow the surviving leader make progress.
- ClusterManagement.Kill_Members_From_List_Or_All member_index_list=${list_of_killing} confirm=True
- : FOR ${index} IN @{list_of_reviving}
- \ ${data} OperatingSystem.Get File ${CLUSTER_DIR}/member_down.json
- \ ${member_ip} = Collections.Get_From_Dictionary ${ClusterManagement__index_to_ip_mapping} ${index}
- \ ${data} String.Replace String ${data} {member_ip} ${member_ip}
- \ TemplatedRequests.Post_To_Uri uri=jolokia data=${data} content_type=${HEADERS} accept=${ACCEPT_EMPTY} session=${car_leader_session}
+Stop_Majority_Of_The_Followers
+ [Documentation] Stop half plus one car Follower members and set reviving followers down (otherwsise tipping followers cannot join cluster).
+ ... Mark most of stopped members as explicitly down, to allow the surviving leader make progress.
+ ClusterManagement.Stop_Members_From_List_Or_All member_index_list=${list_of_stopping} confirm=True
+ FOR ${index} IN @{list_of_reviving}
+ ${data} OperatingSystem.Get File ${CLUSTER_DIR}/member_down.json
+ ${member_ip} = Collections.Get_From_Dictionary ${ClusterManagement__index_to_ip_mapping} ${index}
+ ${data} String.Replace String ${data} {member_ip} ${member_ip}
+ TemplatedRequests.Post_To_Uri uri=jolokia data=${data} content_type=${HEADERS} accept=${ACCEPT_EMPTY} session=${car_leader_session}
+ END
Attempt_To_Add_Cars_To_Leader
[Documentation] Adding cars should fail, as majority of Followers are down.
${status} ${message} = BuiltIn.Run_Keyword_And_Ignore_Error TemplatedRequests.Put_As_Json_Templated folder=${VAR_DIR}/cars session=${car_leader_session} iterations=${CAR_ITEMS}
... iter_start=${MINORITY_START_I}
# TODO: Is there a specific status and mesage to require in this scenario?
- BuiltIn.Should_Contain ${message} '50
+ # Previously it was 500, now the restconf call simply times out.
+ BuiltIn.Log ${message}
+ BuiltIn.Should_Be_Equal ${status} FAIL
Start_Tipping_Follower
[Documentation] Start one Follower member without persisted data.
See_Cars_On_Existing_Members
[Documentation] On each up member: GET cars, should match the ones added on tipping Follower.
- : FOR ${session} IN @{list_of_majority}
- \ TemplatedRequests.Get_As_Json_Templated folder=${VAR_DIR}/cars session=${session} verify=True iterations=${CAR_ITEMS} iter_start=${MAJORITY_START_I}
+ FOR ${session} IN @{list_of_majority}
+ TemplatedRequests.Get_As_Json_Templated folder=${VAR_DIR}/cars session=${session} verify=True iterations=${CAR_ITEMS} iter_start=${MAJORITY_START_I}
+ END
Start_Other_Followers
[Documentation] Start other followers without persisted data.
BuiltIn.Set_Suite_Variable \${list_of_tipping} ${tipping_list}
${revive_list} = Collections.Get_Slice_From_List ${car_follower_indices} ${half_followers} ${number_followers}
BuiltIn.Set_Suite_Variable \${list_of_reviving} ${revive_list}
- ${kill_list} = Collections.Combine_Lists ${tipping_list} ${revive_list}
- BuiltIn.Set_Suite_Variable \${list_of_killing} ${kill_list}
+ ${stop_list} = Collections.Combine_Lists ${tipping_list} ${revive_list}
+ BuiltIn.Set_Suite_Variable \${list_of_stopping} ${stop_list}