Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > d536e3b2143fe88c174c968d683c0f4f > files > 15

conga-0.12.2-24.el5_6.1.src.rpm

diff -ur a/luci/cluster/cluster_config-macros b/luci/cluster/cluster_config-macros
--- a/luci/cluster/cluster_config-macros	2010-08-31 16:23:09.000000000 -0400
+++ b/luci/cluster/cluster_config-macros	2010-08-31 16:57:22.000000000 -0400
@@ -608,7 +608,14 @@
 						</tal:block>
 					</td>
 				</tr>
-
+				<tr class="systemsTable"
+					tal:condition="python:os_version != 'rhel4'">
+					<td class="systemsTable">
+						<input type="radio" name="mcast" value="broadcast"
+							onclick="disable_mcast('mcast_address', 'mcast_interface')"
+							tal:attributes="checked python: clusterinfo['is_bcast'] == 'True'"/>Use broadcast
+					</td>
+				</tr>
 				<tr class="systemsTable">
 					<td class="systemsTable">
 						Multicast address
diff -ur a/luci/cluster/validate_config_multicast.js b/luci/cluster/validate_config_multicast.js
--- a/luci/cluster/validate_config_multicast.js	2010-08-31 16:23:09.000000000 -0400
+++ b/luci/cluster/validate_config_multicast.js	2010-08-31 17:22:00.000000000 -0400
@@ -56,6 +56,8 @@
 		mcast = 0;
 	else if (form.mcast.length > 1 && form.mcast[1].checked)
 		mcast = 1;
+	else if (form.mcast[2].checked)
+		mcast = null;
 	else {
 		errors.push('An invalid value was given while specifying how the multicast address should be chosen.');
 		set_form_err(form.mcast[0]);
diff -ur a/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py b/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py
--- a/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py	2010-08-31 16:23:09.000000000 -0400
+++ b/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py	2010-08-31 16:45:04.000000000 -0400
@@ -1020,6 +1020,25 @@
           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 -ur a/luci/site/luci/Extensions/LuciClusterInfo.py b/luci/site/luci/Extensions/LuciClusterInfo.py
--- a/luci/site/luci/Extensions/LuciClusterInfo.py	2010-08-31 16:23:09.000000000 -0400
+++ b/luci/site/luci/Extensions/LuciClusterInfo.py	2010-08-31 16:59:55.000000000 -0400
@@ -682,6 +682,10 @@
 		clumap['pfd'] = pfd
 		clumap['skip_undefined'] = fdp.getSkipUndefined()
 
+		if model.get_cluster_broadcast() is True:
+			clumap['is_bcast'] = 'True'
+		else:
+			clumap['is_bcast'] = 'False'
 		#-------------
 		#if multicast
 		multicast_url = '%stab=%s' % (prop_baseurl, PROP_MCAST_TAB)
diff -ur a/luci/site/luci/Extensions/LuciValidation.py b/luci/site/luci/Extensions/LuciValidation.py
--- a/luci/site/luci/Extensions/LuciValidation.py	2010-08-31 16:23:09.000000000 -0400
+++ b/luci/site/luci/Extensions/LuciValidation.py	2010-08-31 17:13:43.000000000 -0400
@@ -663,16 +663,21 @@
 	errors = list()
 	try:
 		mcast_val = form['mcast'].strip().lower()
-		if mcast_val != 'true' and mcast_val != 'false':
+		if mcast_val not in ('true', 'false', 'broadcast'):
 			raise KeyError, mcast_val
 		if mcast_val == 'true':
 			mcast_manual = True
-		else:
+		elif mcast_val == 'false':
 			mcast_manual = False
+		elif mcast_val == 'broadcast':
+			model.del_cluster_multicast()
+			model.set_cluster_broadcast()
+			return (True, {})
 	except KeyError, e:
 		errors.append('An invalid multicast selection was made')
 		return (False, {'errors': errors})
 
+	model.del_cluster_broadcast()
 	mcast_interface = None
 	if form.has_key('mcast_interface'):
 		mcast_interface = form['mcast_interface'].strip()