3de2c8c603f0b07895d0f43a69373a5f1b4e53df
[integration/test.git] / csit / libraries / ClusterAdmin.robot
1 *** Settings ***
2 Documentation     Keywords wrapping controller's cluster-admin yang model rpcs.
3 ...
4 ...               Copyright (c) 2017 Cisco Systems, Inc. and others. All rights reserved.
5 ...
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
9 Library           XML
10 Resource          ${CURDIR}/ClusterManagement.robot
11 Resource          ${CURDIR}/TemplatedRequests.robot
12
13 *** Variables ***
14 ${CLUSTERADMIN_RPC_DIR}    ${CURDIR}/../variables/mdsal/clusteradmin
15 ${ADD_PREFIX_SHARD_REPLICA_DIR}    ${CLUSTERADMIN_RPC_DIR}/add_prefix_shard_replica
16 ${ADD_SHARD_REPLICA_DIR}    ${CLUSTERADMIN_RPC_DIR}/add_shard_replica
17 ${MAKE_LEADER_LOCAL_DIR}    ${CLUSTERADMIN_RPC_DIR}/make_leader_local
18 ${REMOVE_PREFIX_SHARD_REPLICA_DIR}    ${CLUSTERADMIN_RPC_DIR}/remove_prefix_shard_replica
19 ${REMOVE_SHARD_REPLICA_DIR}    ${CLUSTERADMIN_RPC_DIR}/remove_shard_replica
20
21 *** Keywords ***
22 Make_Leader_Local
23     [Arguments]    ${member_index}    ${shard_name}    ${shard_type}
24     [Documentation]    Makes the node to be a shard leader by invoking make-leader-local rpc.
25     ${session} =    ClusterManagement.Resolve_Http_Session_For_Member    member_index=${member_index}
26     &{mapping}    BuiltIn.Create_Dictionary    SHARD_NAME=${shard_name}    SHARD_TYPE=${shard_type}
27     ${text} =    TemplatedRequests.Post_As_Xml_Templated    ${MAKE_LEADER_LOCAL_DIR}    mapping=${mapping}    session=${session}
28
29 Add_Prefix_Shard_Replica
30     [Arguments]    ${member_index}    ${shard_prefix}    ${ds_type}
31     [Documentation]    Add prefix shard replica to given member by invoking add-prefix-shard-replica rpc.
32     ${session} =    ClusterManagement.Resolve_Http_Session_For_Member    member_index=${member_index}
33     &{mapping}    BuiltIn.Create_Dictionary    SHARD_PREFIX=${shard_prefix}    DATA_STORE_TYPE=${ds_type}
34     ${text} =    TemplatedRequests.Post_As_Xml_Templated    ${ADD_PREFIX_SHARD_REPLICA_DIR}    mapping=${mapping}    session=${session}
35
36 Remove_Prefix_Shard_Replica
37     [Arguments]    ${member_index}    ${shard_prefix}    ${member_name}    ${ds_type}
38     [Documentation]    Remove prefix shard replica from the given member by invoking remove-prefix-shard-replica rpc.
39     ${session} =    ClusterManagement.Resolve_Http_Session_For_Member    member_index=${member_index}
40     &{mapping}    BuiltIn.Create_Dictionary    SHARD_PREFIX=${shard_prefix}    MEMBER_NAME=${member_name}    DATA_STORE_TYPE=${ds_type}
41     ${text} =    TemplatedRequests.Post_As_Xml_Templated    ${REMOVE_PREFIX_SHARD_REPLICA_DIR}    mapping=${mapping}    session=${session}
42
43 Add_Shard_Replica
44     [Arguments]    ${member_index}    ${shard_name}    ${ds_type}
45     [Documentation]    Add shard replica to given member by invoking add-shard-replica rpc.
46     ${session} =    ClusterManagement.Resolve_Http_Session_For_Member    member_index=${member_index}
47     &{mapping}    BuiltIn.Create_Dictionary    SHARD_NAME=${shard_name}    DATA_STORE_TYPE=${ds_type}
48     ${text} =    TemplatedRequests.Post_As_Xml_Templated    ${ADD_SHARD_REPLICA_DIR}    mapping=${mapping}    session=${session}
49
50 Remove_Shard_Replica
51     [Arguments]    ${member_index}    ${shard_name}    ${member_name}    ${ds_type}
52     [Documentation]    Remove shard replica from the given member by invoking remove-shard-replica rpc.
53     ${session} =    ClusterManagement.Resolve_Http_Session_For_Member    member_index=${member_index}
54     &{mapping}    BuiltIn.Create_Dictionary    SHARD_NAME=${shard_name}    MEMBER_NAME=${member_name}    DATA_STORE_TYPE=${ds_type}
55     ${text} =    TemplatedRequests.Post_As_Xml_Templated    ${REMOVE_SHARD_REPLICA_DIR}    mapping=${mapping}    session=${session}