2 Documentation This test restarts all controllers to verify recovery of car data from persistence.
4 ... Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
6 ... This program and the accompanying materials are made available under the
7 ... terms of the Eclipse Public License v1.0 which accompanies this distribution,
8 ... and is available at http://www.eclipse.org/legal/epl-v10.html
11 ... Other models and shards (people, car-people) are not accessed by this suite.
13 ... All data is deleted at the end of the suite.
14 ... This suite expects car module to have a separate Shard.
16 Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
17 Default Tags clustering carpeople critical
19 Resource ${CURDIR}/../../../libraries/CarPeople.robot
20 Resource ${CURDIR}/../../../libraries/ClusterManagement.robot
21 Resource ${CURDIR}/../../../libraries/SetupUtils.robot
22 Resource ${CURDIR}/../../../libraries/TemplatedRequests.robot
23 Variables ${CURDIR}/../../../variables/Variables.py
27 ${MEMBER_START_TIMEOUT} 300s
28 ${VAR_DIR} ${CURDIR}/../../../variables/carpeople/crud
31 Add_Cars_On_Leader_And_Verify
32 [Documentation] Single big PUT to datastore to add cars to car Leader.
33 TemplatedRequests.Put_As_Json_Templated folder=${VAR_DIR}/cars session=${car_leader_session} iterations=${CAR_ITEMS}
34 : FOR ${session} IN @{ClusterManagement__session_list}
35 \ TemplatedRequests.Get_As_Json_Templated folder=${VAR_DIR}/cars session=${session} verify=True iterations=${CAR_ITEMS}
38 [Documentation] Kill all controllers.
39 ClusterManagement.Kill_Members_From_List_Or_All confirm=True
42 [Documentation] Start all controllers (should restore the persisted data).
43 ClusterManagement.Start_Members_From_List_Or_All wait_for_sync=True timeout=${MEMBER_START_TIMEOUT}
45 Memorize_Leader_And_Followers
46 [Documentation] Locate current Leader of car Shard.
47 BuiltIn.Wait_Until_Keyword_Succeeds 30s 2s CarPeople.Set_Variables_For_Shard shard_name=car
50 [Documentation] GET cars from Leader, should match the PUT data.
51 TemplatedRequests.Get_As_Json_Templated folder=${VAR_DIR}/cars session=${car_leader_session} verify=True iterations=${CAR_ITEMS}
54 [Documentation] The same check on other members.
55 : FOR ${session} IN @{car_follower_sessions}
56 \ TemplatedRequests.Get_As_Json_Templated folder=${VAR_DIR}/cars session=${session} verify=True iterations=${CAR_ITEMS}
59 [Documentation] Delete cars on the new Leader.
60 TemplatedRequests.Delete_Templated folder=${VAR_DIR}/cars session=${car_leader_session}
64 [Documentation] Initialize resources, memorize car shard leader and followers.
65 SetupUtils.Setup_Utils_For_Setup_And_Teardown
66 CarPeople.Set_Variables_For_Shard shard_name=car