From: rmccabe@sourceware.org <rmccabe@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] conga/luci cluster/form-macros cluster/index_h ...
Date: 8 Sep 2006 22:54:33 -0000 [thread overview]
Message-ID: <20060908225433.28542.qmail@sourceware.org> (raw)
CVSROOT: /cvs/cluster
Module name: conga
Changes by: rmccabe at sourceware.org 2006-09-08 22:54:32
Modified files:
luci/cluster : form-macros index_html resource-form-macros
resource_form_handlers.js
luci/homebase : homebase_common.js luci_homebase.css
luci/site/luci/Extensions: cluster_adapters.py
Log message:
resource and service stuff
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.56&r2=1.57
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/index_html.diff?cvsroot=cluster&r1=1.11&r2=1.12
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/resource-form-macros.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/resource_form_handlers.js.diff?cvsroot=cluster&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/homebase_common.js.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/luci_homebase.css.diff?cvsroot=cluster&r1=1.19&r2=1.20
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/cluster_adapters.py.diff?cvsroot=cluster&r1=1.62&r2=1.63
--- conga/luci/cluster/form-macros 2006/09/06 22:13:33 1.56
+++ conga/luci/cluster/form-macros 2006/09/08 22:54:32 1.57
@@ -1139,13 +1139,14 @@
<br/>
<h2>Service Composition</h2>
+ <div id="service_comp_list">
<div tal:repeat="res sinfo/resource_list"
tal:attributes="class python: 'service_comp rc_indent' + str(res['indent_ctr'])">
<tal:block
tal:condition="python: res['max_depth'] > 0"
- tal:replace="structure string:<div>" />
+ tal:replace="structure python: '<div>'" />
<tal:block tal:define="
@@ -1187,8 +1188,8 @@
<div
tal:condition="python: res['max_depth'] != 0"
tal:attributes="
- class python: 'service_tree rc_indent' + str(res['indent_ctr'] - 1)">
- <img class="service_tree" name="arrow_down"
+ class python: 'rc_indent' + str(res['indent_ctr'] - 1)">
+ <img class="service_tree" name="arrow_down" alt="[-]"
src="/luci/cluster/arrow_down.png"
onClick="collapse_div(this)">
<span class="service_tree">Hide Children</span>
@@ -1197,6 +1198,7 @@
<tal:block
tal:replace="structure python: '</div>' * (res['indent_ctr'] - res['max_depth'])" />
</div>
+ </div>
</div>
<div metal:define-macro="service-form">
--- conga/luci/cluster/index_html 2006/08/28 23:04:59 1.11
+++ conga/luci/cluster/index_html 2006/09/08 22:54:32 1.12
@@ -29,6 +29,7 @@
</metal:cache>
<metal:headslot define-slot="head_slot" />
+ <tal:block tal:define="global sinfo nothing" />
<div tal:define="global hascluster request/clustername |nothing; global busywaiting python:None;"/>
<span tal:condition="not: hascluster">
<meta googaa="ooo"/>
--- conga/luci/cluster/resource-form-macros 2006/09/06 22:13:33 1.7
+++ conga/luci/cluster/resource-form-macros 2006/09/08 22:54:32 1.8
@@ -70,22 +70,25 @@
src="/luci/cluster/resource_form_handlers.js">
</script>
+ <tal:block
+ tal:define="
+ global res python: here.getResourceInfo(modelb, request);" />
+
<h2>Add a Resource</h2>
- <strong>Select Resource Type</strong>
+ <strong>Select a Resource Type</strong>
<br/>
<form>
<select name="select_div"
onChange="swap_div('container', this.form.select_div.options[this.form.select_div.selectedIndex].value);">
- <option name="blank" value="blank">Select a resource type</option>
- <option name="IP" value="IP">IP Resource</option>
- <option name="FS" value="FS">FS Resource</option>
- <option name="GFS" value="GFS">GFS Resource</option>
- <option name="NFSM" value="NFSM">NFS Mount Resource</option>
- <option name="NFSC" value="NFSC">NFS Client Resource</option>
- <option name="NFSX" value="NFSX">NFS Export Resource</option>
- <option name="SCR" value="SCR">Script Resource</option>
- <option name="SMB" value="SMB">Samba Resource</option>
+ <option name="IP" value="IP">IP address</option>
+ <option name="FS" value="FS">File system</option>
+ <option name="GFS" value="GFS">GFS file system</option>
+ <option name="NFSM" value="NFSM">NFS mount</option>
+ <option name="NFSC" value="NFSC">NFS client</option>
+ <option name="NFSX" value="NFSX">NFS export</option>
+ <option name="SCR" value="SCR">Script</option>
+ <option name="SMB" value="SMB">Samba</option>
</select>
</form>
@@ -150,19 +153,19 @@
<div metal:define-macro="resourceconfig-form">
<script type="text/javascript"
- src="luci/cluster/resource_form_handlers.js">
+ src="/luci/cluster/resource_form_handlers.js">
</script>
<tal:block tal:define="
- global msg python: here.appendModel(request, modelb);
global restoedit request/resourcename | nothing" />
- <tal:block tal:condition="restoedit">
+ <tal:block tal:condition="restoedit"
tal:define="
+ global msg python: here.appendModel(request, modelb);
global res python: here.getResourceInfo(modelb, request);
- global type res/tag_name">
+ global type python: res['tag_name']">
- <h2>Configure <span tal:replace="res/name"/></h2>
+ <h2>Configure <span tal:replace="python: res['name']" /></h2>
<span tal:omit-tag="" tal:condition="python: type == 'ip'">
<div metal:use-macro="here/resource-form-macros/macros/ip_macro"/>
@@ -198,17 +201,12 @@
</tal:block>
</div>
-<div id="IP" metal:define-macro="ip_macro">
-
+<div class="rescfg" id="IP" metal:define-macro="ip_macro">
<tal:block tal:condition="python: ptype == '33' or ptype == '24'"
tal:define="
global edit python: True;
- global resName res/name;
- global address python: resName.split('.');
- global ip1 python: address[0];
- global ip2 python: address[1];
- global ip3 python: address[2];
- global ip4 python: address[3];
+ global resName res/name | nothing;
+ global ip_address python: resName;
global monitor_link res/attrs/monitor_link | nothing;
global cluname request/clustername;
tmp_URL context/cluster/index_html/absolute_url;
@@ -223,17 +221,20 @@
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname" />
- <strong class="reshdr">IP Address Resource Configuration</strong>
+ <div class="reshdr">IP Address Resource Configuration</div>
<form name="ip_form" id="ip_form" method="get"
tal:attributes="action processURL">
-
<input name="pagetype" type="hidden" value="35"/>
- <input name="clustername" type="hidden" tal:attributes="value cluname"/>
+ <input name="tree_level" type="hidden"
+ tal:attributes="value res/indent_ctr | string:0" />
+
+ <input name="clustername" type="hidden"
+ tal:attributes="value cluname | nothing" />
<input name="oldname" type="hidden"
- tal:attributes="value res/name"
+ tal:attributes="value res/name | nothing"
tal:condition="python: edit == True" />
<input name="edit" type="hidden" value="1"
@@ -243,20 +244,14 @@
<table id="ipResourceTable" class="systemsTable">
<tr class="systemsTable">
+ <td class="systemsTable">IP address</td>
<td class="systemsTable">
- <strong>IP</strong>
- </td>
- <td class="systemsTable">
- <input size="3" name="ip1" type="text" maxlength="3" tal:attributes="value ip1 | nothing"/>.
- <input size="3" name="ip2" type="text" maxlength="3" tal:attributes="value ip2 | nothing"/>.
- <input size="3" name="ip3" type="text" maxlength="3" tal:attributes="value ip3 | nothing"/>.
- <input size="3" name="ip4" type="text" maxlength="3" tal:attributes="value ip4 | nothing"/>
+ <input size="15" name="ip_address" type="text" maxlength="15"
+ tal:attributes="value ip_address | nothing" />
</td>
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Monitor Link</strong>
- </td>
+ <td class="systemsTable">Monitor link</td>
<td class="systemsTable">
<input type="checkbox" name="monitorLink"
tal:attributes="
@@ -266,30 +261,34 @@
</table>
<div class="hbSubmit">
- <input class="hbSubmit" type="button" value="Submit"
- onClick="validate(this.form);" />
- <input class="hbSubmit" type="button" value="Add a child resource"
- onClick="add_child_resource(this.form)" />
- <input class="hbSubmit" value="Delete this resource"
- onClick="delete_resource(this.form)" />
+ <input class="hbSubmit" type="button"
+ onClick="validate_form(this.form);"
+ tal:attributes="value python: sinfo and 'Apply' or 'Submit'" />
+
+ <tal:block tal:condition="sinfo">
+ <input class="hbSubmit" type="button" value="Add a child"
+ onClick="add_child_resource(this.form)" />
+ <input class="hbSubmit" type="button" value="Delete this resource"
+ onClick="delete_resource(this.form)" />
+ </tal:block>
</div>
</form>
</div>
-<div id="FS" metal:define-macro="fs_macro">
+<div class="rescfg" id="FS" metal:define-macro="fs_macro">
<tal:block tal:condition="python: ptype == '33' or ptype == '24'"
tal:define="
global edit python: True;
- global resName res/name;
- global mountPoint res/attrs/mountpoint;
- global device res/attrs/device;
- global fstype res/attrs/fstype;
- global opt res/attrs/options;
- global fsid res/attrs/fsid;
- global force_unmount res/attrs/force_unmount;
- global reboot_fail res/attrs/self_fence;
- global fscheck res/attrs/force_fsck;
+ global resName res/name | nothing;
+ global mountPoint res/attrs/mountpoint | nothing;
+ global device res/attrs/device | nothing;
+ global fstype res/attrs/fstype | nothing;
+ global opt res/attrs/options | nothing;
+ global fsid res/attrs/fsid | nothing;
+ global force_unmount res/attrs/force_unmount | nothing;
+ global reboot_fail res/attrs/self_fence | nothing;
+ global fscheck res/attrs/force_fsck | nothing;
global cluname request/clustername;
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname+'&edit=1'" />
@@ -305,17 +304,20 @@
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname" />
- <strong class="reshdr">File System Resource Configuration</strong>
+ <div class="reshdr">File System Resource Configuration</div>
<form name="fs_form" method="get" tal:attributes="action processURL">
-
<input name="pagetype" type="hidden" value="35" />
- <input name="clustername" type="hidden" tal:attributes="value cluname" />
+ <input name="tree_level" type="hidden"
+ tal:attributes="value res/indent_ctr | string:0" />
+
+ <input name="clustername" type="hidden"
+ tal:attributes="value cluname | nothing" />
<input name="oldname" type="hidden"
tal:condition="python: edit == True"
- tal:attributes="value res/name" />
+ tal:attributes="value res/name | nothing" />
<input name="edit" type="hidden" value="1"
tal:condition="python: edit == True" />
@@ -324,9 +326,7 @@
<table id="fileSystemTable" class="systemsTable">
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Resource Name</strong>
- </td>
+ <td class="systemsTable">Name</td>
<td class="systemsTable">
<input type="text" size="20"
id="resourceName" name="resourceName"
@@ -335,9 +335,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>File System Type</strong>
- </td>
+ <td class="systemsTable">File system type</td>
<td class="systemsTable">
<select id="fstype" name="fstype">
<option name="ext3" value="ext3"
@@ -351,29 +349,23 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Mount Point</strong>
- </td>
+ <td class="systemsTable">Mount point</td>
<td class="systemsTable">
<input type="text" size="20" id="mountpoint" name="mountpoint"
- tal:attributes="value mountPoint | nothing"/>
+ tal:attributes="value mountPoint | nothing" />
</td>
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Device</strong>
- </td>
+ <td class="systemsTable">Device</td>
<td class="systemsTable">
<input type="text" size="20" id="device" name="device"
- tal:attributes="value device | nothing"/>
+ tal:attributes="value device | nothing" />
</td>
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Options</strong>
- </td>
+ <td class="systemsTable">Options</td>
<td class="systemsTable">
<input type="text" size="20" id="options" name="options"
tal:attributes="value opt | nothing" />
@@ -381,9 +373,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>File System ID</strong>
- </td>
+ <td class="systemsTable">File system ID</td>
<td class="systemsTable">
<input type="text" size="20" id="fsid" name="fsid"
tal:attributes="value fsid | nothing" />
@@ -391,9 +381,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Force unmount</strong>
- </td>
+ <td class="systemsTable">Force unmount</td>
<td class="systemsTable">
<input type="checkbox" id="forceunmount" name="forceunmount"
tal:attributes="checked python: force_unmount == '1' and 'checked'" />
@@ -401,9 +389,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Reboot host node if unmount fails</strong>
- </td>
+ <td class="systemsTable">Reboot host node if unmount fails</td>
<td class="systemsTable">
<input type="checkbox" id="selffence" name="selffence"
tal:attributes="
@@ -412,9 +398,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Check file system before mounting</strong>
- </td>
+ <td class="systemsTable">Check file system before mounting</td>
<td class="systemsTable">
<input type="checkbox" id="checkfs" name="checkfs"
tal:attributes="
@@ -424,29 +408,33 @@
</table>
<div class="hbSubmit">
- <input class="hbSubmit" type="button" value="Submit"
- onClick="validate(this.form);" />
- <input class="hbSubmit" type="button" value="Add a child resource"
- onClick="add_child_resource(this.form)" />
- <input class="hbSubmit" value="Delete this resource"
- onClick="delete_resource(this.form)" />
+ <input class="hbSubmit" type="button"
+ onClick="validate_form(this.form);"
+ tal:attributes="value python: sinfo and 'Apply' or 'Submit'" />
+
+ <tal:block tal:condition="sinfo">
+ <input class="hbSubmit" type="button" value="Add a child"
+ onClick="add_child_resource(this.form)" />
+ <input class="hbSubmit" type="button" value="Delete this resource"
+ onClick="delete_resource(this.form)" />
+ </tal:block>
</div>
</form>
</div>
-<div id="GFS" metal:define-macro="gfs_macro">
+<div class="rescfg" id="GFS" metal:define-macro="gfs_macro">
<tal:block tal:condition="python: ptype == '33' or ptype =='24'"
tal:define="
global edit python: True;
- global resName res/name;
- global mountPoint res/attrs/mountpoint;
- global device res/attrs/device;
- global fstype res/attrs/fstype;
- global opt res/attrs/options;
- global fsid res/attrs/fsid;
- global force_unmount res/attrs/force_unmount;
- global cluname request/clustername;
+ global resName res/name | nothing;
+ global mountPoint res/attrs/mountpoint | nothing;
+ global device res/attrs/device | nothing;
+ global fstype res/attrs/fstype | nothing;
+ global opt res/attrs/options | nothing;
+ global fsid res/attrs/fsid | nothing;
+ global force_unmount res/attrs/force_unmount | nothing;
+ global cluname request/clustername | nothing;
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname+'&edit=1'" />
@@ -458,17 +446,20 @@
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname" />
- <strong class="reshdr">GFS Resource Configuration</strong>
- <form name="gfs_form" method="get" tal:attributes="action processURL">
+ <div class="reshdr">GFS Resource Configuration</div>
+ <form name="gfs_form" method="get" tal:attributes="action processURL">
<input name="pagetype" type="hidden" value="35" />
+ <input name="tree_level" type="hidden"
+ tal:attributes="value res/indent_ctr | string:0" />
+
<input name="clustername" type="hidden"
- tal:attributes="value cluname" />
+ tal:attributes="value cluname | nothing" />
<input name="oldname" type="hidden"
tal:condition="python: edit == True"
- tal:attributes="value res/name" />
+ tal:attributes="value res/name | nothing" />
<input name="edit" type="hidden" value="1"
tal:condition="python: edit == True" />
@@ -477,9 +468,7 @@
<table id="gfsTable" class="systemsTable">
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Resource Name</strong>
- </td>
+ <td class="systemsTable">Name</td>
<td class="systemsTable">
<input type="text" size="20"
id="resourceName" name="resourceName"
@@ -488,10 +477,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Mount Point</strong>
- </td>
-
+ <td class="systemsTable">Mount point</td>
<td class="systemsTable">
<input type="text" size="20" id="mountPoint" name="mountpoint"
tal:attributes="value mountpoint | nothing" />
@@ -499,9 +485,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Device</strong>
- </td>
+ <td class="systemsTable">Device</td>
<td class="systemsTable">
<input type="text" size="20" id="device" name="device"
tal:attributes="value device | nothing"/>
@@ -509,9 +493,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Options</strong>
- </td>
+ <td class="systemsTable">Options</td>
<td class="systemsTable">
<input type="text" size="20" id="options" name="options"
tal:attributes="value opt | nothing" />
@@ -519,9 +501,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>File System ID</strong>
- </td>
+ <td class="systemsTable">File system ID</td>
<td class="systemsTable">
<input type="text" size="20" id="fsid" name="fsid"
tal:attributes="value fsid | nothing" />
@@ -529,9 +509,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Force unmount</strong>
- </td>
+ <td class="systemsTable">Force unmount</td>
<td class="systemsTable">
<input type="checkbox" id="forceunmount" name="forceunmount"
tal:attributes="
@@ -541,28 +519,32 @@
</table>
<div class="hbSubmit">
- <input class="hbSubmit" type="button" value="Submit"
- onClick="validate(this.form);" />
- <input class="hbSubmit" type="button" value="Add a child resource"
- onClick="add_child_resource(this.form)" />
- <input class="hbSubmit" value="Delete this resource"
- onClick="delete_resource(this.form)" />
+ <input class="hbSubmit" type="button"
+ onClick="validate_form(this.form);"
+ tal:attributes="value python: sinfo and 'Apply' or 'Submit'" />
+
+ <tal:block tal:condition="sinfo">
+ <input class="hbSubmit" type="button" value="Add a child"
+ onClick="add_child_resource(this.form)" />
+ <input class="hbSubmit" type="button" value="Delete this resource"
+ onClick="delete_resource(this.form)" />
+ </tal:block>
</div>
</form>
</div>
-<div id="NFSM" metal:define-macro="nfsm_macro">
+<div class="rescfg" id="NFSM" metal:define-macro="nfsm_macro">
<tal:block tal:condition="python: ptype == '33' or ptype =='24'"
tal:define="
global edit python: True;
- global resName res/name;
- global mountpoint res/attrs/mountpoint;
- global opt res/attrs/options;
- global expath res/attrs/export;
- global nfstype res/attrs/fstype;
- global hostname res/attrs/host;
- global force_unmount res/attrs/force_unmount;
+ global resName res/name | nothing;
+ global mountpoint res/attrs/mountpoint | nothing;
+ global opt res/attrs/options | nothing;
+ global expath res/attrs/export | nothing;
+ global nfstype res/attrs/fstype | nothing;
+ global hostname res/attrs/host | nothing;
+ global force_unmount res/attrs/force_unmount | nothing;
global cluname request/clustername;
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname+'&edit=1'" />
@@ -574,17 +556,21 @@
global cluname request/clustername;
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname" />
- <form name="nfsm_form" method="get" tal:attributes="action processURL">
- <strong class="reshdr">NFS Mount Resource Configuration</strong>
+ <div class="reshdr">NFS Mount Resource Configuration</div>
+ <form name="nfsm_form" method="get" tal:attributes="action processURL">
<input name="pagetype" type="hidden" value="35" />
- <input name="clustername" type="hidden" tal:attributes="value cluname"/>
+ <input name="tree_level" type="hidden"
+ tal:attributes="value res/indent_ctr | string:0" />
+
+ <input name="clustername" type="hidden"
+ tal:attributes="value cluname | nothing" />
<input name="oldname" type="hidden"
tal:condition="python: edit == True"
- tal:attributes="value res/name" />
+ tal:attributes="value res/name | nothing" />
<input name="edit" type="hidden" value="1"
tal:condition="python: edit == True" />
@@ -593,9 +579,7 @@
<table id="nfsMountTable" class="systemsTable">
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Resource Name</strong>
- </td>
+ <td class="systemsTable">Name</td>
<td class="systemsTable">
<input type="text" size="20"
id="resourceName" name="resourceName"
@@ -604,9 +588,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Mount Point</strong>
- </td>
+ <td class="systemsTable">Mount point</td>
<td class="systemsTable">
<input type="text" size="20" id="mountpoint" name="mountpoint"
tal:attributes="value mountpoint | nothing" />
@@ -614,9 +596,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Host</strong>
- </td>
+ <td class="systemsTable">Host</td>
<td class="systemsTable">
<input type="text" size="20" id="host" name="host"
tal:attributes="value hostname | nothing" />
@@ -624,19 +604,15 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Export Path</strong>
- </td>
+ <td class="systemsTable">Export path</td>
<td class="systemsTable">
<input type="text" size="20" id="exportpath" name="exportpath"
- tal:attributes="value expath | nothing"/>
+ tal:attributes="value expath | nothing" />
</td>
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>NFS Type</strong>
- </td>
+ <td class="systemsTable">NFS version</td>
<td class="systemsTable">
<input type="radio" name="nfstype" value="nfs"
tal:attributes="checked python: (edit == nothing or nfstype == 'nfs') and 'checked'" />
@@ -649,19 +625,15 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Options</strong>
- </td>
+ <td class="systemsTable">Options</td>
<td class="systemsTable">
<input type="text" size="20" id="options" name="options"
- tal:attributes="value opt | nothing"/>
+ tal:attributes="value opt | nothing" />
</td>
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Force unmount</strong>
- </td>
+ <td class="systemsTable">Force unmount</td>
<td class="systemsTable">
<input type="checkbox" id="forceunmount" name="forceunmount"
tal:attributes="
@@ -671,24 +643,28 @@
</table>
<div class="hbSubmit">
- <input class="hbSubmit" type="button" value="Submit"
- onClick="validate(this.form);" />
- <input class="hbSubmit" type="button" value="Add a child resource"
- onClick="add_child_resource(this.form)" />
- <input class="hbSubmit" value="Delete this resource"
- onClick="delete_resource(this.form)" />
+ <input class="hbSubmit" type="button"
+ onClick="validate_form(this.form);"
+ tal:attributes="value python: sinfo and 'Apply' or 'Submit'" />
+
+ <tal:block tal:condition="sinfo">
+ <input class="hbSubmit" type="button" value="Add a child"
+ onClick="add_child_resource(this.form)" />
+ <input class="hbSubmit" type="button" value="Delete this resource"
+ onClick="delete_resource(this.form)" />
+ </tal:block>
</div>
</form>
</div>
-<div id="NFSC" metal:define-macro="nfsc_macro">
+<div class="rescfg" id="NFSC" metal:define-macro="nfsc_macro">
<tal:block tal:condition="python: ptype == '33' or ptype == '24'"
tal:define="
global edit python: True;
- global resName res/name;
- global target res/attrs/target;
- global opt res/attrs/options;
+ global resName res/name | nothing;
+ global target res/attrs/target | nothing;
+ global opt res/attrs/options | nothing;
global expath res/attrs/readOnly | nothing;
global cluname request/clustername;
tmp_URL context/cluster/index_html/absolute_url;
@@ -701,17 +677,20 @@
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname" />
- <strong class="reshdr">NFS Client Resource Configuration</strong>
+ <div class="reshdr">NFS Client Resource Configuration</div>
<form name="nfsc_form" method="post" tal:attributes="action processURL">
-
<input name="pagetype" type="hidden" value="35" />
- <input name="clustername" type="hidden" tal:attributes="value cluname" />
+ <input name="tree_level" type="hidden"
+ tal:attributes="value res/indent_ctr | string:0" />
+
+ <input name="clustername" type="hidden"
+ tal:attributes="value cluname | nothing" />
<input name="oldname" type="hidden"
tal:condition="python: edit == True"
- tal:attributes="value res/name" />
+ tal:attributes="value res/name | nothing" />
<input name="edit" type="hidden" value="1"
tal:condition="python: edit == True" />
@@ -720,9 +699,7 @@
<table id="nfsClientTable" class="systemsTable">
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Resource Name</strong>
- </td>
+ <td class="systemsTable">Name</td>
<td class="systemsTable">
<input type="text" size="20"
id="resourceName" name="resourceName"
@@ -731,9 +708,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Target</strong>
- </td>
+ <td class="systemsTable">Target</td>
<td class="systemsTable">
<input type="text" size="20" id="target" name="target"
tal:attributes="value target | nothing"/>
@@ -741,9 +716,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Options</strong>
- </td>
+ <td class="systemsTable">Options</td>
<td class="systemsTable">
<input type="text" size="20" id="options" name="options"
tal:attributes="value opt | nothing"/>
@@ -752,22 +725,26 @@
</table>
<div class="hbSubmit">
- <input class="hbSubmit" type="button" value="Submit"
- onClick="validate(this.form);" />
- <input class="hbSubmit" type="button" value="Add a child resource"
- onClick="add_child_resource(this.form)" />
- <input class="hbSubmit" value="Delete this resource"
- onClick="delete_resource(this.form)" />
+ <input class="hbSubmit" type="button"
+ onClick="validate_form(this.form);"
+ tal:attributes="value python: sinfo and 'Apply' or 'Submit'" />
+
+ <tal:block tal:condition="sinfo">
+ <input class="hbSubmit" type="button" value="Add a child"
+ onClick="add_child_resource(this.form)" />
+ <input class="hbSubmit" type="button" value="Delete this resource"
+ onClick="delete_resource(this.form)" />
+ </tal:block>
</div>
</form>
</div>
-<div id="NFSX" metal:define-macro="nfsx_macro">
+<div class="rescfg" id="NFSX" metal:define-macro="nfsx_macro">
<tal:block tal:condition="python: ptype == '33' or ptype == '24'"
tal:define="
global edit python: True;
- global resName res/name;
+ global resName res/name | nothing;
global cluname request/clustername;
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname+'&edit=1'" />
@@ -778,16 +755,20 @@
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname" />
- <strong class="reshdr">NFS Export Resource Configuration</strong>
- <form name="nfsx_form" method="post" tal:attributes="action processURL">
+ <div class="reshdr">NFS Export Resource Configuration</div>
+ <form name="nfsx_form" method="post" tal:attributes="action processURL">
<input name="pagetype" type="hidden" value="35" />
- <input name="clustername" type="hidden" tal:attributes="value cluname" />
+ <input name="tree_level" type="hidden"
+ tal:attributes="value res/indent_ctr | string:0" />
+
+ <input name="clustername" type="hidden"
+ tal:attributes="value cluname | nothing" />
<input name="oldname" type="hidden"
tal:condition="python: edit == True"
- tal:attributes="value res/name" />
+ tal:attributes="value res/name | nothing" />
<input name="edit" type="hidden" value="1"
tal:condition="python: edit == True" />
@@ -796,9 +777,7 @@
<table id="nfsExportTable" class="systemsTable">
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Name</strong>
- </td>
+ <td class="systemsTable">Name</td>
<td class="systemsTable">
<input type="text" size="20"
id="resourceName" name="resourceName"
@@ -808,23 +787,27 @@
</table>
<div class="hbSubmit">
- <input class="hbSubmit" type="button" value="Submit"
- onClick="validate(this.form);" />
- <input class="hbSubmit" type="button" value="Add a child resource"
- onClick="add_child_resource(this.form)" />
- <input class="hbSubmit" value="Delete this resource"
- onClick="delete_resource(this.form)" />
+ <input class="hbSubmit" type="button"
+ onClick="validate_form(this.form);"
+ tal:attributes="value python: sinfo and 'Apply' or 'Submit'" />
+
+ <tal:block tal:condition="sinfo">
+ <input class="hbSubmit" type="button" value="Add a child"
+ onClick="add_child_resource(this.form)" />
+ <input class="hbSubmit" type="button" value="Delete this resource"
+ onClick="delete_resource(this.form)" />
+ </tal:block>
</div>
</form>
</div>
-<div id="SCR" metal:define-macro="scr_macro">
+<div class="rescfg" id="SCR" metal:define-macro="scr_macro">
<tal:block tal:condition="python: ptype == '33' or ptype == '24'"
tal:define="
global edit string:true;
- global resName res/name;
- global filename res/attrs/file;
+ global resName res/name | nothing;
+ global filename res/attrs/file | nothing;
global cluname request/clustername;
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname+'&edit=1'" />
@@ -835,16 +818,20 @@
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname" />
- <strong class="reshdr">Script Resource Configuration</strong>
- <form name="scr_form" method="post" tal:attributes="action processURL">
+ <div class="reshdr">Script Resource Configuration</div>
+ <form name="scr_form" method="post" tal:attributes="action processURL">
<input name="pagetype" type="hidden" value="35" />
- <input name="clustername" type="hidden" tal:attributes="value cluname" />
+ <input name="tree_level" type="hidden"
+ tal:attributes="value res/indent_ctr | string:0" />
+
+ <input name="clustername" type="hidden"
+ tal:attributes="value cluname | nothing" />
<input name="oldname" type="hidden"
tal:condition="python: edit == 'true'"
- tal:attributes="value res/name" />
+ tal:attributes="value res/name | nothing" />
<input name="edit" type="hidden" value="1"
tal:condition="python: edit == 'true'" />
@@ -853,9 +840,7 @@
<table id="scriptTable" class="systemsTable">
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Name</strong>
- </td>
+ <td class="systemsTable">Name</td>
<td class="systemsTable">
<input type="text" size="20"
id="resourceName" name="resourceName"
@@ -864,9 +849,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Full path to script file</strong>
- </td>
+ <td class="systemsTable">Full path to script file</td>
<td class="systemsTable">
<input type="text" size="20" id="file" name="file"
tal:attributes="value filename | nothing" />
@@ -875,45 +858,55 @@
</table>
<div class="hbSubmit">
- <input class="hbSubmit" type="button" value="Submit"
- onClick="validate(this.form);" />
- <input class="hbSubmit" type="button" value="Add a child resource"
- onClick="add_child_resource(this.form)" />
- <input class="hbSubmit" value="Delete this resource"
- onClick="delete_resource(this.form)" />
+ <input class="hbSubmit" type="button"
+ onClick="validate_form(this.form);"
+ tal:attributes="value python: sinfo and 'Apply' or 'Submit'" />
+
+ <tal:block tal:condition="sinfo">
+ <input class="hbSubmit" type="button" value="Add a child"
+ onClick="add_child_resource(this.form)" />
+ <input class="hbSubmit" type="button" value="Delete this resource"
+ onClick="delete_resource(this.form)" />
+ </tal:block>
</div>
</form>
</div>
-<div id="SMB" metal:define-macro="smb_macro">
+<div class="rescfg" id="SMB" metal:define-macro="smb_macro">
<tal:block tal:condition="python: ptype == '33' or ptype == '24'"
tal:define="
global edit python: True;
- global resName res/name;
- global workgroup res/attrs/workgroup;
+ global resName res/name | nothing;
+ global workgroup res/attrs/workgroup | nothing;
global cluname request/clustername;
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname+'&edit=1'" />
<tal:block tal:condition="python: ptype != '33'"
tal:define="
- global edit python: false;
+ global edit python: False;
global cluname request/clustername;
tmp_URL context/cluster/index_html/absolute_url;
global processURL python: tmp_URL+'?pagetype=35&clustername='+cluname" />
- <strong class="reshdr" tal:condition="python: edit != 'true'">Samba Server Configuration</strong>
+ <div class="reshdr"
+ tal:condition="python: edit != 'true'">
+ Samba Server Configuration
+ </div>
<form name="smb_form" method="post" tal:attributes="action processURL">
-
<input name="pagetype" type="hidden" value="35" />
- <input name="clustername" type="hidden" tal:attributes="value cluname" />
+ <input name="tree_level" type="hidden"
+ tal:attributes="value res/indent_ctr | string:0" />
+
+ <input name="clustername" type="hidden"
+ tal:attributes="value cluname | nothing" />
<input name="oldname" type="hidden"
tal:condition="python: edit == True"
- tal:attributes="value res/name" />
+ tal:attributes="value res/name | nothing" />
<input name="edit" type="hidden" value="1"
tal:condition="python: edit == True" />
@@ -922,9 +915,7 @@
<table id="sambaTable" class="systemsTable">
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Name</strong>
- </td>
+ <td class="systemsTable">Name</td>
<td class="systemsTable">
<input type="text" size="20"
id="resourceName" name="resourceName"
@@ -933,9 +924,7 @@
</tr>
<tr class="systemsTable">
- <td class="systemsTable">
- <strong>Workgroup</strong>
- </td>
+ <td class="systemsTable">Workgroup</td>
<td class="systemsTable">
<input type="text" size="20" id="workgroup" name="workgroup"
tal:attributes="value workgroup | nothing"/>
@@ -944,12 +933,16 @@
</table>
<div class="hbSubmit">
- <input class="hbSubmit" type="button" value="Submit"
- onClick="validate(this.form);" />
- <input class="hbSubmit" type="button" value="Add a child resource"
- onClick="add_child_resource(this.form)" />
- <input class="hbSubmit" value="Delete this resource"
- onClick="delete_resource(this.form)" />
+ <input class="hbSubmit" type="button"
+ onClick="validate_form(this.form);"
+ tal:attributes="value python: sinfo and 'Apply' or 'Submit'" />
+
+ <tal:block tal:condition="sinfo">
+ <input class="hbSubmit" type="button" value="Add a child"
+ onClick="add_child_resource(this.form)" />
+ <input class="hbSubmit" type="button" value="Delete this resource"
+ onClick="delete_resource(this.form)" />
+ </tal:block>
</div>
</form>
--- conga/luci/cluster/resource_form_handlers.js 2006/09/06 22:13:33 1.4
+++ conga/luci/cluster/resource_form_handlers.js 2006/09/08 22:54:32 1.5
@@ -18,11 +18,14 @@
function validate_ip(form) {
var errors = new Array();
- var ipstr = form.ip1.value + '.' + form.ip2.value + '.' +
- form.ip3.value + '.' + form.ip4.value;
+ if (!form.ip_address || str_is_blank(form.ip_address.value))
+ errors.push('You did not give an IP address.');
+ return (errors);
+
+ var ipstr = form.ip_address.value;
if (!isValidHost(ipstr))
- errors.push('\"' + ipstr '\" is an invalid IP address.');
+ errors.push('\"' + ipstr + '\" is an invalid IP address.');
return (errors);
}
@@ -71,7 +74,7 @@
}
function validate_gfs(form) {
- my errors = new Array();
+ var errors = new Array();
if (!form.mountpoint || str_is_blank(form.mountpoint.value))
errors.push('No file system mount point was given.');
@@ -110,20 +113,33 @@
form_validators['scr'] = validate_script;
form_validators['smb'] = validate_samba;
-function validate(form) {
+function validate_form(form) {
var valfn = form_validators[form.type.value];
if (!valfn)
return (-1);
- if (error_dialog(valfn(form)))
+ var errors = valfn(form);
+ if (form.type.value != 'ip') {
+ if (!form.resourceName || str_is_blank(form.resourceName.value))
+ errors.push('No resource name was given.')
+ }
+
+ if (error_dialog(errors))
return (-1);
form.submit();
}
function delete_resource(form) {
- return (-1);
+ if (!confirm('Are you sure you want to delete this resource?'))
+ return (-1);
+ form.submit();
}
function add_child_resource(form) {
- return (-1);
+ if (!form || !form.tree_level ||
+ !is_valid_int(form.tree_level.value, 0, null))
+ {
+ return (-1);
+ }
+ var level = Number(form.tree_level.value);
}
--- conga/luci/homebase/homebase_common.js 2006/09/05 21:25:45 1.7
+++ conga/luci/homebase/homebase_common.js 2006/09/08 22:54:32 1.8
@@ -8,14 +8,22 @@
else
span = null;
- div = image.parentNode.parentNode.parentNode.getElementsByTagName('div');
- if (!div || div.length < 1)
+ var div = null;
+ divc = image.parentNode.parentNode.parentNode.getElementsByTagName('div');
+ for (var i = 0 ; i < divc.length ; i++) {
+ if (divc[i].className.match(/service_comp/)) {
+ div = divc[i];
+ break;
+ }
+ }
+
+ if (!div)
return (-1);
- div = div[3];
if (image.name == 'arrow_down') {
image.src = 'arrow_right.png';
image.name = 'arrow_right';
+ image.alt = '[-]';
if (span)
span.innerHTML = 'Show Children';
div.style.visibility = 'hidden';
@@ -23,6 +31,7 @@
} else {
image.src = 'arrow_down.png';
image.name = 'arrow_down';
+ image.alt = '[+]';
if (span)
span.innerHTML = 'Hide Children';
div.style.visibility = 'inherit';
--- conga/luci/homebase/luci_homebase.css 2006/09/06 22:14:42 1.19
+++ conga/luci/homebase/luci_homebase.css 2006/09/08 22:54:32 1.20
@@ -259,14 +259,23 @@
strong.cluster {
text-align: top;
font-size: 9pt;
- letter-spacing: 120%;
+ letter-spacing: +1px;
}
+*.reshdr {
+ text-align: top;
+ font-size: 9pt;
+ letter-spacing: +1px;
+ font-weight: 600;
+ padding-bottom: +1em;
+}
+
+
strong.service_name,
strong.node_name,
strong.cluster_name {
font-size: 10pt;
- letter-spacing: 120%;
+ letter-spacing: +1px;
}
td.service_name,
@@ -363,38 +372,36 @@
}
div.systemsList {
- margin-top: .25em !important;
- margin-bottom: .25em !important;
+ margin-top: .25em ! important;
+ margin-bottom: .25em ! important;
}
-div.service_comp {
+#service_comp_list {
background: #dee7ec;
- padding: .66em;
- margin-top: .5em;
-}
-
-div.rc_indent0 {
- margin-left: 0px;
max-width: 700px;
+ padding: 1em;
}
-div.rc_indent1 {
- margin-left: 30px
-}
-
-div.rc_indent2 {
- margin-left: 60px
+div.rescfg {
+ background: #dee7ec;
}
-div.rc_indent3 {
- margin-left: 90px
+div.service_comp {
+ background: #dee7ec;
+ padding: .66em;
+ margin-top: .5em;
+ border-left: thin solid #c9c9c9;
+ border-bottom: thin solid #c9c9c9;
+ margin-bottom: 1em;
}
-div.rc_indent4 {
- margin-left: 120px
+div.service_comp > div.service_comp {
+ margin-left: +20px;
+ margin-bottom: 0px;
+ border-bottom: none;
}
-
-div.rc_indent5 {
- margin-left: 150px
+/*
+div.rc_indent0 {
+ border-left: none ! important;
}
-
+*/
--- conga/luci/site/luci/Extensions/cluster_adapters.py 2006/08/30 22:59:01 1.62
+++ conga/luci/site/luci/Extensions/cluster_adapters.py 2006/09/08 22:54:32 1.63
@@ -150,7 +150,7 @@
cluster_properties['isComplete'] = False
errors.append(error)
return (False, {'errors': errors, 'requestResults':cluster_properties })
- batch_id_map = {}
+ batch_id_map = {}
for i in nodeList:
try:
rc = RicciCommunicator(i['ricci_host'])
@@ -1786,21 +1786,23 @@
return resList
def getResourceInfo(modelb, request):
- resMap = {}
- name = request['resourcename']
- baseurl = request['URL']
- cluname = request['clustername']
- for res in modelb.getResources():
- if res.getName() == name:
- resMap['name'] = res.getName()
- resMap['type'] = res.resource_type
- resMap['tag_name'] = res.TAG_NAME
- resMap['attrs'] = res.attr_hash
- resMap['cfgurl'] = baseurl + "?" + "clustername=" + cluname + "&resourcename=" + res.getName() + "&pagetype=" + RESOURCE_CONFIG
- return resMap
-
- return {}
+ resMap = {}
+ try:
+ name = request['resourcename']
+ baseurl = request['URL']
+ cluname = request['clustername']
+
+ for res in modelb.getResources():
+ if res.getName() == name:
+ resMap['name'] = res.getName()
+ resMap['type'] = res.resource_type
+ resMap['tag_name'] = res.TAG_NAME
+ resMap['attrs'] = res.attr_hash
+ resMap['cfgurl'] = baseurl + "?" + "clustername=" + cluname + "&resourcename=" + res.getName() + "&pagetype=" + RESOURCE_CONFIG
+ return resMap
+ except: pass
+ return {}
def delResource(self, request, ragent):
modelb = request.SESSION.get('model')
@@ -1906,13 +1908,13 @@
else:
res = apply(Ip)
form = request.form
- addr = form["ip1"]+"."+form["ip2"]+"."+form["ip3"]+"."+form["ip4"]
+ addr = form['ip_address']
res.attr_hash["address"] = addr
if form.has_key('monitorLink'):
res.attr_hash["monitor_link"] = '1'
else:
res.attr_hash["monitor_link"] = '0'
- modelb.getResourcesPtr().addChild(res);
+ modelb.getResourcesPtr().addChild(res)
return res
def addFs(request):
@@ -1943,7 +1945,7 @@
else:
res.attr_hash["force_fsck"] = '0'
- modelb.getResourcesPtr().addChild(res);
+ modelb.getResourcesPtr().addChild(res)
return res
def addGfs(request):
@@ -1964,7 +1966,7 @@
else:
res.attr_hash["force_unmount"] = '0'
- modelb.getResourcesPtr().addChild(res);
+ modelb.getResourcesPtr().addChild(res)
return res
def addNfsm(request):
@@ -1986,7 +1988,7 @@
else:
res.attr_hash["force_unmount"] = '0'
- modelb.getResourcesPtr().addChild(res);
+ modelb.getResourcesPtr().addChild(res)
return res
def addNfsc(request):
@@ -2000,7 +2002,7 @@
res.attr_hash["target"] = form["target"]
res.attr_hash["options"] = form["options"]
- modelb.getResourcesPtr().addChild(res);
+ modelb.getResourcesPtr().addChild(res)
return res
def addNfsx(request):
@@ -2012,7 +2014,7 @@
form = request.form
res.attr_hash["name"] = form["resourceName"]
- modelb.getResourcesPtr().addChild(res);
+ modelb.getResourcesPtr().addChild(res)
return res
def addScr(request):
@@ -2025,7 +2027,7 @@
res.attr_hash["name"] = form["resourceName"]
res.attr_hash["file"] = form["file"]
- modelb.getResourcesPtr().addChild(res);
+ modelb.getResourcesPtr().addChild(res)
return res
def addSmb(request):
@@ -2038,7 +2040,7 @@
res.attr_hash["name"] = form["resourceName"]
res.attr_hash["workgroup"] = form["workgroup"]
- modelb.getResourcesPtr().addChild(res);
+ modelb.getResourcesPtr().addChild(res)
return res
def appendModel(request, model):
next reply other threads:[~2006-09-08 22:54 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-08 22:54 rmccabe [this message]
-- strict thread matches above, loose matches on Subject: below --
2007-07-26 4:16 [Cluster-devel] conga/luci cluster/form-macros cluster/index_h rmccabe
2007-02-20 23:09 rmccabe
2007-02-20 23:07 rmccabe
2006-12-21 5:08 rmccabe
2006-11-07 21:33 rmccabe
2006-11-03 19:13 rmccabe
2006-10-31 17:28 rmccabe
2006-10-16 4:26 rmccabe
2006-07-19 20:20 rmccabe
2006-07-05 20:13 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=20060908225433.28542.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.