All of lore.kernel.org
 help / color / mirror / Atom feed
From: rmccabe@sourceware.org <rmccabe@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] conga ./conga.spec.in.in luci/cluster/busy_wai ...
Date: 13 Jun 2008 18:38:44 -0000	[thread overview]
Message-ID: <20080613183844.27930.qmail@sourceware.org> (raw)

CVSROOT:	/cvs/cluster
Module name:	conga
Branch: 	RHEL5
Changes by:	rmccabe at sourceware.org	2008-06-13 18:38:40

Modified files:
	.              : conga.spec.in.in 
	luci/cluster   : busy_wait-macro form-macros index_html 
	                 validate_create_gulm.js 
	luci/plone-custom: conga.js update_hostinfo.js 
	luci/site/luci/Extensions: FenceHandler.py HelperFunctions.py 
	                           LuciClusterInfo.py 
	luci/site/luci/Extensions/ClusterModel: TagObject.py 
	luci/site/luci/var: Data.fs 
	ricci/modules/rpm: PackageHandler.cpp 
	ricci/modules/service: ServiceManager.cpp 

Log message:
	Fix 450854

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/conga.spec.in.in.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.45.2.88&r2=1.45.2.89
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/busy_wait-macro.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.2.2.2&r2=1.2.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.90.2.35&r2=1.90.2.36
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/index_html.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.20.2.15&r2=1.20.2.16
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/validate_create_gulm.js.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.4.3&r2=1.1.4.4
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/plone-custom/conga.js.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.3.2.5&r2=1.3.2.6
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/plone-custom/update_hostinfo.js.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.2.1&r2=1.1.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/FenceHandler.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.4.2.13&r2=1.4.2.14
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/HelperFunctions.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.4.2.6&r2=1.4.2.7
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/LuciClusterInfo.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.4.10&r2=1.1.4.11
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ClusterModel/TagObject.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.4.2&r2=1.1.4.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/var/Data.fs.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.15.2.33&r2=1.15.2.34
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/rpm/PackageHandler.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.9.2.9&r2=1.9.2.10
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/service/ServiceManager.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.5.2.7&r2=1.5.2.8

--- conga/conga.spec.in.in	2008/05/16 17:08:28	1.45.2.88
+++ conga/conga.spec.in.in	2008/06/13 18:37:46	1.45.2.89
@@ -76,7 +76,7 @@
 Group: System Environment/Base
 Summary: Remote Management System - Management Station
 
-Requires: chkconfig initscripts
+Requires: chkconfig initscripts bc
 Requires: python >= 2.4.1
 %if "%{include_zope_and_plone}" == "yes"
 Provides: config(luci) = %{version}-%{release}
@@ -297,6 +297,7 @@
 - Fix bz444210 (Adding multiple fence devices at the same time causes duplicate entries)
 - Fix bz444381 (conga writes 'exportpath' instead of 'export' attribute for netfs)
 - Fix bz446907 (rpm -V luci fails)
+- Fix bz450854 (luci doesn't start because of a missing dep /usr/bin/dc)
 
 * Fri Apr 18 2008 Ryan McCabe <rmccabe@redhat.com> 0.12.0-8
 - Fix bz441580 (conga should install 'sg3_utils' and start service 'scsi_reserve' when scsi fencing is used)
--- conga/luci/cluster/busy_wait-macro	2008/01/25 17:18:37	1.2.2.2
+++ conga/luci/cluster/busy_wait-macro	2008/06/13 18:37:46	1.2.2.3
@@ -3,7 +3,7 @@
 
 	<p><img src="100wait.gif" /></p>
 
-	<span tal:define="global nodereports isBusy/nodereports" />
+	<span tal:define="global nodereports isBusy/nodereports | nothing" />
 
 	<div tal:repeat="nodereport nodereports">
 		<tal:block
--- conga/luci/cluster/form-macros	2008/04/23 17:27:10	1.90.2.35
+++ conga/luci/cluster/form-macros	2008/06/13 18:37:46	1.90.2.36
@@ -148,6 +148,80 @@
 </div>
 </div>
 
+<div metal:define-macro="lockserver-macro" tal:omit-tag="">
+	<strong class="cluster">Lock Manager</strong>
+	<ul class="vanilla">
+		<li class="vanilla">
+			<input type="radio" name="lockmanager" value="dlm"
+				onchange="toggle_gulm(this.form, this.value)"
+				tal:attributes="checked python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm'">DLM (preferred)
+		</li>
+		<li class="vanilla">
+			<input type="radio" name="lockmanager" value="gulm"
+				onchange="toggle_gulm(this.form, this.value)"
+					tal:attributes="checked python: add_cluster and 'lockmanager' in add_cluster and add_cluster['lockmanager'] == 'gulm'">GULM
+		</li>
+		<div id="gulm_lockservers"
+			tal:attributes="class python: (add_cluster and 'lockmanager' in add_cluster and add_cluster['lockmanager'] != 'gulm') and 'invisible' or ''">
+			<fieldset>
+				<legend class="rescfg">GULM lock server properties</legend>
+				<p>You must enter exactly 1, 3, or 5 GULM lock servers.</p>
+					<table class="systemsTable">
+						<tr>
+							<td class="pad_right">Lock Server 1</td>
+							<td>
+								<input type="text" name="__GULM__:server1"
+									class="hostname"
+									tal:attributes="
+										disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+										value add_cluster/gulm_lockservers/server1 | nothing" />
+							</td>
+						</tr>
+						<tr>
+							<td class="pad_right">Lock Server 2</td>
+							<td>
+								<input type="text" name="__GULM__:server2"
+									class="hostname"
+									tal:attributes="
+										disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+										value add_cluster/gulm_lockservers/server2 | nothing" />
+							</td>
+						</tr>
+						<tr>
+							<td class="pad_right">Lock Server 3</td>
+							<td>
+								<input type="text" name="__GULM__:server3"
+									class="hostname"
+									tal:attributes="
+										disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+										value add_cluster/gulm_lockservers/server3 | nothing" />
+							</td>
+						</tr>
+						<tr>
+							<td class="pad_right">Lock Server 4</td>
+							<td>
+								<input type="text" name="__GULM__:server4"
+									class="hostname" tal:attributes="
+										disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+										value add_cluster/gulm_lockservers/server4 | nothing" />
+							</td>
+						</tr>
+						<tr>
+							<td class="pad_right">Lock Server 5</td>
+						<td>
+							<input type="text" name="__GULM__:server5"
+								class="hostname"
+								tal:attributes="
+									disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+									value add_cluster/gulm_lockservers/server5 | nothing" />
+						</td>
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</ul>
+</div>
+
 <div metal:define-macro="cluster-form">
 	<h2>Cluster Form</h2>
 </div>
@@ -171,10 +245,17 @@
 		tal:define="
 			global add_cluster request/SESSION/create_cluster | nothing">
 
+		<div class="invisible"
+			tal:condition="not:exists:add_cluster/gulm_support">
+			<div id="lockserver_div">
+				<tal:block metal:use-macro="here/form-macros/macros/lockserver-macro" />
+			</div>
+		</div>
+
 		<input name="pagetype" type="hidden"
 			tal:attributes="value request/form/pagetype | request/pagetype |string:6" />
 
-		<input name="cluster_os" type="hidden"
+		<input name="cluster_os" type="hidden" id="cluster_os"
 			tal:attributes="value add_cluster/cluster_os | nothing" />
 
 		<table id="systemsTable" class="systemsTable" cellspacing="0">
@@ -241,91 +322,11 @@
 					</ul>
 				</td></tr>
 
-				<tr class="systemsTable"
-					tal:condition="exists:add_cluster/gulm_support">
-					<td class="systemsTable" colspan="2">
-						<strong class="cluster">Lock Manager</strong>
-						<ul class="vanilla">
-							<li class="vanilla">
-								<input type="radio"
-									name="lockmanager" value="dlm"
-									onchange="toggle_gulm(this.form, this.value)"
-									tal:attributes="checked python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm'"
-								>DLM (preferred)
-							</li>
-							<li class="vanilla">
-								<input type="radio"
-									name="lockmanager" value="gulm"
-									onchange="toggle_gulm(this.form, this.value)"
-									tal:attributes="checked python: add_cluster and 'lockmanager' in add_cluster and add_cluster['lockmanager'] == 'gulm'"
-								>GULM
-							</li>
-							<div id="gulm_lockservers"
-								tal:attributes="class python: (add_cluster and 'lockmanager' in add_cluster and add_cluster['lockmanager'] != 'gulm') and 'invisible' or ''">
-								<fieldset>
-								<legend class="rescfg">GULM lock server properties</legend>
-								<p>You must enter exactly 1, 3, or 5 GULM lock servers.</p>
-
-								<table class="systemsTable">
-									<tr>
-										<td class="pad_right">Lock Server 1</td>
-										<td>
-											<input type="text"
-												name="__GULM__:server1"
-												class="hostname"
-												tal:attributes="
-													disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
-													value add_cluster/gulm_lockservers/server1 | nothing" />
-										</td>
-									</tr>
-									<tr>
-										<td class="pad_right">Lock Server 2</td>
-										<td>
-											<input type="text"
-												name="__GULM__:server2"
-												class="hostname"
-												tal:attributes="
-													disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
-													value add_cluster/gulm_lockservers/server2 | nothing" />
-										</td>
-									</tr>
-									<tr>
-										<td class="pad_right">Lock Server 3</td>
-										<td>
-											<input type="text"
-												name="__GULM__:server3"
-												class="hostname"
-												tal:attributes="
-													disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
-													value add_cluster/gulm_lockservers/server3 | nothing" />
-										</td>
-									</tr>
-									<tr>
-										<td class="pad_right">Lock Server 4</td>
-										<td>
-											<input type="text"
-												name="__GULM__:server4"
-												class="hostname"
-												tal:attributes="
-													disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
-													value add_cluster/gulm_lockservers/server4 | nothing" />
-										</td>
-									</tr>
-									<tr>
-										<td class="pad_right">Lock Server 5</td>
-										<td>
-											<input type="text"
-												name="__GULM__:server5"
-												class="hostname"
-												tal:attributes="
-													disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
-													value add_cluster/gulm_lockservers/server5 | nothing" />
-										</td>
-									</tr>
-								</table>
-								</fieldset>
-							</div>
-						<ul>
+				<tr class="systemsTable">
+					<td class="systemsTable" colspan="2" id="lockserver_dialog">
+						<tal:block tal:condition="exists:add_cluster/gulm_support">
+							<tal:block metal:use-macro="here/form-macros/macros/lockserver-macro" />
+						</tal:block>
 					</td>
 				</tr>
 			</tfoot>
@@ -471,6 +472,8 @@
 		</div>
 
 		<div class="hbSubmit" id="hbSubmit">
+			<input id="cluster_version" name="cluster_version" type="hidden"
+				tal:attributes="value os_version | nothing" />
 			<input type="hidden" name="cluster_create" value="1" />
 			<input type="button" name="Submit" value="Submit"
 				onClick="validate_cluster_create(this.form)" />
@@ -1094,7 +1097,7 @@
 		<input name="pagetype" type="hidden"
 			tal:attributes="value request/form/pagetype | request/pagetype | string:15" />
 
-		<input name="cluster_os" type="hidden"
+		<input name="cluster_os" type="hidden" id="cluster_os"
 			tal:attributes="value add_cluster/cluster_os | nothing" />
 
 		<table id="systemsTable" class="systemsTable" cellspacing="0">
--- conga/luci/cluster/index_html	2008/02/08 21:56:33	1.20.2.15
+++ conga/luci/cluster/index_html	2008/06/13 18:37:46	1.20.2.16
@@ -27,20 +27,26 @@
 	    <tal:block tal:define="
 			global sinfo nothing;
 			global hascluster request/clustername | nothing;
-			global isBusy python: False;
+			global isBusy python:False;
+			global isVirtualized python:False;
 			global firsttime nothing;
 			global ri_agent nothing;
+			global os_version nothing;
 			global busywaiting python:None" />
 
 		<tal:block tal:condition="hascluster">
 			<tal:block tal:define="
 				global ri_agent python:here.getRicciAgentForCluster(request);
-				resmap python:here.getClusterOS(ri_agent);
-				global isVirtualized resmap/isVirtualized | nothing;
-				global os_version resmap/os | nothing;
-				global isBusy python:here.isClusterBusy(request);
 				global firsttime request/busyfirst | nothing" />
 
+			<tal:block tal:condition="ri_agent"
+				tal:define="resmap python:here.getClusterOS(ri_agent)">
+				<tal:block tal:define="
+					global isVirtualized resmap/isVirtualized | nothing;
+					global os_version resmap/os | nothing;
+					global isBusy python:here.isClusterBusy(request)" />
+			</tal:block>
+
 			<tal:block tal:condition="firsttime">
 				<tal:block tal:define="global busywaiting python:True" />
 				<meta http-equiv="refresh"
--- conga/luci/cluster/validate_create_gulm.js	2008/01/23 04:44:30	1.1.4.3
+++ conga/luci/cluster/validate_create_gulm.js	2008/06/13 18:37:46	1.1.4.4
@@ -65,10 +65,19 @@
 }
 
 function validate_cluster_create(form) {
-	if (form.lockmanager && !form.lockmanager[0].checked) {
-		var errors = check_gulm_lkserv();
-		if (error_dialog(errors))
-			return (-1);
+	try {
+		if (!form.cluster_os.value) {
+			get_system_info(null, null, 1);
+		}
+	} catch (e) {
+	}
+
+	if (form.cluster_os.value) {
+		if (form.lockmanager && !form.lockmanager[0].checked) {
+			var errors = check_gulm_lkserv();
+			if (error_dialog(errors))
+				return (-1);
+		}
+		return validateForm(form);
 	}
-	return validateForm(form);
 }
--- conga/luci/plone-custom/conga.js	2008/02/07 06:52:56	1.3.2.5
+++ conga/luci/plone-custom/conga.js	2008/06/13 18:37:46	1.3.2.6
@@ -45,7 +45,7 @@
 }
 
 function display_msgs(id, msg_list) {
-	if (!msg_list || msg_list.length < 1) {
+	if (id === null || !msg_list || msg_list.length < 1) {
 		return (-1);
 	}
 
--- conga/luci/plone-custom/update_hostinfo.js	2008/01/23 04:44:32	1.1.2.1
+++ conga/luci/plone-custom/update_hostinfo.js	2008/06/13 18:37:46	1.1.2.2
@@ -97,6 +97,7 @@
 	var errors = [];
 	var msgs = [];
 	var systems_list = get_systems_list_offsets(errors);
+	var cluster_os = null;
 
 	for (var i = 0 ; i < systems_list.length ; i++) {
 		var cur_node_props = node_props[systems_list[i][0]];
@@ -106,6 +107,10 @@
 			var addr_elem = document.getElementById('__SYSTEM' + offset + ':Addr');
 			var pwd_elem = document.getElementById('__SYSTEM' + offset + ':Passwd');
 			var fp_elem = document.getElementById('__SYSTEM' + offset + 'Fingerprint');
+			try {
+				cluster_os = cur_node_props['OS'];
+			} catch (e) {
+			}
 
 			if (cur_node_props['available'] != 'True') {
 				errors.push(cur_node_props['err_msg']);
@@ -130,7 +135,32 @@
 				}
 			}
 		} catch (e) {
-			alert(e);
+			//alert(e);
+		}
+	}
+
+	if (cluster_os !== null) {
+		var os_str = null;
+
+		if (cluster_os.match(/Nahant/)) {
+			var lsdiv = document.getElementById('lockserver_div');
+			if (lsdiv !== null) {
+				var ls_cell = document.getElementById('lockserver_dialog');
+				if (ls_cell !== null) {
+					lsdiv.id = null;
+					ls_cell.appendChild(lsdiv);
+				}
+			}
+			os_str = 'rhel4';
+		} else {
+			os_str = 'rhel5';
+		}
+
+		if (os_str !== null) {
+			var os_in = document.getElementById('cluster_os');
+			if (os_in !== null) {
+				os_in.value = os_str;
+			}
 		}
 	}
 
