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.
17 Resource ${CURDIR}/../../../libraries/CarPeople.robot
18 Resource ${CURDIR}/../../../libraries/ClusterManagement.robot
19 Resource ${CURDIR}/../../../libraries/SetupUtils.robot
20 Resource ${CURDIR}/../../../libraries/TemplatedRequests.robot
21 Variables ${CURDIR}/../../../variables/Variables.py
24 Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
26 Default Tags clustering carpeople critical
31 ${MEMBER_START_TIMEOUT} 300s
32 ${VAR_DIR} ${CURDIR}/../../../variables/carpeople/crud
36 Add_Cars_On_Leader_And_Verify
37 [Documentation] Single big PUT to datastore to add cars to car Leader.
38 TemplatedRequests.Put_As_Json_Templated
39 ... folder=${VAR_DIR}/cars
40 ... session=${car_leader_session}
41 ... iterations=${CAR_ITEMS}
42 FOR ${session} IN @{ClusterManagement__session_list}
43 BuiltIn.Wait_Until_Keyword_Succeeds
46 ... TemplatedRequests.Get_As_Json_Templated
47 ... folder=${VAR_DIR}/cars
48 ... session=${session}
50 ... iterations=${CAR_ITEMS}
54 [Documentation] Stop all controllers.
55 ClusterManagement.Stop_Members_From_List_Or_All confirm=True
58 [Documentation] Start all controllers (should restore the persisted data).
59 ClusterManagement.Start_Members_From_List_Or_All wait_for_sync=True timeout=${MEMBER_START_TIMEOUT}
61 Memorize_Leader_And_Followers
62 [Documentation] Locate current Leader of car Shard.
63 BuiltIn.Wait_Until_Keyword_Succeeds 30s 2s CarPeople.Set_Variables_For_Shard shard_name=car
66 [Documentation] GET cars from Leader, should match the PUT data.
67 TemplatedRequests.Get_As_Json_Templated
68 ... folder=${VAR_DIR}/cars
69 ... session=${car_leader_session}
71 ... iterations=${CAR_ITEMS}
74 [Documentation] The same check on other members.
75 FOR ${session} IN @{car_follower_sessions}
76 TemplatedRequests.Get_As_Json_Templated
77 ... folder=${VAR_DIR}/cars
78 ... session=${session}
80 ... iterations=${CAR_ITEMS}
84 [Documentation] Delete cars on the new Leader.
85 TemplatedRequests.Delete_Templated folder=${VAR_DIR}/cars session=${car_leader_session}
90 [Documentation] Initialize resources, memorize car shard leader and followers.
91 SetupUtils.Setup_Utils_For_Setup_And_Teardown
92 CarPeople.Set_Variables_For_Shard shard_name=car