summaryrefslogtreecommitdiffstats
path: root/ctdb
diff options
context:
space:
mode:
Diffstat (limited to 'ctdb')
-rwxr-xr-xctdb/tests/takeover/ip_groups1.py25
-rwxr-xr-xctdb/tests/takeover/ip_groups2.py20
-rwxr-xr-xctdb/tests/takeover/ip_groups3.py27
-rwxr-xr-xctdb/tests/takeover/ip_groups4.py25
-rwxr-xr-xctdb/tests/takeover/ip_groups5.py23
5 files changed, 120 insertions, 0 deletions
diff --git a/ctdb/tests/takeover/ip_groups1.py b/ctdb/tests/takeover/ip_groups1.py
new file mode 100755
index 00000000000..0808f466cf1
--- /dev/null
+++ b/ctdb/tests/takeover/ip_groups1.py
@@ -0,0 +1,25 @@
+#!/usr/bin/env python
+
+# 2 IP groups, both on the same 5 nodes, with each group on different
+# interfaces/VLANs. One group has many more addresses to test how
+# well an "imbalanced" configuration will balance...
+
+from ctdb_takeover import Cluster, Node, process_args
+
+process_args()
+
+addresses20 = ['192.168.20.%d' % n for n in range(1, 13)]
+addresses128 = ['192.168.128.%d' % n for n in range(1, 5)]
+
+c = Cluster()
+
+for i in range(5):
+ c.add_node(Node([addresses20, addresses128]))
+
+#for i in range(3):
+# c.add_node(Node([addresses20]))
+
+
+c.recover()
+
+c.random_iterations()
diff --git a/ctdb/tests/takeover/ip_groups2.py b/ctdb/tests/takeover/ip_groups2.py
new file mode 100755
index 00000000000..c6c10266461
--- /dev/null
+++ b/ctdb/tests/takeover/ip_groups2.py
@@ -0,0 +1,20 @@
+#!/usr/bin/env python
+
+# 2 groups of addresses, combined into 1 pool so the checking
+# algorithm doesn't know about the groups, across 2 nodes.
+
+from ctdb_takeover import Cluster, Node, process_args
+
+process_args()
+
+addresses20 = ['192.168.20.%d' % n for n in range(1, 13)]
+addresses21 = ['192.168.21.%d' % n for n in range(1, 5)]
+
+c = Cluster()
+
+for i in range(2):
+ c.add_node(Node(addresses20 + addresses21))
+
+c.recover()
+
+c.random_iterations()
diff --git a/ctdb/tests/takeover/ip_groups3.py b/ctdb/tests/takeover/ip_groups3.py
new file mode 100755
index 00000000000..149946d72b4
--- /dev/null
+++ b/ctdb/tests/takeover/ip_groups3.py
@@ -0,0 +1,27 @@
+#!/usr/bin/env python
+
+# 4 IP groups, across 10 nodes, with each group on different
+# interfaces/VLANs. 80 addresses in total but not evenly balanced, to
+# help check some of the more extreme behaviour.
+
+from ctdb_takeover import Cluster, Node, process_args
+
+process_args()
+
+addresses1 = ['192.168.1.%d' % n for n in range(1, 41)]
+addresses2 = ['192.168.2.%d' % n for n in range(1, 21)]
+addresses3 = ['192.168.3.%d' % n for n in range(1, 11)]
+addresses4 = ['192.168.4.%d' % n for n in range(1, 11)]
+
+# Try detecting imbalance with square root of number of nodes? Or
+# just with a parameter indicating how unbalanced you're willing to
+# accept...
+
+c = Cluster()
+
+for i in range(10):
+ c.add_node(Node([addresses1, addresses2, addresses3, addresses4]))
+
+c.recover()
+
+c.random_iterations()
diff --git a/ctdb/tests/takeover/ip_groups4.py b/ctdb/tests/takeover/ip_groups4.py
new file mode 100755
index 00000000000..fdcef7f0a69
--- /dev/null
+++ b/ctdb/tests/takeover/ip_groups4.py
@@ -0,0 +1,25 @@
+#!/usr/bin/env python
+
+# 2 IP groups, across 2 nodes, with each group on different
+# interfaces. 4 addresses per group. A nice little canonical 2 node
+# configuration.
+
+from ctdb_takeover import Cluster, Node, process_args
+
+process_args()
+
+addresses1 = ['192.168.1.%d' % n for n in range(1, 5)]
+addresses2 = ['192.168.2.%d' % n for n in range(1, 5)]
+
+# Try detecting imbalance with square root of number of nodes? Or
+# just with a parameter indicating how unbalanced you're willing to
+# accept...
+
+c = Cluster()
+
+for i in range(2):
+ c.add_node(Node([addresses1, addresses2]))
+
+c.recover()
+
+c.random_iterations()
diff --git a/ctdb/tests/takeover/ip_groups5.py b/ctdb/tests/takeover/ip_groups5.py
new file mode 100755
index 00000000000..8c461506389
--- /dev/null
+++ b/ctdb/tests/takeover/ip_groups5.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python
+
+# 1 IP group, to test backward compatibility of LCP2 algorithm. 16
+# addresses across 4 nodes.
+
+from ctdb_takeover import Cluster, Node, process_args
+
+process_args()
+
+addresses1 = ['192.168.1.%d' % n for n in range(1, 17)]
+
+# Try detecting imbalance with square root of number of nodes? Or
+# just with a parameter indicating how unbalanced you're willing to
+# accept...
+
+c = Cluster()
+
+for i in range(4):
+ c.add_node(Node(addresses1))
+
+c.recover()
+
+c.random_iterations()