cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] conga/luci cluster/form-macros homebase/luci_h ...
@ 2006-08-15 22:27 rmccabe
  0 siblings, 0 replies; 8+ messages in thread
From: rmccabe @ 2006-08-15 22:27 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe at sourceware.org	2006-08-15 22:27:05

Modified files:
	luci/cluster   : form-macros 
	luci/homebase  : luci_homebase.css 

Log message:
	more cluster properties config stuff

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.43&r2=1.44
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/luci_homebase.css.diff?cvsroot=cluster&r1=1.13&r2=1.14

--- conga/luci/cluster/form-macros	2006/08/14 22:46:49	1.43
+++ conga/luci/cluster/form-macros	2006/08/15 22:27:05	1.44
@@ -314,7 +314,7 @@
 			<a tal:attributes="
 				href python: request['URL'] + '?pagetype=' + request['pagetype'] + '&clustername=' + request['clustername'] + '&tab=4';
 				class python: 'configTab' + (configTabNum == 4 and ' configTabActive' or '');
-			">Qurorum Partition</a>
+			">Quorum Partition</a>
 		</li>
 	</ul>
 
@@ -411,18 +411,32 @@
 			<tbody class="systemsTable">
 				<tr class="systemsTable">
 					<td class="systemsTable">
-						<input type="radio" name="mcast" value="False" checked="" tal:attributes="checked python:clusterinfo['is_mcast'] == 'False'"/><strong>Let cluster choose the multicast address</strong>
+						<input type="radio" name="mcast" value="False"
+							onchecked="javascript:document.getElementById('mcast_address').disabled=true;"
+							tal:attributes="checked python:clusterinfo['is_mcast'] != 'True'"
+						/>
+						Let cluster choose the multicast address
 					</td>
 				</tr>
+
 				<tr class="systemsTable">
 					<td class="systemsTable">
-						<input type="radio" name="mcast" value="True"/><strong>I prefer to choose the multicast address</strong>
+						<input type="radio" name="mcast" value="True"
+							onchecked="javascript:document.getElementById('mcast_address').disabled=false;"
+							tal:attributes="checked python:clusterinfo['is_mcast'] == 'True'"
+						
+						/>
+						Specify the multicast address manually
 					</td>
 				</tr>
 
 				<tr class="systemsTable">
 					<td class="systemsTable" colspan="2">
-						<input type="text" name="mcast_address" value="" tal:attributes="value clusterinfo/mcast_addr"/>
+						<input type="text" name="mcast_address" id="mcast_address"
+							tal:attributes="
+								disabled python: clusterinfo['is_mcast'] != 'True' and '1' or '0';
+								value clusterinfo/mcast_addr"
+						/>
 					</td>
 				</tr>
 			</tbody>
@@ -440,6 +454,7 @@
 
 	<div id="configTabContent" tal:condition="python: configTabNum == 4">
 		<form name="quorum_partition" action="" method="get" tal:attributes="action clusterinfo/quorumd_url">
+		<div class="configTabContent">
 		<table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
 			<thead class="systemsTable"> 
 				<tr class="systemsTable"><td class="systemsTable" colspan="1">
@@ -451,48 +466,82 @@
 
 			<tbody class="systemsTable">
 				<tr class="systemsTable"><td class="systemsTable">
-					<input type="radio" name="quorumd" value="False" checked="" tal:attributes="checked python:clusterinfo['is_quorumd'] == 'False'"/>
-					<strong>Do not use a Quorum Partition</strong>
+					<input type="radio" name="quorumd" value="False" checked="" tal:attributes="checked python:clusterinfo['is_quorumd'] != 'True'"/>
+					Do not use a Quorum Partition
 				</td></tr>
 
 				<tr class="systemsTable"><td class="systemsTable">
 					<input type="radio" name="quorumd" value="True"/>
-						<strong>I prefer to use a Quorum Partition</strong>
-				</td></tr>
-
-				<tr class="systemsTable"><td class="systemsTable" colspan="2">
-					Interval: <input type="text" name="interval" value="" tal:attributes="value clusterinfo/interval"/>
-				</td></tr>
-
-				<tr class="systemsTable"><td class="systemsTable" colspan="2">
-					Votes: <input type="text" name="votes" value="" tal:attributes="value clusterinfo/votes"/>
-				</td></tr>
-
-				<tr class="systemsTable"><td class="systemsTable" colspan="2">
-					TKO: <input type="text" name="tko" value="" tal:attributes="value clusterinfo/tko"/>
-				</td></tr>
-
-				<tr class="systemsTable"><td class="systemsTable" colspan="2">
-					Minimum Score: <input type="text" name="min_score" value="" tal:attributes="value clusterinfo/min_score"/>
+						Use a Quorum Partition
 				</td></tr>
+			</tbody>
+		</table>
+		</div>
 
-				<tr class="systemsTable"><td class="systemsTable" colspan="2">
-					Device: <input type="text" name="device" value="" tal:attributes="value clusterinfo/device"/>
-				</td></tr>
+		<div class="spacing configTabContent"></div>
 
-				<tr class="systemsTable"><td class="systemsTable" colspan="2">
-					Label: <input type="text" name="label" value="" tal:attributes="value clusterinfo/label"/>
-				</td></tr>
-			</tbody>
+		<div id="quorumdisk" class="configTabContent">
+		<div class="configTabContent">
+		<table name="qdiskprefs" class="systemsTable">
+			<tr class="systemsTable">
+				<td class="systemsTable">Interval</td>
+				<td class="systemsTable">
+					<input type="text" name="interval" value=""
+						tal:attributes="value clusterinfo/interval"/>
+				</td>
+			</tr>
+
+			<tr class="systemsTable">
+				<td class="systemsTable">Votes</td>
+				<td class="systemsTable">
+					<input type="text" name="votes" value=""
+						tal:attributes="value clusterinfo/votes"/>
+				</td>
+			</tr>
+
+			<tr class="systemsTable">
+				<td class="systemsTable">TKO</td>
+				<td class="systemsTable">
+					<input type="text" name="tko" value=""
+						tal:attributes="value clusterinfo/tko"/>
+				</td>
+			</tr>
+
+			<tr class="systemsTable">
+				<td class="systemsTable">Minimum Score</td>
+				<td class="systemsTable">
+					<input type="text" name="min_score" value=""
+						tal:attributes="value clusterinfo/min_score"/>
+				</td>
+			</tr>
+
+			<tr class="systemsTable">
+				<td class="systemsTable">Device</td>
+				<td class="systemsTable">
+					<input type="text" name="device" value=""
+						tal:attributes="value clusterinfo/device"/>
+				</td>
+			</tr>
+
+			<tr class="systemsTable">
+				<td class="systemsTable">Label</td>
+				<td class="systemsTable">
+					<input type="text" name="label" value=""
+						tal:attributes="value clusterinfo/label"/>
+				</td>
+			</tr>
 		</table>
+		</div>
 
-		<table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
+		<div class="configTabContent">
+		<table name="qdiskheur" class="systemsTable">
 			<thead class="systemsTable"> 
 				<tr class="systemsTable"><td class="systemsTable" colspan="1">
 					<div class="systemsTableTop">
 						<strong>Heuristics</strong>
 					</div>
 				</td></tr>
+
 				<tr class="systemsTable">
 					<th class="systemsTable">
 						<div class="systemsTableTop">Name</div>
@@ -511,31 +560,76 @@
 
 			<tbody class="systemsTable"
 				tal:define="global heuristics clusterinfo/hlist">
-	
-				<tr class="systemsTable" tal:repeat="heuristic heuristics">
+
+				<tal:block tal:condition="python: not len(heuristics)">
+				<input type="hidden" name="num_heuristics" id="num_heuristics" value="0">
+				<tr class="systemsTable">
 					<td class="systemsTable">
-						<input type="text" name="hname" value="" tal:attributes="value heuristic/hname"/>
+						<input class="qdname qdisk" type="text" name="heuristic0:hname" value="">
 					</td>
 					<td class="systemsTable">
-						<input type="text" name="hinterval" value="" tal:attributes="value heuristic/hinterval"/>
+						<input class="qdpath qdisk" type="text" name="heuristic0:hprog" value="">
 					</td>
-					<td class="systemsTable" colspan="2">
-						<input type="text" name="hprog" value="" tal:attributes="value heuristic/hprog"/>
+					<td class="systemsTable">
+						<input class="qdint qdisk" type="text" name="heuristic0:hinterval" value="">
 					</td>
 					<td class="systemsTable">
