[Cluster-devel] conga/luci cluster/form-macros cluster/index_h ...
rmccabe at sourceware.org
rmccabe at sourceware.org
Fri Sep 8 22:54:33 UTC 2006
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):
More information about the Cluster-devel
mailing list