Suite Setup SxpClusterLib.Setup SXP Cluster Session
Suite Teardown SxpClusterLib.Clean SXP Cluster Session
Library ../../../libraries/Common.py
+Resource ../../../libraries/CompareStream.robot
Resource ../../../libraries/SxpBindingOriginsLib.robot
Resource ../../../libraries/SxpClusterLib.robot
Resource ../../../libraries/SxpLib.robot
[Documentation] Adding and then deleting SXP node is sucessfull only if all operations are done on cluster owner node. To verify that all RPCs are redirected to cluster owner send add-node RPC to the first cluster node and delete-node RPC to the second cluster node (requires datastore access).
[Tags] SXP Clustering Redirecting
SxpLib.Add Node ${INADDR_ANY} session=ClusterManagement__session_1
- BuiltIn.Wait Until Keyword Succeeds 1m 1x SxpClusterLib.Check Cluster Node started ${INADDR_ANY} ip=${EMPTY}
+ BuiltIn.Wait Until Keyword Succeeds 20x 10s SxpClusterLib.Check Cluster Node started ${INADDR_ANY} ip=${EMPTY}
SxpLib.Delete Node ${INADDR_ANY} session=ClusterManagement__session_2
- BuiltIn.Wait Until Keyword Succeeds 1m 1x SxpClusterLib.Check Cluster Node stopped ${INADDR_ANY} ip=${EMPTY}
+ BuiltIn.Wait Until Keyword Succeeds 12x 10s SxpClusterLib.Check Cluster Node stopped ${INADDR_ANY} ip=${EMPTY}
Test Add/Delete Binding
[Documentation] Adding and then deleting binding from a SXP node is sucessfull only if all operations are done on cluster owner node. To verify that all RPCs are redirected to cluster owner send add-node RPC to the first cluster node, add-bindings RPC to the second cluster node (requires master database) and delete-bindings RPC to the third cluster node (requires master database).
Test Add/Update/Delete Binding Origin
[Documentation] Binding origin operations need to be executed on cluster owner because they rely on static map which is present solely on cluster owner. To test that binding origin RPCs are redirected to cluster owner first add binding origin to the first node then update it on the second node (requires up-to date binding origin map) and update it on the third node (requires up-to date binding origin map).
[Tags] SXP Clustering Redirecting
+ CompareStream.Run_Keyword_If_Less_Than fluorine BuiltIn.Pass Execution Binding origins are not supported before Fluorine
SxpBindingOriginsLib.Add Binding Origin CLUSTER 0 session=ClusterManagement__session_1
SxpBindingOriginsLib.Update Binding Origin CLUSTER 3 session=ClusterManagement__session_2
SxpBindingOriginsLib.Delete Binding Origin CLUSTER session=ClusterManagement__session_3
Add Node And Check It Is Started
[Documentation] Send add-node RPC to the first cluster member and check if node has been started.
SxpLib.Add Node ${INADDR_ANY} session=ClusterManagement__session_1
- BuiltIn.Wait Until Keyword Succeeds 1m 1x SxpClusterLib.Check Cluster Node started ${INADDR_ANY} ip=${EMPTY}
+ BuiltIn.Wait Until Keyword Succeeds 20x 10s SxpClusterLib.Check Cluster Node started ${INADDR_ANY} ip=${EMPTY}
Delete Node And Check It Is Stopped
[Documentation] Send delete-node RPC to the first cluster member and check if node has been stopped.
SxpLib.Delete Node ${INADDR_ANY} session=ClusterManagement__session_1
- BuiltIn.Wait Until Keyword Succeeds 1m 1x SxpClusterLib.Check Cluster Node stopped ${INADDR_ANY} ip=${EMPTY}
+ BuiltIn.Wait Until Keyword Succeeds 12x 10s SxpClusterLib.Check Cluster Node stopped ${INADDR_ANY} ip=${EMPTY}