-						<input type="text" name="hscore" value="" tal:attributes="value heuristic/hscore"/>
+						<input class="qdscore qdisk" type="text" name="heuristic0:hscore" value="">
 					</td>
 				</tr>
-			</tbody>
+				</tal:block>
 
-			<tfoot class="systemsTable">
-				<tr class="systemsTable"><td class="systemsTable" colspan="2">
-					<div class="systemsTableEnd">
-						<input type="submit" value="Apply"/>
-					</div>
+				<tal:block
+					tal:condition="python: len(heuristics)"
+					tal:define="global curHeur python: -1">
+
+				<input type="hidden" name="num_heuristics" id="num_heuristics"
+					tal:attributes="value python: len(heuristics)" />
+
+				<tr class="systemsTable"
+					tal:repeat="heuristic heuristics"
+					tal:define="global curHeur python: curHeur + 1">
+
+					<td class="systemsTable">
+						<input class="qdname qdisk" type="text"
+							tal:attributes="
+								value heuristic/hname;
+								name python: 'heuristic' + str(curHeur) + ':hname';"/>
+					</td>
+					<td class="systemsTable">
+						<input class="qdpath qdisk" type="text"
+							tal:attributes="
+								value heuristic/hprog;
+								name python: 'heuristic' + str(curHeur) + ':hprog';"/>
+					</td>
+					<td class="systemsTable">
+						<input class="qdint qdisk" type="text"
+							tal:attributes="
+								value heuristic/hinterval;
+								name python: 'heuristic' + str(curHeur) + ':hinterval';"/>
+					</td>
+					<td class="systemsTable">
+						<input class="qdscore qdisk" type="text"
+							tal:attributes="
+								value heuristic/hscore;
+								name python: 'heuristic' + str(curHeur) + ':hscore';"/>
+					</td>
+				</tr>
+				</tal:block>
+			</tbody>
+			<tfoot>
+				<tr class="systemsTable"><td class="systemsTable">
+					<input class="addrow" type="button" value="Add another heuristic">
 				</td></tr>
 			</tfoot>
 		</table>
+		</div>
+		</div>
+
+		<div class="spacing configTabContent"></div>
+		<div class="hbSubmit spacing configTabContent">
+			<input class="hbSubmit" type="submit" value="Apply">
+		</div>
 		</form>
 	</div>
 </div>
