From a00298b183baffe27a47e49e102f028ba39aa337 Mon Sep 17 00:00:00 2001 From: Ryan McCabe Date: Jul 09 2010 16:48:11 +0000 Subject: Fix rhbz#600083 - Add text to broadcast mode to note that it is for demos only --- diff --git a/luci/lib/ClusterConf/ModelBuilder.py b/luci/lib/ClusterConf/ModelBuilder.py index 6ad504b..3dc447b 100644 --- a/luci/lib/ClusterConf/ModelBuilder.py +++ b/luci/lib/ClusterConf/ModelBuilder.py @@ -1060,6 +1060,25 @@ class ModelBuilder: node.removeChild(node_child) break + def set_cluster_broadcast(self): + if self.del_cluster_multicast() is False: + return False + broadcast = self.CMAN_ptr.addAttribute('broadcast', 'yes') + + def del_cluster_broadcast(self): + if self.CMAN_ptr is None: + return False + self.CMAN_ptr.removeAttribute('broadcast') + self.isModified = True + + def get_cluster_broadcast(self): + if self.CMAN_ptr is None: + return False + broadcast = self.CMAN_ptr.getAttribute('broadcast') + if broadcast and broadcast.lower() in ('1', 'true', 'yes'): + return True + return False + def del_cluster_multicast(self): if self.CMAN_ptr is None: return False diff --git a/luci/templates/configure.html b/luci/templates/configure.html index d1ed4e1..65c8a49 100644 --- a/luci/templates/configure.html +++ b/luci/templates/configure.html @@ -104,10 +104,9 @@
- + +
diff --git a/luci/widget_validators/validate_cluster_prop.py b/luci/widget_validators/validate_cluster_prop.py index dab2542..7b2e6dd 100644 --- a/luci/widget_validators/validate_cluster_prop.py +++ b/luci/widget_validators/validate_cluster_prop.py @@ -7,8 +7,6 @@ from pylons.i18n import ugettext as _ -from luci.lib.form_utils import FormUtils - from luci.lib.ClusterConf.FailoverDomain import FailoverDomain from luci.lib.ClusterConf.FailoverDomainNode import FailoverDomainNode from luci.lib.ClusterConf.QuorumD import QuorumD @@ -389,9 +387,15 @@ def validate_cluster_config_form(model, **kw): mcast_addr = kw.get('mcast_address') if multicast == "multicast": + model.del_cluster_broadcast() model.del_cluster_multicast() elif multicast == "multicast_manual": + model.del_cluster_broadcast() model.set_cluster_multicast(mcast_addr, None) + elif multicast == "broadcast": + model.set_cluster_broadcast() + else: + return (False, {'errors': [ _('Invalid value for multicast configuration: %s') % multicast]}) totem = model.getTotemPtr() if totem is None: