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/luci cluster/busy_wait-macro cluster/for ...
Date: 10 Jun 2008 14:50:55 -0000	[thread overview]
Message-ID: <20080610145055.24761.qmail@sourceware.org> (raw)

CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe at sourceware.org	2008-06-10 14:50:53

Modified files:
	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 LuciClusterInfo.py 

Log message:
	Luci fixes from the RHEL4 branch

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/busy_wait-macro.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.223&r2=1.224
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/index_html.diff?cvsroot=cluster&r1=1.42&r2=1.43
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/validate_create_gulm.js.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/plone-custom/conga.js.diff?cvsroot=cluster&r1=1.13&r2=1.14
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/plone-custom/update_hostinfo.js.diff?cvsroot=cluster&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/FenceHandler.py.diff?cvsroot=cluster&r1=1.32&r2=1.33
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/LuciClusterInfo.py.diff?cvsroot=cluster&r1=1.20&r2=1.21

--- conga/luci/cluster/busy_wait-macro	2008/01/25 00:36:59	1.3
+++ conga/luci/cluster/busy_wait-macro	2008/06/10 14:50:53	1.4
@@ -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:33:37	1.223
+++ conga/luci/cluster/form-macros	2008/06/10 14:50:53	1.224
@@ -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:47:56	1.42
+++ conga/luci/cluster/index_html	2008/06/10 14:50:53	1.43
@@ -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/02 20:52:22	1.3
+++ conga/luci/cluster/validate_create_gulm.js	2008/06/10 14:50:53	1.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/05 19:32:04	1.13
+++ conga/luci/plone-custom/conga.js	2008/06/10 14:50:53	1.14
@@ -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/22 15:02:33	1.1
+++ conga/luci/plone-custom/update_hostinfo.js	2008/06/10 14:50:53	1.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/06/06 16:41:52	1.32
+++ conga/luci/site/luci/Extensions/FenceHandler.py	2008/06/10 14:50:53	1.33
@@ -814,8 +814,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
 
--- conga/luci/site/luci/Extensions/LuciClusterInfo.py	2008/04/23 17:33:37	1.20
+++ conga/luci/site/luci/Extensions/LuciClusterInfo.py	2008/06/10 14:50:53	1.21
@@ -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:



             reply	other threads:[~2008-06-10 14:50 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-10 14:50 rmccabe [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-01-25  0:37 [Cluster-devel] conga/luci cluster/busy_wait-macro cluster/for 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=20080610145055.24761.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.