--- conga/luci/homebase/luci_homebase.css	2006/08/15 18:54:11	1.13
+++ conga/luci/homebase/luci_homebase.css	2006/08/15 22:27:05	1.14
@@ -1,16 +1,40 @@
 ul.configTab {
-        color: #436976 !important;
-        margin: 20px 0px 0px 0px !important;
-        padding: 0px !important;
-        padding-left: 15px !important;
+	color: #436976 !important;
+	margin: 20px 0px 0px 0px !important;
+	padding: 0px !important;
+	padding-left: 15px !important;
 	border-bottom: none !important;
-        z-index: 1 !important;
+	z-index: 1 !important;
+}
+
+input.qdisk {
+	font-size: 10px;
+}
+
+input.qdname {
+	width: 15em;
+}
+
+input.qdint {
+	width: 5em;
+}
+
+input.qdpath {
+	width: 20em;
+}
+
+input.qdscore {
+	width: 5em;
+}
+
+div.spacing {
+	margin-top: 16px;
 }
 
 li.configTab {
-        display: inline !important;
-        overflow: hidden !important;
-        list-style-type: none !important;
+	display: inline !important;
+	overflow: hidden !important;
+	list-style-type: none !important;
 	padding-left: 6px !important;
 	padding-bottom: 0px !important;
 	margin-bottom: 0px !important;
@@ -20,21 +44,20 @@
 #configTabContent {
 	background: #dee7ec !important;
 	margin-top: 0px !important;
-        padding: 20px !important;
-        border: 1px solid #8cacbb !important;
+	padding: 20px !important;
+	border: 1px solid #8cacbb !important;
 	z-index: 2 !important;
-	max-width: 75%;
+	max-width: 600px;
 }
 
 a.configTab, a.configTabActive {
-        color: #436976 !important;
-        background: #ffffff !important;
-        font: bold 1em !important;
-        border: 1px solid #8cacbb !important;
+	color: #436976 !important;
+	background: #ffffff !important;
+	border: 1px solid #8cacbb !important;
 	border-bottom: 1px solid transparent !important;
-        padding: 2px 6px 0px 6px !important;
-        margin: 0 !important;
-        text-decoration: none !important;
+	padding: 2px 6px 0px 6px !important;
+	margin: 0 !important;
+	text-decoration: none !important;
 }
 
 a.configTabActive {
@@ -44,7 +67,7 @@
 
 a.configTab:hover {
 	color: #436976 !important;
-        background: #dee7ec !important;
+	background: #dee7ec !important;
 }
 
 *.errmsgs,*.retmsgs {



^ permalink raw reply	[flat|nested] 8+ messages in thread
* [Cluster-devel] conga/luci cluster/form-macros homebase/luci_h ...
@ 2007-02-07 17:18 rmccabe
  0 siblings, 0 replies; 8+ messages in thread
From: rmccabe @ 2007-02-07 17:18 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe at sourceware.org	2007-02-07 17:18:43

Modified files:
	luci/cluster   : form-macros 
	luci/homebase  : luci_homebase.css 

Log message:
	clarify virtual service config params

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.178&r2=1.179
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/luci_homebase.css.diff?cvsroot=cluster&r1=1.37&r2=1.38

--- conga/luci/cluster/form-macros	2007/02/07 16:55:15	1.178
+++ conga/luci/cluster/form-macros	2007/02/07 17:18:42	1.179
@@ -3827,11 +3827,11 @@
 		</tfoot>
 		<tbody class="systemsTable">
 			<tr class="systemsTable">
-				<td>Virtual machine name</td>
+				<td><span class="cluster_help" title="e.g., guest1 if the VM config file is@/etc/xen/guest1">Virtual machine name</span></td>
 				<td><input type="text" name="vmname" value="" /></td>
 			</tr>
 			<tr class="systemsTable">
-				<td>Path to VM configuration file</td>
+				<td><span class="cluster_help" title="e.g., /etc/xen/">Path to VM configuration files</span></td>
 				<td><input type="text" name="vmpath" value="" /></td>
 			</tr>
 		</tbody>
@@ -3869,14 +3869,14 @@
 		</tfoot>
 		<tbody class="systemsTable">
 			<tr class="systemsTable">
-				<td>Virtual machine name</td>
+				<td><span class="cluster_help" title="e.g., guest1 if the VM config file is@/etc/xen/guest1">Virtual machine name</span></td>
 				<td>
 					<input type="text" name="vmname"
 						tal:attributes="value vminfo/name | nothing" />
 				</td>
 			</tr>
 			<tr class="systemsTable">
-				<td>Path to VM configuration file</td>
+				<td><span class="cluster_help" title="e.g., /etc/xen/">Path to VM configuration files</span></td>
 				<td>
 					<input type="text" name="vmpath"
 						tal:attributes="value vminfo/path | nothing" />
--- conga/luci/homebase/luci_homebase.css	2007/02/02 01:12:21	1.37
+++ conga/luci/homebase/luci_homebase.css	2007/02/07 17:18:43	1.38
@@ -414,6 +414,10 @@
 	text-decoration: none ! important;
 }
 
+*.cluster_help:hover {
+	cursor: help;
+}
+
 a.cluster_help:hover {
 	text-decoration: none ! important;
 	cursor: help;



^ permalink raw reply	[flat|nested] 8+ messages in thread
* [Cluster-devel] conga/luci cluster/form-macros homebase/luci_h ...
@ 2007-02-02  1:12 rmccabe
  0 siblings, 0 replies; 8+ messages in thread
From: rmccabe @ 2007-02-02  1:12 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe at sourceware.org	2007-02-02 01:12:21

Modified files:
	luci/cluster   : form-macros 
	luci/homebase  : luci_homebase.css 

Log message:
	Make the input fields for GULM lock server hosts longer

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.174&r2=1.175
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/luci_homebase.css.diff?cvsroot=cluster&r1=1.36&r2=1.37

--- conga/luci/cluster/form-macros	2007/02/02 01:03:46	1.174
+++ conga/luci/cluster/form-macros	2007/02/02 01:12:21	1.175
@@ -321,6 +321,7 @@
 										<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" />
@@ -331,6 +332,7 @@
 										<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" />
@@ -341,6 +343,7 @@
 										<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" />
@@ -351,6 +354,7 @@
 										<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" />
@@ -361,6 +365,7 @@
 										<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" />
@@ -1315,31 +1320,36 @@
 				<tr>
 					<td class="pad_right">External Lock Server 1</td>
 					<td>
-						<input type="text" name="__GULM__:server1" value="" />
+						<input type="text" name="__GULM__:server1"
+							class="hostname" value="" />
 					</td>
 				</tr>
 				<tr>
 					<td class="pad_right">External Lock Server 2</td>
 					<td>
-						<input type="text" name="__GULM__:server2" value="" />
+						<input type="text" name="__GULM__:server2"
+							class="hostname" value="" />
 					</td>
 				</tr>
 				<tr>
 					<td class="pad_right">External Lock Server 3</td>
 					<td>
-						<input type="text" name="__GULM__:server3" value="" />
+						<input type="text" name="__GULM__:server3"
+							class="hostname" value="" />
 					</td>
 				</tr>
 				<tr>
 					<td class="pad_right">External Lock Server 4</td>
 					<td>
-						<input type="text" name="__GULM__:server4" value="" />
+						<input type="text" name="__GULM__:server4"
+							class="hostname" value="" />
 					</td>
 				</tr>
 				<tr>
 					<td class="pad_right">External Lock Server 5</td>
 					<td>
-						<input type="text" name="__GULM__:server5" value="" />
+						<input type="text" name="__GULM__:server5"
+							class="hostname" value="" />
 					</td>
 				</tr>
 			</tbody>
--- conga/luci/homebase/luci_homebase.css	2007/01/30 22:26:00	1.36
+++ conga/luci/homebase/luci_homebase.css	2007/02/02 01:12:21	1.37
@@ -289,7 +289,7 @@
 	display: none;
 }
 
-input.hbInputSys {
+input.hbInputSys, input.hostname {
 	padding: .2em ! important;
 	width: 200px;
 }



^ permalink raw reply	[flat|nested] 8+ messages in thread
* [Cluster-devel] conga/luci cluster/form-macros homebase/luci_h ...
@ 2007-01-30 22:26 rmccabe
  0 siblings, 0 replies; 8+ messages in thread
From: rmccabe @ 2007-01-30 22:26 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe at sourceware.org	2007-01-30 22:26:00

Modified files:
	luci/cluster   : form-macros 
	luci/homebase  : luci_homebase.css 
Added files:
	luci/cluster   : validate_create_gulm.js 

Log message:
	GULM cluster deployment frontend

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/validate_create_gulm.js.diff?cvsroot=cluster&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.166&r2=1.167
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/luci_homebase.css.diff?cvsroot=cluster&r1=1.35&r2=1.36

/cvs/cluster/conga/luci/cluster/validate_create_gulm.js,v  -->  standard output
revision 1.1
--- conga/luci/cluster/validate_create_gulm.js
+++ -	2007-01-30 22:26:01.117762000 +0000
@@ -0,0 +1,65 @@
+var lockservers = new Array();
+
+function toggle_gulm(form, lock_type) {
+	var gulm_div = document.getElementById('gulm_lockservers');
+	if (!gulm_div)
+		return (-1);
+
+	var ielem = gulm_div.getElementsByTagName('input');
+
+	if (lock_type != 'gulm') {
+		lockservers = new Array();
+		for (var i = 0 ; i < ielem.length ; i++) {
+			lockservers[i] = ielem[i].value;
+			ielem[i].value = null;
+			ielem[i].disabled = 'disabled';
+		}
+		gulm_div.className = 'invisible';
+	} else {
+		for (var i = 0 ; i < ielem.length ; i++)
+			ielem[i].disabled = null;
+		for (var i = 0 ; i < lockservers.length ; i++)
+			ielem[i].value = lockservers[i];
+		gulm_div.className = null;
+		lockservers = new Array();
+	}
+}
+
+function check_gulm_lkserv() {
+	var errors = new Array();
+	var gulm_div = document.getElementById('gulm_lockservers');
+	if (!gulm_div) {
+		errors.push('Exactly 1, 3, or 5 GULM lock servers must be given.');
+		return (errors);
+	}
+
+	var lcount = 0;
+	var ielem = gulm_div.getElementsByTagName('input');
+	if (!ielem) {
+		errors.push('Exactly 1, 3, or 5 GULM lock servers must be given.');
+		return (errors);
+	}
+
+	for (var i = 0 ; i < ielem.length ; i++) {
+		if (ielem[i]) {
+			if (str_is_blank(ielem[i].value))
+				ielem[i].value = null;
+			else
+				lcount++;
+		}
+	}
+
+	if (lcount != 1 && lcount != 3 && lcount != 5)
+		errors.push('Exactly 1, 3, or 5 GULM lock servers must be given.');
+
+	return (errors);
+}
+
+function validate_cluster_create(form) {
+	if (form.lockmanager && !form.lockmanager[0].checked) {
+		var errors = check_gulm_lkserv();
+		if (error_dialog(errors))
+			return (-1);
+	}
+	return validateForm(form);
+}
--- conga/luci/cluster/form-macros	2007/01/30 21:39:32	1.166
+++ conga/luci/cluster/form-macros	2007/01/30 22:26:00	1.167
@@ -202,6 +202,8 @@
 	<script type="text/javascript"
 		src="/luci/homebase/validate_cluster_add.js">
 	</script>
+	<script type="text/javascript"
+		src="validate_create_gulm.js">
 	<script type="text/javascript">
 		set_page_title('Luci ??? cluster ??? Deploy a cluster');
 	</script>
@@ -209,7 +211,7 @@
 	<tal:block tal:omit-tag=""
 		tal:define="global sessionObj python: request.SESSION.get('checkRet')" />
 
-	<h1>Add a cluster</h1>
+	<h1>Create a new cluster</h1>
 
 	<form name="create_cluster" action="" method="post"
 		tal:define="
@@ -243,18 +245,24 @@
 			</thead>
 
 			<tfoot class="systemsTable">
+				<tr class="systemsTable"><td class="systemsTable" colspan="2">
+					<div class="systemsTableEnd">
+						<input type="button" value="Add a cluster node"
+							onClick="addSystem(this.form)" />
+					</div>
+				</td></tr>
 				<tr class="systemsTable"><td colspan="2" class="systemsTable">
 					<input type="hidden" name="trust_shown" value="1"
 						tal:condition="add_cluster" />
 					<ul class="vanilla deploy">
 						<li class="vanilla">
-							<input type="radio" name="download_pkgs"
-								value="1" checked="checked" />
+							<input type="radio" name="download_pkgs" value="1"
+								tal:attributes="checked python: (not add_cluster or not 'download_pkgs' in add_cluster or add_cluster['download_pkgs'] != 0) and 'checked' or ''" />
 							Download packages
 						</li>
 						<li class="vanilla">
-							<input type="radio" name="download_pkgs"
-								value="0" />
+							<input type="radio" name="download_pkgs" value="0"
+								tal:attributes="checked python: (add_cluster and 'download_pkgs' in add_cluster and add_cluster['download_pkgs'] == 0) and 'checked' or ''" />
 							Use locally installed packages.
 						</li>
 					</ul>
@@ -281,12 +289,88 @@
 						</li>
 					</ul>
 				</td></tr>
-				<tr class="systemsTable"><td class="systemsTable" colspan="2">
-					<div class="systemsTableEnd">
-						<input type="button" value="Add another entry"
-							onClick="addSystem(this.form)" />
-					</div>
-				</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" class="invisible">
+								<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"
+												tal:attributes="
+													disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+													value gulm_lockservers/server1 | nothing" />
+										</td>
+									</tr>
+									<tr>
+										<td class="pad_right">Lock Server 2</td>
+										<td>
+											<input type="text"
+												name="__GULM__:server2"
+												tal:attributes="
+													disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+													value gulm_lockservers/server2 | nothing" />
+										</td>
+									</tr>
+									<tr>
+										<td class="pad_right">Lock Server 3</td>
+										<td>
+											<input type="text"
+												name="__GULM__:server3"
+												tal:attributes="
+													disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+													value gulm_lockservers/server3 | nothing" />
+										</td>
+									</tr>
+									<tr>
+										<td class="pad_right">Lock Server 4</td>
+										<td>
+											<input type="text"
+												name="__GULM__:server4"
+												tal:attributes="
+													disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+													value gulm_lockservers/server4 | nothing" />
+										</td>
+									</tr>
+									<tr>
+										<td class="pad_right">Lock Server 5</td>
+										<td>
+											<input type="text"
+												name="__GULM__:server5"
+												tal:attributes="
+													disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+													value gulm_lockservers/server5 | nothing" />
+										</td>
+									</tr>
+								</table>
+								</fieldset>
+							</div>
+						<ul>
+					</td>
+				</tr>
 			</tfoot>
 
 			<tal:block tal:define="global cur_sysnum python:0" />
@@ -424,7 +508,7 @@
 
 		<div class="hbSubmit" id="hbSubmit">
 			<input type="button" name="Submit" value="Submit"
-				onClick="validateForm(this.form)" />
+				onClick="validate_cluster_create(this.form)" />
 		</div>
 	</form>
 
@@ -3386,13 +3470,13 @@
 						<li class="vanilla">
 							<input type="radio" name="download_pkgs" value="1"
 								tal:attributes="
-									checked add_system/download_pkgs | string:checked" />
+									checked add_cluster/download_pkgs | string:checked" />
 							Download packages
 						</li>
 						<li class="vanilla">
 							<input type="radio" name="download_pkgs" value="0"
 								tal:attributes="
-									checked not: add_system/download_pkgs | nothing" />
+									checked not: add_cluster/download_pkgs | nothing" />
 							
 							Use locally installed packages.
 						</li>
@@ -3401,7 +3485,7 @@
 				<tr class="systemsTable"><td colspan="2" class="systemsTable">
 					<input type="checkbox" name="enable_storage"
 						tal:attributes="
-							checked add_system/shared_storage | nothing" />
+							checked add_cluster/shared_storage | nothing" />
 					Enable Shared Storage Support
 				</td></tr>
 				<tr class="systemsTable"><td colspan="2" class="systemsTable">
@@ -3650,7 +3734,7 @@
 </div>
 
 <div metal:define-macro="xenvmadd-form">
-  <span tal:define="global vmforminfo python: here.getXenVMInfo(modelb, request)/>
+  <span tal:define="global vmforminfo python: here.getXenVMInfo(modelb, request)"/>
   <form method="get" action="" tal:attributes="action vmforminfo/formurl">
   <h4>Name for this VM: </h4><input type="text" name="xenvmname" value=""/>
   <h4>Path to configuration file: </h4><input type="text" name="xenvmpath" value=""/>
--- conga/luci/homebase/luci_homebase.css	2007/01/24 20:21:32	1.35
+++ conga/luci/homebase/luci_homebase.css	2007/01/30 22:26:00	1.36
@@ -18,6 +18,10 @@
 	margin-left: +.3333em;
 }
 
+td.pad_right {
+	padding-right: +.6666em;
+}
+
 form.form_border {
 	border-bottom: 1px solid #8cacbb;
 }
@@ -493,7 +497,7 @@
 	max-width: 700px;
 }
 
