summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmitay Isaacs <amitay@gmail.com>2014-11-20 14:24:24 +1100
committerAmitay Isaacs <amitay@gmail.com>2014-11-25 13:56:27 +1100
commita756e3bcf6620ad8b18dd804f2d4cada3c09f8d2 (patch)
tree3afc5a334e5fb0fa8f68cbecdb78d3c0fc66a81a
parentff3870563ab5a58def4795b0b9b6d13d494ca384 (diff)
downloadautocluster-a756e3bcf6620ad8b18dd804f2d4cada3c09f8d2.tar.gz
autocluster-a756e3bcf6620ad8b18dd804f2d4cada3c09f8d2.tar.xz
autocluster-a756e3bcf6620ad8b18dd804f2d4cada3c09f8d2.zip
Create multiple public_addresses filesautocluster-0.10
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
-rw-r--r--base/all/root/scripts/cluster_configure/plugins/ctdb.py23
-rw-r--r--base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses2
-rw-r--r--base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses.dual1
-rw-r--r--base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses.ipv41
-rw-r--r--base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses.ipv61
-rw-r--r--base/all/root/scripts/nas.conf1
6 files changed, 24 insertions, 5 deletions
diff --git a/base/all/root/scripts/cluster_configure/plugins/ctdb.py b/base/all/root/scripts/cluster_configure/plugins/ctdb.py
index e84e6dc..d326b19 100644
--- a/base/all/root/scripts/cluster_configure/plugins/ctdb.py
+++ b/base/all/root/scripts/cluster_configure/plugins/ctdb.py
@@ -21,16 +21,31 @@ import logging
import package
-def gen_public_addresses(config, pkg, dummy):
+def gen_public_addresses(config, pkg, req_ips):
"""Given a config object, return the formatted public addresses."""
+ stack = package.get(config, pkg, "network_stack")
out = []
+ out6 = []
foo = package.get(config, pkg, "public_addresses")
for tmp in foo.split():
(startip, num_addrs, iface) = tmp.split(',')
(a,b,c,d) = startip.split('.')
for i in xrange(int(num_addrs)):
octet = int(d) + i
- out.append('%s.%s.%s.%d/24 %s\n' % (a, b, c, octet, iface))
-
- return "".join(out)
+ if stack == 'ipv4' and req_ips == 'default':
+ out.append('%s.%s.%s.%d/24 %s\n' % (a, b, c, octet, iface))
+ elif stack == 'ipv6' and req_ips == 'default':
+ out6.append('fc00:%s:%s:%s::%s/64 %s\n' % (a, b, c, octet, iface))
+ elif stack == 'dual':
+ if req_ips in ['ipv4', 'dual', 'default']:
+ out.append('%s.%s.%s.%d/24 %s\n' % (a, b, c, octet, iface))
+ if req_ips in ['ipv6', 'dual', 'default']:
+ out6.append('fc00:%s:%s:%s::%s/64 %s\n' % (a, b, c, octet, iface))
+
+ # Special case: if the file would be empty then it should be there...
+ ret = "".join(out) + "".join(out6)
+ if ret:
+ return ret
+ else:
+ return None
diff --git a/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses b/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses
index afdfc4c..e2053a7 100644
--- a/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses
+++ b/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses
@@ -1 +1 @@
-!!%ctdb:gen_public_addresses(None)!!
+!!%ctdb:gen_public_addresses('default')!!
diff --git a/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses.dual b/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses.dual
new file mode 100644
index 0000000..9aecdac
--- /dev/null
+++ b/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses.dual
@@ -0,0 +1 @@
+!!%ctdb:gen_public_addresses('dual')!!
diff --git a/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses.ipv4 b/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses.ipv4
new file mode 100644
index 0000000..3ab0921
--- /dev/null
+++ b/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses.ipv4
@@ -0,0 +1 @@
+!!%ctdb:gen_public_addresses('ipv4')!!
diff --git a/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses.ipv6 b/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses.ipv6
new file mode 100644
index 0000000..4a67496
--- /dev/null
+++ b/base/all/root/scripts/cluster_configure/templates/rhel/00.ctdb/1.2.4#/files/etc/ctdb/public_addresses.ipv6
@@ -0,0 +1 @@
+!!%ctdb:gen_public_addresses('ipv6')!!
diff --git a/base/all/root/scripts/nas.conf b/base/all/root/scripts/nas.conf
index 812e74c..d3bef51 100644
--- a/base/all/root/scripts/nas.conf
+++ b/base/all/root/scripts/nas.conf
@@ -7,6 +7,7 @@ chroot_parent = /var/lib/nas-chroot
scp_chroot = %(chroot_parent)s/scp
clusterfs_default_mountpoint = @@CLUSTERFS_DEFAULT_MOUNTPOINT@@
auth_method = @@AUTH_METHOD@@
+network_stack = @@NETWORK_STACK@@
[filesystem:0]
type = @@CLUSTERFS_TYPE@@