diff options
author | Amitay Isaacs <amitay@gmail.com> | 2014-11-20 14:24:24 +1100 |
---|---|---|
committer | Amitay Isaacs <amitay@gmail.com> | 2014-11-25 13:56:27 +1100 |
commit | a756e3bcf6620ad8b18dd804f2d4cada3c09f8d2 (patch) | |
tree | 3afc5a334e5fb0fa8f68cbecdb78d3c0fc66a81a | |
parent | ff3870563ab5a58def4795b0b9b6d13d494ca384 (diff) | |
download | autocluster-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>
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@@ |