-div.rescfg {
+*.rescfg {
 	background: #dee7ec;
 }
 



^ permalink raw reply	[flat|nested] 8+ messages in thread
* [Cluster-devel] conga/luci cluster/form-macros homebase/luci_h ...
@ 2006-10-16 19:13 rmccabe
  0 siblings, 0 replies; 8+ messages in thread
From: rmccabe @ 2006-10-16 19:13 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe at sourceware.org	2006-10-16 19:13:45

Modified files:
	luci/cluster   : form-macros 
	luci/homebase  : luci_homebase.css 

Log message:
	fence device frontend ui stuff

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.87&r2=1.88
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/luci_homebase.css.diff?cvsroot=cluster&r1=1.27&r2=1.28

--- conga/luci/cluster/form-macros	2006/10/16 18:58:22	1.87
+++ conga/luci/cluster/form-macros	2006/10/16 19:13:44	1.88
@@ -2369,7 +2369,11 @@
 
 <div metal:define-macro="fencedev-form">
 	<h2>Fence Device Form</h2>
-	<tal:block tal:define="global cur_fence_type python: 'fence_apc'"/>
+
+	<div class="cluster fencedev" tal:define="
+		global cur_fence_type python: 'fence_apc';
+		global cur_fencename request/fencename | nothing;
+		global cur_cluster request/clustername | nothing" >
 	
 	<tal:block tal:condition="python: cur_fence_type == 'fence_apc'">
 		<tal:block metal:use-macro="here/form-macros/macros/fence-form-apc" />
@@ -2434,6 +2438,11 @@
 	<tal:block tal:condition="python: cur_fence_type == 'fence_manual'">
 		<tal:block metal:use-macro="here/form-macros/macros/fence-form-manual" />
 	</tal:block>
+
+	<div class="fencedev">
+		<input class="hbInput" type="button" value="Submit" name="Submit" />
+	</div>
+	</div>
 </div>
 
 <div metal:define-macro="fencedevprocess-form">
--- conga/luci/homebase/luci_homebase.css	2006/10/11 16:40:16	1.27
+++ conga/luci/homebase/luci_homebase.css	2006/10/16 19:13:45	1.28
@@ -14,6 +14,11 @@
 	background: #dee7ec;
 }
 
+div.fencedev {
+	max-width: 700px;
+	padding: .5em;
+}
+
 *.fencedev {
 	background: #dee7ec;
 }



^ permalink raw reply	[flat|nested] 8+ messages in thread
* [Cluster-devel] conga/luci cluster/form-macros homebase/luci_h ...
@ 2006-10-11 16:40 rmccabe
  0 siblings, 0 replies; 8+ messages in thread
From: rmccabe @ 2006-10-11 16:40 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe at sourceware.org	2006-10-11 16:40:16

Modified files:
	luci/cluster   : form-macros 
	luci/homebase  : luci_homebase.css 

Log message:
	commit frontend stuff i thought i had committed already..

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.80&r2=1.81
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/luci_homebase.css.diff?cvsroot=cluster&r1=1.26&r2=1.27

--- conga/luci/cluster/form-macros	2006/10/11 16:25:28	1.80
+++ conga/luci/cluster/form-macros	2006/10/11 16:40:16	1.81
@@ -198,6 +198,15 @@
 
 			<tfoot class="systemsTable">
 				<tr class="systemsTable"><td colspan="2" class="systemsTable">
+					<ul class="vanilla deploy">
+						<li class="vanilla"><input type="radio" name="rhn_dl" value="1" checked="checked" />Download packages from RHN</li>
+						<li class="vanilla"><input type="radio" name="rhn_dl" value="0" />Use locally installed packages.</li>
+					</ul>
+				</td></tr>
+				<tr class="systemsTable"><td colspan="2" class="systemsTable">
+					<input type="checkbox" value="1" name="enable_storage" />Enable Shared Storage Support
+				</td></tr>
+				<tr class="systemsTable"><td colspan="2" class="systemsTable">
 					<div>
 						<input type="checkbox" name="allSameCheckBox" id="allSameCheckBox" onClick="allPasswdsSame(adminform);"/> Check if cluster node passwords are identical.
 					</div>
@@ -271,7 +280,16 @@
 			</thead>
 
 			<tfoot class="systemsTable">
-				<tr class="systemsTable"><td colspan="2" class="systemsTable">
+				<tr class="systemsTable"><td class="systemsTable" colspan="2">
+					<ul class="vanilla deploy">
+						<li class="vanilla"><input type="radio" name="rhn_dl" value="1" checked="checked" />Download packages from RHN</li>
+						<li class="vanilla"><input type="radio" name="rhn_dl" value="0" />Use locally installed packages.</li>
+					</ul>
+				</td></tr>
+				<tr class="systemsTable"><td class="systemsTable" colspan="2">
+					<input type="checkbox" value="1" name="enable_storage" />Enable Shared Storage Support
+				</td></tr>
+				<tr class="systemsTable"><td class="systemsTable" colspan="2">
 					<div>
 						<input type="checkbox" name="allSameCheckBox" id="allSameCheckBox" onClick="allPasswdsSame(adminform);"/> Check if cluster node passwords are identical.
 					</div>
@@ -1279,6 +1297,15 @@
 
 			<tfoot class="systemsTable">
 				<tr class="systemsTable"><td colspan="2" class="systemsTable">