--- conga/luci/site/luci/Extensions/FenceHandler.py	2008/04/23 17:27:10	1.4.2.13
+++ conga/luci/site/luci/Extensions/FenceHandler.py	2008/06/13 18:37:46	1.4.2.14
@@ -657,8 +657,10 @@
 	use_ssh = form.has_key('secure') and (form['secure'] == '1' or form['secure'].lower() == 'true')
 	if use_ssh:
 		fencedev.addAttribute('secure', '1')
+		fencedev.addAttribute('agent', 'fence_drac5')
 	else:
 		fencedev.removeAttribute('secure')
+		fencedev.addAttribute('agent', 'fence_drac')
 
 	return errors
 
@@ -833,6 +835,7 @@
 	'fence_ilo':			val_ilo_fd,
 	'fence_ipmilan':		val_ipmilan_fd,
 	'fence_drac':			val_drac_fd,
+	'fence_drac5':			val_drac_fd,
 	'fence_rsa':			val_rsa_fd,
 	'fence_rsb':			val_rsa_fd, # same params as rsa
 	'fence_rps10':			val_rps10_fd,
@@ -1112,6 +1115,7 @@
 	'fence_ilo':			val_noop_fi,
 	'fence_ipmilan':		val_noop_fi,
 	'fence_drac':			val_noop_fi,
