Tidied new and updated suites
[integration/test.git] / csit / libraries / ClusterManagement.robot
index f2759e1f29e14b054a48f759e6b89641c823c269..16713a3b3ef9f09ded73aef9b6e3ca9af070e74b 100644 (file)
@@ -10,8 +10,7 @@ Documentation     Resource housing Keywords common to several suites for cluster
 ...
 ...               This resource holds private state (in suite variables),
 ...               which is generated once at Setup.
-...               The state includes list with indexes (numbers enumerating cluster members),
-...               IP addresses and Http (RequestsLibrary) sessions.
+...               The state includes IP addresses and Http (RequestsLibrary) sessions.
 ...               Most functionality deals with stopping/starting controllers
 ...               and finding leaders/followers for a Shard.
 ...
@@ -63,6 +62,18 @@ Kill_Members_From_List_Or_All
     : FOR    ${index}    IN    @{index_list}
     \    Verify_Karaf_Is_Not_Running_On_Member    member_index=${index}
 
+ClusterManagement__Build_List
+    [Arguments]    ${member}
+    ${member_int}=    BuiltIn.Convert_To_Integer    ${member}
+    ${index_list}=    BuiltIn.Create_List    ${member_int}
+    [Return]    ${index_list}
+
+Kill_Single_Member
+    [Arguments]    ${member}    ${confirm}=True
+    [Documentation]    Convenience keyword that kills the specified member of the cluster.
+    ${index_list}=    ClusterManagement__Build_List    ${member}
+    Kill_Members_From_List_Or_All    ${index_list}    ${confirm}
+
 Clean_Journals_And_Snapshots_On_List_Or_All
     [Arguments]    ${member_index_list}=${EMPTY}
     [Documentation]    Delete journal and snapshots directories on every node listed (or all).
@@ -81,6 +92,12 @@ Start_Members_From_List_Or_All
     BuiltIn.Wait_Until_Keyword_Succeeds    ${timeout}    1s    Check_Cluster_Is_In_Sync    member_index_list=${member_index_list}
     # TODO: Do we also want to check Shard Leaders here?
 
+Start_Single_Member
+    [Arguments]    ${member}    ${wait_for_sync}=True    ${timeout}=300s
+    [Documentation]    Convenience keyword that starts the specified member of the cluster.
+    ${index_list}=    ClusterManagement__Build_List    ${member}
+    Start_Members_From_List_Or_All    ${index_list}    ${wait_for_sync}    ${timeout}
+
 Verify_Leader_Exists_For_Each_Shard
     [Arguments]    ${shard_name_list}    ${shard_type}=operational    ${member_index_list}=${EMPTY}    ${verify_restconf}=True
     [Documentation]    For each shard name, call Get_Leader_And_Followers_For_Shard.