2 Documentation Keywords wrapping controller's odl-mdsal-lowlevel yang model rpcs.
4 ... This is just an initial skeleton implementation, calls are debugged. Multiple
5 ... changes will follow as suites will be implemented.
6 ... This suite should be preferably merged before any suite to avoid conflicting
7 ... situations while suites will be implementing.
9 ... Copyright (c) 2017 Cisco Systems, Inc. and others. All rights reserved.
11 ... This program and the accompanying materials are made available under the
12 ... terms of the Eclipse Public License v1.0 which accompanies this distribution,
13 ... and is available at http://www.eclipse.org/legal/epl-v10.html
14 Resource ${CURDIR}/ClusterManagement.robot
15 Resource ${CURDIR}/TemplatedRequests.robot
18 ${RPC_DIR} ${CURDIR}/../variables/mdsal/lowlevelrpc
19 ${ADD_SHARD_REPLICA_DIR} ${RPC_DIR}/add_shard_replica
20 ${BECOME_MODULE_LEADER_DIR} ${RPC_DIR}/become_module_leader
21 ${BECOME_PREFIX_LEADER_DIR} ${RPC_DIR}/become_prefix_leader
22 ${DECONFIGURE_ID_INTS_SHARD_DIR} ${RPC_DIR}/deconfigure_id_ints_shard
23 ${GET_CONSTANT_DIR} ${RPC_DIR}/get_constant
24 ${GET_CONTEXTED_CONSTANT_DIR} ${RPC_DIR}/get_contexted_constant
25 ${GET_SINGLETON_CONSTANT_DIR} ${RPC_DIR}/get_singleton_constant
26 ${IS_CLIENT_ABORTED_DIR} ${RPC_DIR}/is_client_aborted
27 ${PRODUCE_TRANSACTIONS_DIR} ${RPC_DIR}/produce_transactions
28 ${PUBLISH_NOTIFICATIONS_DIR} ${RPC_DIR}/publish_notifications
29 ${REGISTER_BOUND_CONSTANT_DIR} ${RPC_DIR}/register_bound_constant
30 ${REGISTER_CONSTANT_DIR} ${RPC_DIR}/register_constant
31 ${REGISTER_DEFAULT_CONSTANT_DIR} ${RPC_DIR}/register_default_constant
32 ${REGISTER_FLAPPING_SINGLETON_DIR} ${RPC_DIR}/register_flapping_singleton
33 ${REGISTER_SINGLETON_CONSTANT_DIR} ${RPC_DIR}/register_singleton_constant
34 ${REMOVE_SHARD_REPLICA_DIR} ${RPC_DIR}/remove_shard_replica
35 ${SUBSCRIBE_DDTL_DIR} ${RPC_DIR}/subscribe_ddtl
36 ${SUBSCRIBE_DTCL_DIR} ${RPC_DIR}/subscribe_dtcl
37 ${SUBSCRIBE_YNL_DIR} ${RPC_DIR}/subscribe_ynl
38 ${UNREGISTER_BOUND_CONSTANT_DIR} ${RPC_DIR}/unregister_bound_constant
39 ${UNREGISTER_CONSTANT_DIR} ${RPC_DIR}/unregister_constant
40 ${UNREGISTER_DEFAULT_CONSTANT_DIR} ${RPC_DIR}/unregister_default_constant
41 ${UNREGISTER_FLAPPING_SINGLETON_DIR} ${RPC_DIR}/unregister_flapping_singleton
42 ${UNREGISTER_SINGLETON_CONSTANT_DIR} ${RPC_DIR}/unregister_singleton_constant
43 ${UNSUBSCRIBE_DDTL_DIR} ${RPC_DIR}/unsubscribe_ddtl
44 ${UNSUBSCRIBE_DTCL_DIR} ${RPC_DIR}/unsubscribe_dtcl
45 ${UNSUBSCRIBE_YNL_DIR} ${RPC_DIR}/unsubscribe_ynl
46 ${WRITE_TRANSACTIONS_DIR} ${RPC_DIR}/write_transactions
50 [Arguments] ${member_index}
51 [Documentation] TODO: more desctiptive comment than: Invoke get-constant rpc.
52 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
53 ${text} = TemplatedRequests.Post_As_Xml_Templated ${GET_CONSTANT_DIR} session=${session}
54 BuiltIn.Fail TODO: to format output data
55 BuiltIn.Return_From_Keyword ${formatted_output}
57 Get_Contexted_Constant
58 [Arguments] ${member_index} ${context}
59 [Documentation] TODO: more desctiptive comment than: Invoke get-contexted-constant rpc.
60 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
61 &{mapping} BuiltIn.Create_Dictionary CONTEXT=${context}
62 ${test} = TemplatedRequests.Post_As_Xml_Templated ${GET_CONTEXTED_CONSTANT_DIR} mapping=${mapping} session=${session}
63 BuiltIn.Fail TODO: to format output data or at least to check the format
64 BuiltIn.Return_From_Keyword ${formatted_output}
66 Get_Singleton_Constant
67 [Arguments] ${member_index}
68 [Documentation] TODO: more desctiptive comment than: Invoke get-singleton-constant rpc.
69 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
70 ${uri} = TemplatedRequests.Resolve_Text_From_Template_Folder folder=${GET_SINGLETON_CONSTANT_DIR} base_name=location extension=uri
71 ${text} = TemplatedRequests.Post_To_Uri uri=${uri} data=${EMPTY} accept=${ACCEPT_JSON} content_type=${HEADERS_YANG_JSON} session=${session}
72 BuiltIn.Fail TODO: to format output data
73 BuiltIn.Return_From_Keyword ${formatted_output}
76 [Arguments] ${member_index} ${constant}
77 [Documentation] TODO: more desctiptive comment than: Invoke register-constant rpc.
78 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
79 &{mapping} BuiltIn.Create_Dictionary CONSTANT=${constant}
80 TemplatedRequests.Post_As_Xml_Templated ${REGISTER_CONSTANT_DIR} mapping=${mapping} session=${session}
83 [Arguments] ${member_index}
84 [Documentation] TODO: more desctiptive comment than: Invoke unregister-constant rpc.
85 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
86 ${uri} = TemplatedRequests.Resolve_Text_From_Template_Folder folder=${UNREGISTER_CONSTANT_DIR} base_name=location extension=uri
87 ${text} = TemplatedRequests.Post_To_Uri uri=${uri} data=${EMPTY} accept=${ACCEPT_JSON} content_type=${HEADERS_YANG_JSON} session=${session}
89 Register_Singleton_Constant
90 [Arguments] ${member_index} ${constant}
91 [Documentation] TODO: more desctiptive comment than: Invoke register-singleton-constant rpc.
92 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
93 &{mapping} BuiltIn.Create_Dictionary CONSTANT=${constant}
94 TemplatedRequests.Post_As_Xml_Templated ${REGISTER_SINGLETON_CONSTANT_DIR} mapping=${mapping} session=${session}
96 Unregister_Singleton_Constant
97 [Arguments] ${member_index}
98 [Documentation] TODO: more desctiptive comment than: Invoke unregister-singleton-constant rpc.
99 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
100 ${uri} = TemplatedRequests.Resolve_Text_From_Template_Folder folder=${UNREGISTER_SINGLETON_CONSTANT_DIR} base_name=location extension=uri
101 ${text} = TemplatedRequests.Post_To_Uri uri=${uri} data=${EMPTY} accept=${ACCEPT_JSON} content_type=${HEADERS_YANG_JSON} session=${session}
103 Register_Flapping_Singleton
104 [Arguments] ${member_index}
105 [Documentation] TODO: more desctiptive comment than: Invoke register-flapping-singleton rpc.
106 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
107 ${uri} = TemplatedRequests.Resolve_Text_From_Template_Folder folder=${REGISTER_FLAPPING_SINGLETON_DIR} base_name=location extension=uri
108 TemplatedRequests.Post_To_Uri uri=${uri} data=${EMPTY} accept=${ACCEPT_JSON} content_type=${HEADERS_YANG_JSON} session=${session}
110 Unregister_Flapping_Singleton
111 [Arguments] ${member_index}
112 [Documentation] TODO: more desctiptive comment than: Invoke unregister-flapping-singleton rpc.
113 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
114 ${uri} = TemplatedRequests.Resolve_Text_From_Template_Folder folder=${UNREGISTER_FLAPPING_SINGLETON_DIR} base_name=location extension=uri
115 ${text} = TemplatedRequests.Post_To_Uri uri=${uri} data=${EMPTY} accept=${ACCEPT_JSON} content_type=${HEADERS_YANG_JSON} session=${session}
118 [Arguments] ${member_index} ${seconds} ${trans_per_sec} ${chained_trans}=${True}
119 [Documentation] TODO: more desctiptive comment than: Invoke write-transactions rpc.
120 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
121 &{mapping} BuiltIn.Create_Dictionary SECONDS=${seconds} TPS=${trans_per_sec} CHAINED_TRANSACTIONS=${chained_trans}
122 TemplatedRequests.Post_As_Xml_Templated ${WRITE_TRANSACTIONS_DIR} mapping=${mapping} session=${session}
125 [Arguments] ${member_index} ${seconds} ${trans_per_sec} ${isolated_trans}=${True}
126 [Documentation] TODO: more desctiptive comment than: Invoke produce-transactions rpc.
127 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
128 &{mapping} BuiltIn.Create_Dictionary SECONDS=${seconds} TPS=${trans_per_sec} ISOLATED_TRANSACTIONS=${chained_trans}
129 TemplatedRequests.Post_As_Xml_Templated ${PRODUCE_TRANSACTIONS_DIR} mapping=${mapping} session=${session}
132 [Arguments] ${member_index} ${shard_name}
133 [Documentation] TODO: more desctiptive comment than: Invoke become-prefix-leader rpc.
134 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
135 &{mapping} BuiltIn.Create_Dictionary SHARD_NAME=${shard_name}
136 ${text} = TemplatedRequests.Post_As_Xml_Templated ${BECOME_PREFIX_LEADER_DIR} mapping=${mapping} session=${session}
139 [Arguments] ${member_index} ${shard_name}
140 [Documentation] TODO: more desctiptive comment than: Invoke become-module-leader rpc.
141 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
142 &{mapping} BuiltIn.Create_Dictionary SHARD_NAME=${shard_name}
143 ${text} = TemplatedRequests.Post_As_Xml_Templated ${BECOME_MODULE_LEADER_DIR} mapping=${mapping} session=${session}
146 [Arguments] ${member_index} ${shard_name}
147 [Documentation] TODO: more desctiptive comment than: Invoke remove-shard-replica rpc.
148 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
149 &{mapping} BuiltIn.Create_Dictionary SHARD_NAME=${shard_name}
150 TemplatedRequests.Post_As_Xml_Templated ${REMOVE_SHARD_REPLICA_DIR} mapping=${mapping} session=${session}
153 [Arguments] ${member_index} ${shard_name}
154 [Documentation] TODO: more desctiptive comment than: Invoke add-shard-replica rpc.
155 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
156 &{mapping} BuiltIn.Create_Dictionary SHARD_NAME=${shard_name}
157 TemplatedRequests.Post_As_Xml_Templated ${ADD_SHARD_REPLICA_DIR} mapping=${mapping} session=${session}
159 Deconfigure_Id_Ints_Shard
160 [Arguments] ${member_index}
161 [Documentation] TODO: more desctiptive comment than: Invoke deconfigure-id-ints-shard rpc.
162 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
163 ${uri} = TemplatedRequests.Resolve_Text_From_Template_Folder folder=${DECONFIGURE_ID_INTS_SHARD_DIR} base_name=location extension=uri
164 TemplatedRequests.Post_To_Uri uri=${uri} data=${EMPTY} accept=${ACCEPT_JSON} content_type=${HEADERS_YANG_JSON} session=${session}
167 [Arguments] ${member_index}
168 [Documentation] TODO: more desctiptive comment than: Invoke is-client-aborted rpc.
169 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
170 ${uri} = TemplatedRequests.Resolve_Text_From_Template_Folder folder=${IS_CLIENT_ABORTED_SHARD_DIR} base_name=location extension=uri
171 ${text} = TemplatedRequests.Post_To_Uri uri=${uri} data=${EMPTY} accept=${ACCEPT_JSON} content_type=${HEADERS_YANG_JSON} session=${session}
174 [Arguments] ${member_index}
175 [Documentation] TODO: more desctiptive comment than: Invoke subscribe-dtcl rpc.
176 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
177 ${uri} = TemplatedRequests.Resolve_Text_From_Template_Folder folder=${SUBSCRIBE_DTCL_DIR} base_name=location extension=uri
178 TemplatedRequests.Post_To_Uri uri=${uri} data=${EMPTY} accept=${ACCEPT_JSON} content_type=${HEADERS_YANG_JSON} session=${session}
181 [Arguments] ${member_index}
182 [Documentation] TODO: more desctiptive comment than: Invoke unsubscribe-dtcl rpc.
183 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
184 ${uri} = TemplatedRequests.Resolve_Text_From_Template_Folder folder=${UNSUBSCRIBE_DTCL_DIR} base_name=location extension=uri
185 ${text} = TemplatedRequests.Post_To_Uri uri=${uri} data=${EMPTY} accept=${ACCEPT_JSON} content_type=${HEADERS_YANG_JSON} session=${session}
188 [Arguments] ${member_index}
189 [Documentation] TODO: more desctiptive comment than: Invoke subscribe-ddtl rpc.
190 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
191 ${uri} = TemplatedRequests.Resolve_Text_From_Template_Folder folder=${SUBSCRIBE_DDTL_DIR} base_name=location extension=uri
192 TemplatedRequests.Post_To_Uri uri=${uri} data=${EMPTY} accept=${ACCEPT_JSON} content_type=${HEADERS_YANG_JSON} session=${session}
195 [Arguments] ${member_index}
196 [Documentation] TODO: more desctiptive comment than: Invoke unsubscribe-ddtl rpc.
197 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
198 ${uri} = TemplatedRequests.Resolve_Text_From_Template_Folder folder=${UNSUBSCRIBE_DDTL_DIR} base_name=location extension=uri
199 ${text} = TemplatedRequests.Post_To_Uri uri=${uri} data=${EMPTY} accept=${ACCEPT_JSON} content_type=${HEADERS_YANG_JSON} session=${session}
201 Publish_Notifications
202 [Arguments] ${member_index} ${seconds} ${notif_per_sec}
203 [Documentation] TODO: more desctiptive comment than: Invoke publish-notifications rpc.
204 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
205 &{mapping} BuiltIn.Create_Dictionary SECONDS=${seconds} NPS=${notif_per_sec}
206 TemplatedRequests.Post_As_Xml_Templated ${PUBLISH_NOTIFICATIONS_DIR} mapping=${mapping} session=${session}
209 [Arguments] ${member_index}
210 [Documentation] TODO: more desctiptive comment than: Invoke subscribe-ynl rpc.
211 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
212 &{mapping} BuiltIn.Create_Dictionary
213 TemplatedRequests.Post_As_Xml_Templated ${SUBSCRIBE_YNL_DIR} mapping=${mapping} session=${session}
216 [Arguments] ${member_index}
217 [Documentation] TODO: more desctiptive comment than: Invoke unsubscribe-ynl rpc.
218 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
219 &{mapping} BuiltIn.Create_Dictionary
220 ${text} = TemplatedRequests.Post_As_Xml_Templated ${UNSUBSCRIBE_YNL_DIR} mapping=${mapping} session=${session}
222 Register_Bound_Constant
223 [Arguments] ${member_index}
224 [Documentation] TODO: more desctiptive comment than: Invoke register-bound-constant rpc.
225 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
226 &{mapping} BuiltIn.Create_Dictionary
227 ${text} = TemplatedRequests.Post_As_Xml_Templated ${REGISTER_BOUND_CONSTANT_DIR} mapping=${mapping} session=${session}
229 Unregister_Bound_Constant
230 [Arguments] ${member_index}
231 [Documentation] TODO: more desctiptive comment than: Invoke unregister-bound-constant rpc.
232 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
233 &{mapping} BuiltIn.Create_Dictionary
234 TemplatedRequests.Post_As_Xml_Templated ${UNREGISTER_BOUND_CONSTANT_DIR} mapping=${mapping} session=${session}
236 Register_Default_Constant
237 [Arguments] ${member_index}
238 [Documentation] TODO: more desctiptive comment than: Invoke register-default-constant rpc.
239 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
240 &{mapping} BuiltIn.Create_Dictionary
241 TemplatedRequests.Post_As_Xml_Templated ${REGISTER_DEFAULT_CONSTANT_DIR} mapping=${mapping} session=${session}
243 Unregister_Default_Constant
244 [Arguments] ${member_index}
245 [Documentation] TODO: more desctiptive comment than: Invoke unregister-default-constant rpc.
246 ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${member_index}
247 ${uri} = TemplatedRequests.Resolve_Text_From_Template_Folder folder=${UNREGISTER_DEFAULT_CONSTANT_DIR} base_name=location extension=uri
248 TemplatedRequests.Post_To_Uri uri=${uri} data=${EMPTY} accept=${ACCEPT_JSON} content_type=${HEADERS_YANG_JSON} session=${session}