+	'fence_drac5':			val_noop_fi,
 	'fence_rsa':			val_noop_fi,
 	'fence_rsb':			val_noop_fi,
 	'fence_rps10':			val_noop_fi
--- conga/luci/site/luci/Extensions/HelperFunctions.py	2008/01/23 04:44:32	1.4.2.6
+++ conga/luci/site/luci/Extensions/HelperFunctions.py	2008/06/13 18:37:47	1.4.2.7
@@ -9,7 +9,7 @@
 import threading
 
 def resolveOSType(os_str):
-	if not os_str or os_str.find('Tikanga') != (-1) or os_str.find('FC6') != (-1) or os_str.find('Zod') != (-1) or os_str.find('Moonshine') != (-1) or os_str.find('Werewolf') != (-1):
+	if not os_str or os_str.find('Tikanga') != (-1) or os_str.find('Zod') != (-1) or os_str.find('Moonshine') != (-1) or os_str.find('Werewolf') != (-1) or os.str_find('Sulphur') != (-1):
 		return 'rhel5'
 	else:
 		return 'rhel4'
--- conga/luci/site/luci/Extensions/LuciClusterInfo.py	2008/04/23 17:27:10	1.1.4.10
+++ conga/luci/site/luci/Extensions/LuciClusterInfo.py	2008/06/13 18:37:47	1.1.4.11
@@ -588,7 +588,7 @@
 			clumap['os_major'] = 4
 			os_minor = int(cluster_os[cluster_os.find('Update ') + 7])
 			clumap['os_minor'] = os_minor
