From adf8dbe8c01a7ab8c6159e91a5c763d7bbdb300d Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Mon, 25 Jul 2011 11:00:43 +1000 Subject: IP allocation simulation - add examples. Signed-off-by: Martin Schwenke (This used to be ctdb commit 8a1ae0c5a3aa788ed0f29c264249ba7bc5d226a7) --- ctdb/tests/takeover/ip_groups1.py | 25 +++++++++++++++++++++++++ ctdb/tests/takeover/ip_groups2.py | 20 ++++++++++++++++++++ ctdb/tests/takeover/ip_groups3.py | 27 +++++++++++++++++++++++++++ ctdb/tests/takeover/ip_groups4.py | 25 +++++++++++++++++++++++++ ctdb/tests/takeover/ip_groups5.py | 23 +++++++++++++++++++++++ 5 files changed, 120 insertions(+) create mode 100755 ctdb/tests/takeover/ip_groups1.py create mode 100755 ctdb/tests/takeover/ip_groups2.py create mode 100755 ctdb/tests/takeover/ip_groups3.py create mode 100755 ctdb/tests/takeover/ip_groups4.py create mode 100755 ctdb/tests/takeover/ip_groups5.py (limited to 'ctdb') 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() -- cgit