+					<ul class="vanilla deploy">
+						<li class="vanilla"><input type="radio" name="rhn_dl" value="1" checked="checked" />Download packages from RHN</li>
+						<li class="vanilla"><input type="radio" name="rhn_dl" value="0" />Use locally installed packages.</li>
+					</ul>
+				</td></tr>
+				<tr class="systemsTable"><td colspan="2" class="systemsTable">
+					<input type="checkbox" value="1" name="enable_storage" />Enable Shared Storage Support
+				</td></tr>
+				<tr class="systemsTable"><td colspan="2" class="systemsTable">
 					<div id="allSameDiv">
 						<input type="checkbox" class="allSameCheckBox"
 							name="allSameCheckBox" id="allSameCheckBox" onClick="allPasswdsSame(adminform);"/>
--- conga/luci/homebase/luci_homebase.css	2006/09/27 22:49:09	1.26
+++ conga/luci/homebase/luci_homebase.css	2006/10/11 16:40:16	1.27
@@ -70,14 +70,24 @@
 	margin-top: 16px;
 }
 
+ul.vanilla, li.vanilla {
+	list-style-type: none ! important;
+	list-style-image: none !important;
+	margin-left: 0 ! important;
+}
+
+ul.deploy {
+	margin-bottom: +.5em;
+}
+
 li.configTab {
-	display: inline !important;
-	overflow: hidden !important;
-	list-style-type: none !important;
-	padding-left: 6px !important;
-	padding-bottom: 0px !important;
-	margin-bottom: 0px !important;
-	border-bottom: none !important;
+	display: inline ! important;
+	overflow: hidden ! important;
+	list-style-type: none ! important;
+	padding-left: 6px ! important;
+	padding-bottom: 0px ! important;
+	margin-bottom: 0px ! important;
+	border-bottom: none ! important;
 }
 
 #configTabContent {



^ permalink raw reply	[flat|nested] 8+ messages in thread
* [Cluster-devel] conga/luci cluster/form-macros homebase/luci_h ...
@ 2006-09-26 20:57 rmccabe
  0 siblings, 0 replies; 8+ messages in thread
From: rmccabe @ 2006-09-26 20:57 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe at sourceware.org	2006-09-26 20:57:10

Modified files:
	luci/cluster   : form-macros 
	luci/homebase  : luci_homebase.css 

Log message:
	more fence device bits

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.71&r2=1.72
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/luci_homebase.css.diff?cvsroot=cluster&r1=1.24&r2=1.25

--- conga/luci/cluster/form-macros	2006/09/26 19:47:32	1.71
+++ conga/luci/cluster/form-macros	2006/09/26 20:57:09	1.72
@@ -698,61 +698,147 @@
 </div>
 
 <div metal:define-macro="fence-form-list">
-	<div id="fence_apc">
+	<div id="fence_apc" class="fencedev">
 		<table>
-           <tr><td>Name: </td><td><input name="name"></td></tr>
-           <tr><td>IP Address: </td><td><input name="ip_addr"></td></tr>
-           <tr><td>Login: </td><td><input name="login"></td></tr>
-           <tr><td>Password: </td><td><input name="password"></td></tr>
-           <input type="submit"/>
-           </table> 
-	</div>
-	<div id="fence_wti">
-           <table>
-           <tr><td>Name: </td><td><input name="name"></td></tr>
-           <tr><td>IP Address: </td><td><input name="ip_addr"></td></tr>
-           <tr><td>Password: </td><td><input name="password"></td></tr>
-           <input type="submit"/>
-           </table> 
-	</div>
-	<div id="fence_ilo">
-           <table>
-           <tr><td>Name: </td><td><input name="name"></td></tr>
-           <tr><td>Login: </td><td><input name="login"></td></tr>
-           <tr><td>Password: </td><td><input name="password"></td></tr>
-           <tr><td>Hostname: </td><td><input name="hostname"></td></tr>
-           <input type="submit"/>
-           </table> 
-	</div>
-	<div id="fence_drac">
-           <table>
-           <tr><td>Name: </td><td><input name="name"></td></tr>
-           <tr><td>IP Address: </td><td><input name="ip_addr"></td></tr>
-           <tr><td>Login: </td><td><input name="login"></td></tr>
-           <tr><td>Password: </td><td><input name="password"></td></tr>
-           <input type="submit"/>
-           </table> 
-	</div>
-	<div id="fence_rsa">
-           <table>
-           <tr><td>Name: </td><td><input name="name"></td></tr>
-           <tr><td>Login: </td><td><input name="login"></td></tr>
-           <tr><td>Password: </td><td><input name="password"></td></tr>
-           <tr><td>Hostname: </td><td><input name="hostname"></td></tr>
-           <input type="submit"/>
-           </table> 
-	</div>
-	<div id="fence_ipmilan">
-           <form name="fence_ipmilan">
-           <table>
-           <tr><td>Name: </td><td><input name="name"></td></tr>
-           <tr><td>IP Address: </td><td><input name="ip_addr"></td></tr>
-           <tr><td>Login: </td><td><input name="login"></td></tr>
-           <tr><td>Password: </td><td><input name="password"></td></tr>
-           <tr><td>Auth Type: </td><td><input name="auth_type"></td></tr>
-           <input type="submit"/>
-           </table> 
-           </form>
+			<tr>
+				<td>Name</td>
+				<td><input name="name" type="text"></td>
+			</tr>
+			<tr>
+				<td>IP Address</td>
+				<td><input name="ip_addr" type="text"></td>
+			</tr>
+			<tr>
+				<td>Login</td>
+				<td><input name="login" type="text"></td>
+			</tr>
+			<tr>
+				<td>Password</td>
+				<td>
+					<input name="password" autocomplete="off" type="password">
+				</td>
+			</tr>
+		</table>
+		<input type="hidden" name="fence_type" value="apc" />
+	</div>
+
+	<div id="fence_wti" class="fencedev">
+		<table>
+			<tr>
+				<td>Name</td>
+				<td><input name="name" type="text"></td>
+			</tr>
+			<tr>
+				<td>IP Address</td>
+				<td><input name="ip_addr" type="text"></td>
+			</tr>
+			<tr>
+				<td>Password</td>
+				<td>
+					<input name="password" type="password" autocomplete="off">
+				</td>
+			</tr>
+		</table> 
+		<input type="hidden" name="fence_type" value="wti" />
+	</div>
+
+	<div id="fence_ilo" class="fencedev">
+		<table>
+			<tr>
+				<td>Name</td>
+				<td><input name="name" type="text"></td>
+			</tr>
+			<tr>
+				<td>Hostname</td>
+				<td><input name="hostname" type="text"></td>
+			</tr>
+			<tr>
+				<td>Login</td>
+				<td><input name="login" type="text"></td>
+			</tr>
+			<tr>
+				<td>Password</td>
+				<td>
+					<input name="password" type="password" autocomplete="off">
+				</td>
+			</tr>
+		</table> 
+		<input type="hidden" name="fence_type" value="ilo" />
+	</div>
+
+	<div id="fence_drac" class="fencedev">
+		<table>
+			<tr>
+				<td>Name</td>
+				<td><input name="name" type="text"></td>
+			</tr>
+			<tr>
+				<td>IP Address</td>
+				<td><input name="ip_addr" type="text"></td>
+			</tr>
+			<tr>
+				<td>Login</td>
+				<td><input name="login" type="text"></td>
+			</tr>
+			<tr>
+				<td>Password</td>
+				<td>
+					<input name="password" type="password" autocomplete="off">
+				</td>
+		</table> 
+		<input type="hidden" name="fence_type" value="drac" />
+	</div>
+
+	<div id="fence_rsa" class="fencedev">
+		<table>
+			<tr>
+				<td>Name</td>
+				<td><input name="name" type="text"></td>
+			</tr>
+			<tr>
+				<td>Hostname</td>
+				<td><input name="hostname" type="text"></td>
+			</tr>
+			<tr>
+				<td>Login</td>
+				<td><input name="login" type="text"></td>
+			</tr>
+			<tr>
+				<td>Password</td>
+				<td>
+					<input name="password" type="password" autocomplete="off">
+				</td>
+			</tr>
+		</table> 
+		<input type="hidden" name="fence_type" value="rsa" />
+	</div>
+
+	<div id="fence_ipmilan" class="fencedev">
+		<table>
+			<tr>
+				<td>Name</td>
+				<td><input name="name" type="text"></td>
+			</tr>
+			<tr>
+				<td>IP Address</td>
+				<td><input name="ip_addr" type="text"></td>
+			</tr>
+			<tr>
+				<td>Login</td>
+				<td><input name="login" type="text"></td>
+			</tr>
+			<tr>
+				<td>Password</td>
+				<td>
+					<input name="password" type="password" autocomplete="off">
+				</td>
+			</tr>
+			<tr>
+				<td>Auth Type</td>
+				<td><input name="auth_type" type="text"></td>
+			</tr>
+		</table> 
+		<input type="hidden" name="fence_type" value="ipmilan" />
 	</div>
 </div>
 