-			if os_minor > 6:
+			if os_minor > 7:
 				clumap['has_fence_ssh'] = True
 	except Exception, e:
 		if LUCI_DEBUG_MODE is True:
--- conga/luci/site/luci/Extensions/ClusterModel/TagObject.py	2008/01/23 04:44:34	1.1.4.2
+++ conga/luci/site/luci/Extensions/ClusterModel/TagObject.py	2008/06/13 18:37:47	1.1.4.3
@@ -53,10 +53,7 @@
     return self.attr_hash
 
   def getAttribute(self, kee):
-    try:
-      return self.attr_hash[kee]
-    except KeyError, e:
-      return None
+    return self.attr_hash.get(kee)
 
   def getChildren(self):
     return self.children
Binary files /cvs/cluster/conga/luci/site/luci/var/Data.fs	2008/04/23 17:27:10	1.15.2.33 and /cvs/cluster/conga/luci/site/luci/var/Data.fs	2008/06/13 18:37:47	1.15.2.34 differ
rcsdiff: /cvs/cluster/conga/luci/site/luci/var/Data.fs: diff failed
--- conga/ricci/modules/rpm/PackageHandler.cpp	2008/04/14 15:58:35	1.9.2.9
+++ conga/ricci/modules/rpm/PackageHandler.cpp	2008/06/13 18:38:40	1.9.2.10
@@ -684,6 +684,8 @@
 			FC6 = true;
 		else if (release.find("Werewolf") != release.npos)
 			FC6 = true;
+		else if (release.find("Sulphur") != release.npos)
+			FC6 = true;
 		else if (release.find("Tikanga") != release.npos)
 			RHEL5 = true;
 		else
--- conga/ricci/modules/service/ServiceManager.cpp	2008/04/14 15:58:35	1.5.2.7
+++ conga/ricci/modules/service/ServiceManager.cpp	2008/06/13 18:38:40	1.5.2.8
@@ -835,6 +835,8 @@
 			FC6 = true;
 		else if (release.find("Werewolf") != release.npos)
 			FC6 = true;
+		else if (release.find("Sulphur") != release.npos)
+			FC6 = true;
 		else if (release.find("Tikanga") != release.npos)
 			RHEL5 = true;
 		else {



             reply	other threads:[~2008-06-13 18:38 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-13 18:38 rmccabe [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-06-10 14:48 [Cluster-devel] conga ./conga.spec.in.in luci/cluster/busy_wai rmccabe
2008-01-25 17:19 rmccabe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080613183844.27930.qmail@sourceware.org \
    --to=rmccabe@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.