*** Settings ***
Documentation Robot library to monitor shard stability.
-...
+...
... Copyright (c) 2017 Cisco Systems, Inc. and others. All rights reserved.
-...
+...
... This program and the accompanying materials are made available under the
... terms of the Eclipse Public License v1.0 which accompanies this distribution,
... and is available at http://www.eclipse.org/legal/epl-v10.html
-...
+...
... This is a "stateful" library to monitor shard leaders and candidates. During the initial phase
... all leaders and followeres are stored and then checked with new value on verify.
... TODO: investigate whether pure stateless library would be easier or harder to use.
-...
+...
... Requirements: ClusterManagement.ClusterManagement_Setup must be called before Shard_Stability_Init
-...
+...
... It is possible to use it for stateless comparison.
... Variable @{DEFAULT_SHARD_LIST} contains default module shards.
Library Collections
[Documentation] Return shard details stored in dictionary.
... ${shard_list} should be initialized as @{list} shard_name1:shard_type1 shard_name2:shard..
&{shards_details} BuiltIn.Create_Dictionary
+ CompareStream.Run_Keyword_If_At_Least_Phosphorus Collections.Remove_Values_From_List ${shard_list} entity-ownership:operational
FOR ${shard_details} IN @{shard_list}
${shard_name} ${shard_type} String.Split_String ${shard_details} separator=:
${leader} ${followers} ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${shard_name} shard_type=${shard_type} member_index_list=${member_index_list}