@@ -896,10 +982,28 @@
 	</div>
 
 	<h3>Fencing</h3>
-	<table class="cluster node" width="100%">
-		<tr class="cluster node info_top">
-			<td class="cluster node fence_main">
-				<strong class="cluster node">Main Fencing Method</strong>
+	<table id="fence_devices" class="cluster node fencedev">
+		<tfoot class="fencedev">
+		<tr class="cluster node fencedev"><td class="cluster node fencedev">
+			<input type="button" value="Update fence properties"
+				onClick="validate_fence_properties('fence_devices')" />
+		</td></tr>
+		</tfoot>
+		<tbody class="fencedev">
+		<tr class="cluster node info_top fencedev">
+			<td class="cluster node fencedev">
+				<span class="fencedev">
+					<strong class="cluster node">Main Fencing Method</strong>
+				</span>
+			</td>
+			<td class="cluster node fence_backup">
+				<span class="fencedev">
+					<strong class="cluster node">Backup Fencing Method</strong>
+				</span>
+			</td>
+		</tr>
+		<tr class="cluster node info_top fencedev">
+			<td class="cluster node fence_main fencedev">
 				<form name="main_fence_form">
 				<select name="select_div"
 					onChange="swap_fence_div('fence_container',
@@ -910,9 +1014,7 @@
 				<div id="fence_container">
 				</div>
 			</td>
-
-			<td class="cluster node fence_backup">
-				<strong class="cluster node">Backup Fencing Method</strong>
+			<td class="cluster node fence_main fencedev">
 				<form name="backup_fence_form">
 				<select name="select_div"
 					onChange="swap_fence_div('fence_container_backup',
@@ -924,7 +1026,14 @@
 				</div>
 			</td>
 		</tr>
+		</tbody>
 	</table>
+	<script type="text/javascript">
+		swap_fence_div('fence_container',
+			document.main_fence_form.select_div.options[document.main_fence_form.select_div.selectedIndex].value);
+		swap_fence_div('fence_container_backup',
+			document.backup_fence_form.select_div.options[document.backup_fence_form.select_div.selectedIndex].value);
+	</script>
 </div>
 
 <div metal:define-macro="nodes-form">
--- conga/luci/homebase/luci_homebase.css	2006/09/25 17:36:02	1.24
+++ conga/luci/homebase/luci_homebase.css	2006/09/26 20:57:10	1.25
@@ -14,6 +14,25 @@
 	background: #dee7ec;
 }
 
+*.fencedev {
+	background: #dee7ec;
+}
+
+table.fencedev {
+	padding: .618em;
+	width: 700px;
+}
+
+div.fencedev,
+td.fencedev {
+	padding-top: .309em;
+	padding-bottom: .309em;
+}
+
+td.fencedev {
+	width: 50%;
+}
+
 ul.configTab {
 	color: #436976 !important;
 	margin: 20px 0px 0px 0px !important;
@@ -67,7 +86,7 @@
 	padding: 20px !important;
 	border: 1px solid #8cacbb !important;
 	z-index: 2 !important;
-	max-width: 600px;
+	max-width: 700px;
 }
 
 a.configTab, a.configTabActive {
@@ -129,7 +148,7 @@
 	border-width: 2px;
 	border-color: red;
 	margin-top: 2em;
-	max-width: 600px;
+	max-width: 700px;
 }
 
 div.retmsgs {
@@ -138,7 +157,7 @@
 	border-style: dotted;
 	border-width: 2px;
 	border-color: green;
-	max-width: 600px;
+	max-width: 700px;
 }
 
 div.hbCSystems {
@@ -405,7 +424,7 @@
 
 div.service_comp {
 	background: #dee7ec;
-	padding: .66em;
+	padding: .618em;
 	margin-top: .5em;
 	border-left: thin solid #c9c9c9;
 	border-bottom: thin solid #c9c9c9;



^ permalink raw reply	[flat|nested] 8+ messages in thread
* [Cluster-devel] conga/luci cluster/form-macros homebase/luci_h ...
@ 2006-08-14 22:46 rmccabe
  0 siblings, 0 replies; 8+ messages in thread
From: rmccabe @ 2006-08-14 22:46 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe at sourceware.org	2006-08-14 22:46:49

Modified files:
	luci/cluster   : form-macros 
	luci/homebase  : luci_homebase.css 

Log message:
	tabs for cluster configure.. still need to work on the style of each configuration option

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.42&r2=1.43
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/luci_homebase.css.diff?cvsroot=cluster&r1=1.11&r2=1.12

--- conga/luci/cluster/form-macros	2006/08/14 14:53:07	1.42
+++ conga/luci/cluster/form-macros	2006/08/14 22:46:49	1.43
@@ -286,229 +286,258 @@
 		<span tal:define="global ricci_agent python:here.getRicciAgentForCluster(request)"/>
 	</tal:comment>
 
-	<form name="basecluster" action="" method="get"
-		tal:attributes="action clusterinfo/basecluster_url"
-		tal:define="global clusterinfo python:here.getClusterInfo(modelb, request)"> 
-
-	<table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
-		<thead class="systemsTable"> 
-			<tr class="systemsTable"><td class="systemsTable" colspan="1">
-				<div class="systemsTableTop">
-					<strong>General Properties</strong>
-				</div>
-			</td></tr>
-		</thead>
-
-		<tbody class="systemsTable">
-			<tr class="systemsTable">
-				<td class="systemsTable">Cluster Name</td>
-				<td class="systemsTable">
-					<input type="text" name="cluname" value="" tal:attributes="value clusterinfo/clustername"/>
-				</td>
-			</tr>
-			<tr class="systemsTable">
-				<td class="systemsTable">Configuration Version</td>
-				<td class="systemsTable">
-					<input type="text" name="cfgver" size="5" value="" tal:attributes="value clusterinfo/config_version"/>
-				</td>
-			</tr>
-		</tbody>
-
-		<tfoot class="systemsTable">
-			<tr class="systemsTable">
-				<td class="systemsTable" colspan="2">
-					<div class="systemsTableEnd">
-						<input type="submit" value="Apply"/>
+	<tal:block
+		tal:define="global clusterinfo python:here.getClusterInfo(modelb, request)" /> 
+
+	<span tal:omit-tag="" tal:define="global configTabNum python: 'tab' in request and int(request['tab']) or 1" />
+
+	<ul class="configTab">
+		<li class="configTab">
+			<a tal:attributes="
+				href python: request['URL'] + '?pagetype=' + request['pagetype'] + '&clustername=' + request['clustername'] + '&tab=1';
+				class python: 'configTab' + (configTabNum == 1 and ' configTabActive' or '');
+			">General</a>
+		</li>
+		<li class="configTab">
+			<a tal:attributes="
+				href python: request['URL'] + '?pagetype=' + request['pagetype'] + '&clustername=' + request['clustername'] + '&tab=2';
+				class python: 'configTab' + (configTabNum == 2 and ' configTabActive' or '');
+			">Fence</a>
+		</li>
+		<li class="configTab">
+			<a tal:attributes="
+				href python: request['URL'] + '?pagetype=' + request['pagetype'] + '&clustername=' + request['clustername'] + '&tab=3';
+				class python: 'configTab' + (configTabNum == 3 and ' configTabActive' or '');
+			">Multicast</a>
+		</li>
+		<li class="configTab">
+			<a tal:attributes="
+				href python: request['URL'] + '?pagetype=' + request['pagetype'] + '&clustername=' + request['clustername'] + '&tab=4';
+				class python: 'configTab' + (configTabNum == 4 and ' configTabActive' or '');
+			">Qurorum Partition</a>
+		</li>
+	</ul>
+
+	<div id="configTabContent" tal:condition="python: configTabNum == 1">
+		<form name="basecluster" action="" method="get"
+			tal:attributes="action clusterinfo/basecluster_url">
+		<table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
+			<thead class="systemsTable"> 
+				<tr class="systemsTable"><td class="systemsTable" colspan="1">
+					<div class="systemsTableTop">
+						<strong>General Properties</strong>
 					</div>
-				</td>
-			</tr>
-		</tfoot>
-	</table>
+				</td></tr>
+			</thead>
 
-	</form>
-	<hr/>
+			<tbody class="systemsTable">
+				<tr class="systemsTable">
+					<td class="systemsTable">Cluster Name</td>
+					<td class="systemsTable">
+						<input type="text" name="cluname" value="" tal:attributes="value clusterinfo/clustername"/>
+					</td>
+				</tr>
+				<tr class="systemsTable">
+					<td class="systemsTable">Configuration Version</td>
+					<td class="systemsTable">
+						<input type="text" name="cfgver" size="5" value="" tal:attributes="value clusterinfo/config_version"/>
+					</td>
+				</tr>
+			</tbody>
+
+			<tfoot class="systemsTable">
+				<tr class="systemsTable">
+					<td class="systemsTable" colspan="2">
+						<div class="systemsTableEnd">
+							<input type="submit" value="Apply"/>
+						</div>
+					</td>
+				</tr>
+			</tfoot>
+		</table>
+		</form>
+	</div>
 
-	<form name="fencedaemon" action="" method="get" tal:attributes="action clusterinfo/fencedaemon_url">
-	<table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
-		<thead class="systemsTable"> 
-			<tr class="systemsTable"><td class="systemsTable" colspan="1">
-				<div class="systemsTableTop">
-					<strong>Fence Daemon Properties</strong>
-				</div>
-			</td></tr>
-		</thead>
-
-		<tbody class="systemsTable">
-			<tr class="systemsTable">
-				<td class="systemsTable">Post Fail Delay</td>
-				<td class="systemsTable">
-					<input type="text" name="post_fail_delay" value="" tal:attributes="value clusterinfo/pfd"/>
-				</td>
-			</tr>
-
-			<tr class="systemsTable">
-				<td class="systemsTable">Post Join Delay</td>
-				<td class="systemsTable">
-					<input type="text" name="post_join_delay" value="" tal:attributes="value clusterinfo/pjd"/>
-				</td>
-			</tr>
-		</tbody>
-
-		<tfoot class="systemsTable">
-			<tr class="systemsTable">
-				<td class="systemsTable" colspan="2">
+	<div id="configTabContent" tal:condition="python: configTabNum == 2">
+		<form name="fencedaemon" action="" method="get" tal:attributes="action clusterinfo/fencedaemon_url">
+		<table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
+			<thead class="systemsTable"> 
+				<tr class="systemsTable"><td class="systemsTable" colspan="1">
+					<div class="systemsTableTop">
+						<strong>Fence Daemon Properties</strong>
+					</div>
+				</td></tr>
+			</thead>
+
+			<tbody class="systemsTable">
+				<tr class="systemsTable">
+					<td class="systemsTable">Post Fail Delay</td>
+					<td class="systemsTable">
+						<input type="text" name="post_fail_delay" value="" tal:attributes="value clusterinfo/pfd"/>
+					</td>
+				</tr>
+				<tr class="systemsTable">
+					<td class="systemsTable">Post Join Delay</td>
+					<td class="systemsTable">
+						<input type="text" name="post_join_delay" value="" tal:attributes="value clusterinfo/pjd"/>
+					</td>
+				</tr>
+			</tbody>
+
+			<tfoot class="systemsTable">
+				<tr class="systemsTable">
+					<td class="systemsTable" colspan="2">
+						<div class="systemsTableEnd">
+							<input type="submit" value="Apply"/>
+						</div>
+					</td>
+				</tr>
+			</tfoot>
+		</table>
+		</form>
+	</div>
+
+	<div id="configTabContent" tal:condition="python: configTabNum == 3">
+		<form name="multicast" action="" method="get" tal:attributes="action clusterinfo/multicast_url">
+		<table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
+			<thead class="systemsTable"> 
+				<tr class="systemsTable"><td class="systemsTable" colspan="1">
+					<div class="systemsTableTop">
+						<strong>Multicast Configuration</strong>
+					</div>
+				</td></tr>
+			</thead>
+
+			<tbody class="systemsTable">
+				<tr class="systemsTable">
+					<td class="systemsTable">
+						<input type="radio" name="mcast" value="False" checked="" tal:attributes="checked python:clusterinfo['is_mcast'] == 'False'"/><strong>Let cluster choose the multicast address</strong>
+					</td>
+				</tr>
+				<tr class="systemsTable">
+					<td class="systemsTable">
+						<input type="radio" name="mcast" value="True"/><strong>I prefer to choose the multicast address</strong>
+					</td>
+				</tr>
+
+				<tr class="systemsTable">
+					<td class="systemsTable" colspan="2">
+						<input type="text" name="mcast_address" value="" tal:attributes="value clusterinfo/mcast_addr"/>
+					</td>
+				</tr>
+			</tbody>
+
+			<tfoot class="systemsTable">
+				<tr class="systemsTable"><td class="systemsTable" colspan="2">
 					<div class="systemsTableEnd">
 						<input type="submit" value="Apply"/>
 					</div>
-				</td>
-			</tr>
-		</tfoot>
-	</table>
+				</td></tr>
+			</tfoot>
+		</table>
+		</form>
+	</div>
 
-	</form>
-	<hr/>
+	<div id="configTabContent" tal:condition="python: configTabNum == 4">
+		<form name="quorum_partition" action="" method="get" tal:attributes="action clusterinfo/quorumd_url">
+		<table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
+			<thead class="systemsTable"> 
+				<tr class="systemsTable"><td class="systemsTable" colspan="1">
+					<div class="systemsTableTop">
+						<strong>Quorum Partition Configuration</strong>
+					</div>
+				</td></tr>
+			</thead>
 
-	<form name="multicast" action="" method="get" tal:attributes="action clusterinfo/multicast_url">
+			<tbody class="systemsTable">
+				<tr class="systemsTable"><td class="systemsTable">
+					<input type="radio" name="quorumd" value="False" checked="" tal:attributes="checked python:clusterinfo['is_quorumd'] == 'False'"/>
+					<strong>Do not use a Quorum Partition</strong>
+				</td></tr>
 
-	<table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
-		<thead class="systemsTable"> 
-			<tr class="systemsTable"><td class="systemsTable" colspan="1">
-				<div class="systemsTableTop">
-					<strong>Multicast Configuration</strong>
-				</div>
-			</td></tr>
-		</thead>
-
-		<tbody class="systemsTable">
-			<tr class="systemsTable">
-				<td class="systemsTable">
-					<input type="radio" name="mcast" value="False" checked="" tal:attributes="checked python:clusterinfo['is_mcast'] == 'False'"/><strong>Let cluster choose the multicast address</strong>
-				</td>
-			</tr>
-			<tr class="systemsTable">
-				<td class="systemsTable">
-					<input type="radio" name="mcast" value="True"/><strong>I prefer to choose the multicast address</strong>
-				</td>
-			</tr>
-
-			<tr class="systemsTable">
-				<td class="systemsTable" colspan="2">
-					<input type="text" name="mcast_address" value="" tal:attributes="value clusterinfo/mcast_addr"/>
-				</td>
-			</tr>
-		</tbody>
-
-		<tfoot class="systemsTable">
-			<tr class="systemsTable"><td class="systemsTable" colspan="2">
-				<div class="systemsTableEnd">
-					<input type="submit" value="Apply"/>
-				</div>
-			</td></tr>
-		</tfoot>
-	</table>
+				<tr class="systemsTable"><td class="systemsTable">
+					<input type="radio" name="quorumd" value="True"/>
+						<strong>I prefer to use a Quorum Partition</strong>
+				</td></tr>
 
-	</form>
-	<hr/>
+				<tr class="systemsTable"><td class="systemsTable" colspan="2">
+					Interval: <input type="text" name="interval" value="" tal:attributes="value clusterinfo/interval"/>
+				</td></tr>
 
-	<form name="quorum_partition" action="" method="get" tal:attributes="action clusterinfo/quorumd_url">
-	<table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
-		<thead class="systemsTable"> 
-			<tr class="systemsTable"><td class="systemsTable" colspan="1">
-				<div class="systemsTableTop">
-					<strong>Quorum Partition Configuration</strong>
-				</div>
-			</td></tr>
-		</thead>
-
-		<tbody class="systemsTable">
-			<tr class="systemsTable"><td class="systemsTable">
-				<input type="radio" name="quorumd" value="False" checked="" tal:attributes="checked python:clusterinfo['is_quorumd'] == 'False'"/>
-					<strong>Do not use a Quorum Partition</strong>
-			</td></tr>
+				<tr class="systemsTable"><td class="systemsTable" colspan="2">
+					Votes: <input type="text" name="votes" value="" tal:attributes="value clusterinfo/votes"/>
+				</td></tr>
 
-			<tr class="systemsTable"><td class="systemsTable">
-				<input type="radio" name="quorumd" value="True"/>
-					<strong>I prefer to use a Quorum Partition</strong>
-			</td></tr>
-
-			<tr class="systemsTable"><td class="systemsTable" colspan="2">
-				Interval: <input type="text" name="interval" value="" tal:attributes="value clusterinfo/interval"/>
-			</td></tr>
-
-			<tr class="systemsTable"><td class="systemsTable" colspan="2">
-				Votes: <input type="text" name="votes" value="" tal:attributes="value clusterinfo/votes"/>
-			</td></tr>
-
-			<tr class="systemsTable"><td class="systemsTable" colspan="2">
-				TKO: <input type="text" name="tko" value="" tal:attributes="value clusterinfo/tko"/>
-			</td></tr>
-
-			<tr class="systemsTable"><td class="systemsTable" colspan="2">
-				Minimum Score: <input type="text" name="min_score" value="" tal:attributes="value clusterinfo/min_score"/>
-			</td></tr>
-
-			<tr class="systemsTable"><td class="systemsTable" colspan="2">
-				Device: <input type="text" name="device" value="" tal:attributes="value clusterinfo/device"/>
-			</td></tr>
-
-			<tr class="systemsTable"><td class="systemsTable" colspan="2">
-				Label: <input type="text" name="label" value="" tal:attributes="value clusterinfo/label"/>
-			</td></tr>
-		</tbody>
-	</table>
+				<tr class="systemsTable"><td class="systemsTable" colspan="2">
+					TKO: <input type="text" name="tko" value="" tal:attributes="value clusterinfo/tko"/>
+				</td></tr>
 
-	<table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
-		<thead class="systemsTable"> 
-			<tr class="systemsTable"><td class="systemsTable" colspan="1">
-				<div class="systemsTableTop">
-					<strong>Heuristics</strong>
-				</div>
-			</td></tr>
-
-			<tr class="systemsTable">
-				<th class="systemsTable">
-					<div class="systemsTableTop">Name</div>
-				</th>
-				<th class="systemsTable">
-					<div class="systemsTableTop">Path to Program</div>
-				</th>
-				<th class="systemsTable">
-					<div class="systemsTableTop">Interval</div>
-				</th>
-				<th class="systemsTable">
-					<div class="systemsTableTop">Score</div>
-				</th>
-			</tr>
-		</thead>
-
-		<tbody class="systemsTable"
-			tal:define="global heuristics clusterinfo/hlist">
-
-			<tr class="systemsTable" tal:repeat="heuristic heuristics">
-				<td class="systemsTable">
-					<input type="text" name="hname" value="" tal:attributes="value heuristic/hname"/>
-				</td>
-				<td class="systemsTable">
-					<input type="text" name="hinterval" value="" tal:attributes="value heuristic/hinterval"/>
-				</td>
-				<td class="systemsTable" colspan="2">
-					<input type="text" name="hprog" value="" tal:attributes="value heuristic/hprog"/>
-				</td>
-				<td class="systemsTable">
-					<input type="text" name="hscore" value="" tal:attributes="value heuristic/hscore"/>
-				</td>
-			</tr>
-		</tbody>
-
-		<tfoot class="systemsTable">
-			<tr class="systemsTable"><td class="systemsTable" colspan="2">
-				<div class="systemsTableEnd">
-					<input type="submit" value="Apply"/>
-				</div>
-			</td></tr>
-		</tfoot>
-	</table>
-	</form>
+				<tr class="systemsTable"><td class="systemsTable" colspan="2">
+					Minimum Score: <input type="text" name="min_score" value="" tal:attributes="value clusterinfo/min_score"/>
+				</td></tr>
+
+				<tr class="systemsTable"><td class="systemsTable" colspan="2">
+					Device: <input type="text" name="device" value="" tal:attributes="value clusterinfo/device"/>
+				</td></tr>
+
+				<tr class="systemsTable"><td class="systemsTable" colspan="2">
+					Label: <input type="text" name="label" value="" tal:attributes="value clusterinfo/label"/>
+				</td></tr>
+			</tbody>
+		</table>
+
+		<table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
+			<thead class="systemsTable"> 
+				<tr class="systemsTable"><td class="systemsTable" colspan="1">
+					<div class="systemsTableTop">
+						<strong>Heuristics</strong>
+					</div>
+				</td></tr>
+				<tr class="systemsTable">
+					<th class="systemsTable">
+						<div class="systemsTableTop">Name</div>
+					</th>
+					<th class="systemsTable">
+						<div class="systemsTableTop">Path to Program</div>
+					</th>
+					<th class="systemsTable">
+						<div class="systemsTableTop">Interval</div>
+					</th>
+					<th class="systemsTable">
+						<div class="systemsTableTop">Score</div>
+					</th>
+				</tr>
+			</thead>
+
+			<tbody class="systemsTable"
+				tal:define="global heuristics clusterinfo/hlist">
+	
+				<tr class="systemsTable" tal:repeat="heuristic heuristics">
+					<td class="systemsTable">
+						<input type="text" name="hname" value="" tal:attributes="value heuristic/hname"/>
+					</td>
+					<td class="systemsTable">
+						<input type="text" name="hinterval" value="" tal:attributes="value heuristic/hinterval"/>
+					</td>
+					<td class="systemsTable" colspan="2">
+						<input type="text" name="hprog" value="" tal:attributes="value heuristic/hprog"/>
+					</td>
+					<td class="systemsTable">
+						<input type="text" name="hscore" value="" tal:attributes="value heuristic/hscore"/>
+					</td>
+				</tr>
+			</tbody>
+
+			<tfoot class="systemsTable">
+				<tr class="systemsTable"><td class="systemsTable" colspan="2">
+					<div class="systemsTableEnd">
+						<input type="submit" value="Apply"/>
+					</div>
+				</td></tr>
+			</tfoot>
+		</table>
+		</form>
+	</div>
 </div>
 
 <div metal:define-macro="clusterprocess-form">
--- conga/luci/homebase/luci_homebase.css	2006/08/11 19:42:06	1.11
+++ conga/luci/homebase/luci_homebase.css	2006/08/14 22:46:49	1.12
@@ -1,4 +1,51 @@
-/* $Id: luci_homebase.css,v 1.11 2006/08/11 19:42:06 jparsons Exp $ */
+ul.configTab {
+        color: #436976 !important;
+        margin: 20px 0px 0px 0px !important;
+        padding: 0px !important;
+        padding-left: 15px !important;
+	border-bottom: none !important;
+        z-index: 1 !important;
+}
+
+li.configTab {
+        display: inline !important;
+        overflow: hidden !important;
+        list-style-type: none !important;
+	padding-left: 6px !important;
+	padding-bottom: 0px !important;
+	margin-bottom: 0px !important;
+	border-bottom: none !important;
+}
+
+#configTabContent {
+	background: #dee7ec !important;
+	margin-top: 0px !important;
+        padding: 20px !important;
+        border: 1px solid #8cacbb !important;
+	z-index: 2 !important;
+	max-width: 75%;
+}
+
+a.configTab, a.configTabActive {
+        color: #436976 !important;
+        background: #ffffff !important;
+        font: bold 1em !important;
+        border: 1px solid #8cacbb !important;
+	border-bottom: 1px solid transparent !important;
+        padding: 2px 6px 0px 6px !important;
+        margin: 0 !important;
+        text-decoration: none !important;
+}
+
+a.configTabActive {
+	background: #dee7ec !important;
+	border-bottom: 2px solid #dee7ec !important;
+}
+
+a.configTab:hover {
+	color: #436976 !important;
+        background: #dee7ec !important;
+}
 
 *.errmsgs,*.retmsgs {
 	list-style-image: none !important;



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-02-07 17:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-15 22:27 [Cluster-devel] conga/luci cluster/form-macros homebase/luci_h rmccabe
  -- strict thread matches above, loose matches on Subject: below --
2007-02-07 17:18 rmccabe
2007-02-02  1:12 rmccabe
2007-01-30 22:26 rmccabe
2006-10-16 19:13 rmccabe
2006-10-11 16:40 rmccabe
2006-09-26 20:57 rmccabe
2006-08-14 22:46 rmccabe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).