[Cluster-devel] conga/luci cluster/form-macros cluster/resourc ...
rmccabe at sourceware.org
rmccabe at sourceware.org
Sat Sep 23 04:04:09 UTC 2006
CVSROOT: /cvs/cluster
Module name: conga
Changes by: rmccabe at sourceware.org 2006-09-23 04:04:08
Modified files:
luci/cluster : form-macros resource-form-macros
resource_form_handlers.js
luci/homebase : form-macros luci_homebase.css
luci/site/luci/Extensions: cluster_adapters.py ricci_bridge.py
Log message:
more cleanups, add the service add form to the service add page.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.65&r2=1.66
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/resource-form-macros.diff?cvsroot=cluster&r1=1.15&r2=1.16
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/resource_form_handlers.js.diff?cvsroot=cluster&r1=1.11&r2=1.12
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/form-macros.diff?cvsroot=cluster&r1=1.36&r2=1.37
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/luci_homebase.css.diff?cvsroot=cluster&r1=1.22&r2=1.23
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/cluster_adapters.py.diff?cvsroot=cluster&r1=1.66&r2=1.67
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ricci_bridge.py.diff?cvsroot=cluster&r1=1.17&r2=1.18
--- conga/luci/cluster/form-macros 2006/09/22 21:59:03 1.65
+++ conga/luci/cluster/form-macros 2006/09/23 04:04:08 1.66
@@ -165,7 +165,7 @@
<tr class="systemsTable"><td class="systemsTable" colspan="2">
<div class="systemsTableEnd">
- <input type="button" class="hbSubmit" value="Add Another Row" onClick="addSystem(adminform);" />
+ <input type="button" value="Add Another Row" onClick="addSystem(adminform);" />
</div>
</td></tr>
</tfoot>
@@ -238,7 +238,7 @@
</td></tr>
<tr class="systemsTable"><td class="systemsTable" colspan="2">
<div class="systemsTableEnd">
- <input type="button" class="hbSubmit" value="Add Another Row" onClick="addSystem(adminform);" />
+ <input type="button" value="Add Another Row" onClick="addSystem(adminform);" />
</div>
</td></tr>
</tfoot>
@@ -281,7 +281,7 @@
</tal:block>
<div class="hbSubmit" id="hbSubmit">
- <input type="button" class="hbSubmit" name="Submit" value="Submit" onClick="validateForm(document.adminform);" />
+ <input type="button" name="Submit" value="Submit" onClick="validateForm(document.adminform);" />
</div>
</form>
</div>
@@ -670,7 +670,7 @@
<div class="spacing configTabContent"></div>
<div class="hbSubmit spacing configTabContent">
- <input class="hbSubmit" type="button" value="Apply"
+ <input type="button" value="Apply"
onClick="validate_form(this.form);"
>
</div>
@@ -769,7 +769,7 @@
<tfoot class="systemsTable">
<tr class="systemsTable"><td class="systemsTable" colspan="3">
<div class="systemsTableEnd">
- <input class="hbSubmit" type="button" value="Update node daemon properties" />
+ <input type="button" value="Update node daemon properties" />
</div>
</td></tr>
</tfoot>
@@ -991,7 +991,7 @@
<tr class="systemsTable"><td class="systemsTable" colspan="2">
<div class="systemsTableEnd">
- <input type="button" class="hbSubmit" value="Add Another Row" onClick="addSystem(adminform);" />
+ <input type="button" value="Add Another Row" onClick="addSystem(adminform);" />
</div>
</td></tr>
</tfoot>
@@ -1013,7 +1013,7 @@
</table>
<div class="hbSubmit" id="hbSubmit">
- <input type="button" class="hbSubmit" name="Submit" value="Submit" onClick="validateForm(document.adminform);" />
+ <input type="button" name="Submit" value="Submit" onClick="validateForm(document.adminform);" />
</div>
</form>
</div>
@@ -1090,7 +1090,54 @@
</div>
<div metal:define-macro="serviceadd-form">
- <h2>Service Add Form</h2>
+ <tal:block metal:use-macro="here/form-macros/macros/service-config-head-macro" />
+
+ <h2>Add a Service</h2>
+
+ <div id="resskel" class="invisible">
+ <tal:block metal:use-macro="here/resource-form-macros/macros/service-compose-macro" />
+ </div>
+
+ <div class="service_comp_list">
+ <form name="service_name_form">
+ <table class="systemsTable">
+ <tr class="systemsTable">
+ <td class="systemsTable">
+ <strong class="reshdr">Service name</strong>
+ </td>
+ <td class="systemsTable">
+ <input type="text" length="20" name="service_name" value="" />
+ </td>
+ </tr>
+ </table>
+ </form>
+ </div>
+ <div class="service_comp_list" tal:attributes="id sinfo/root_uuid">
+ </div>
+
+ <div class="service_comp_list">
+ <form name="master">
+ <input type="button" value="Add a resource to this service"
+ onclick="add_child_resource(this.form);" />
+ <input type="button" value="Submit"
+ onClick="forms_to_xml()" />
+ <input type="hidden" name="uuid" value="toplevel" />
+ <input type="hidden" name="parent_uuid" value="_toplevel" />
+ <input type="hidden" name="tree_level" value="-1" />
+ <input type="hidden" name="form_xml" />
+ </form>
+ </div>
+
+ <div class="invisible" id="global_resources_block">
+ <tal:block tal:repeat="gr global_resources">
+ <tal:block tal:define="
+ global res gr;
+ global type res/type;
+ global resourceIsRef python: True" />
+
+ <tal:block metal:use-macro="here/form-macros/macros/serviceconfig-type-macro" />
+ </tal:block>
+ </div>
</div>
<div metal:define-macro="servicestart">
@@ -1112,7 +1159,34 @@
<!-- <span metal:use-macro="here/form-macros/macros/serviceconfig-form"/> -->
</div>
-<div metal:define-macro="serviceconfig-form">
+<div metal:define-macro="serviceconfig-type-macro" tal:omit-tag="">
+ <span tal:omit-tag="" tal:condition="python: type == 'IP Address: '">
+ <tal:block metal:use-macro="here/resource-form-macros/macros/ip_macro" />
+ </span>
+ <span tal:omit-tag="" tal:condition="python: type == 'fs'">
+ <tal:block metal:use-macro="here/resource-form-macros/macros/fs_macro" />
+ </span>
+ <span tal:omit-tag="" tal:condition="python: type == 'gfs'">
+ <tal:block metal:use-macro="here/resource-form-macros/macros/gfs_macro" />
+ </span>
+ <span tal:omit-tag="" tal:condition="python: type == 'nfsm'">
+ <tal:block metal:use-macro="here/resource-form-macros/macros/nfsm_macro" />
+ </span>
+ <span tal:omit-tag="" tal:condition="python: type == 'nfsx'">
+ <tal:block metal:use-macro="here/resource-form-macros/macros/nfsx_macro" />
+ </span>
+ <span tal:omit-tag="" tal:condition="python: type == 'nfsc'">
+ <tal:block metal:use-macro="here/resource-form-macros/macros/nfsc_macro" />
+ </span>
+ <span tal:omit-tag="" tal:condition="python: type == 'smb'">
+ <tal:block metal:use-macro="here/resource-form-macros/macros/smb_macro" />
+ </span>
+ <span tal:omit-tag="" tal:condition="python: type == 'Script: '">
+ <tal:block metal:use-macro="here/resource-form-macros/macros/scr_macro" />
+ </span>
+</div>
+
+<div metal:define-macro="service-config-head-macro" tal:omit-tag="">
<script type="text/javascript"
src="/luci/homebase/homebase_common.js">
</script>
@@ -1132,7 +1206,10 @@
var active_resources = <tal:block tal:replace="python: map(lambda x: str(x['name']), sinfo['resource_list']) or 'null'" />;
var resource_names = <tal:block tal:replace="python: (map(lambda x: str(x['name']), global_resources) + map(lambda x: str(x['name']), sinfo['resource_list'])) or 'null'" />;
<tal:block tal:replace="structure string: </script>" />
+</div>
+<div metal:define-macro="serviceconfig-form">
+ <tal:block metal:use-macro="here/form-macros/macros/service-config-head-macro" />
<table class="cluster service" width="100%">
<tr class="cluster service info_top">
<td class="cluster service service_name">
@@ -1178,14 +1255,13 @@
</table>
<br/>
+ <h2>Service Composition</h2>
+
<div id="resskel" class="invisible">
<tal:block metal:use-macro="here/resource-form-macros/macros/service-compose-macro" />
</div>
- <h2>Service Composition</h2>
-
<div class="service_comp_list" tal:attributes="id sinfo/root_uuid">
-
<div tal:repeat="res sinfo/resource_list"
tal:attributes="
class python: 'service_comp rc_indent' + str(res['indent_ctr']);
@@ -1199,48 +1275,24 @@
global type res/type;
global resourceIsRef res/ref_object | nothing" />
- <span tal:omit-tag="" tal:condition="python: type == 'IP Address: '">
- <tal:block metal:use-macro="here/resource-form-macros/macros/ip_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'fs'">
- <tal:block metal:use-macro="here/resource-form-macros/macros/fs_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'gfs'">
- <tal:block metal:use-macro="here/resource-form-macros/macros/gfs_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'nfsm'">
- <tal:block metal:use-macro="here/resource-form-macros/macros/nfsm_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'nfsx'">
- <tal:block metal:use-macro="here/resource-form-macros/macros/nfsx_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'nfsc'">
- <tal:block metal:use-macro="here/resource-form-macros/macros/nfsc_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'smb'">
- <tal:block metal:use-macro="here/resource-form-macros/macros/smb_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'Script: '">
- <tal:block metal:use-macro="here/resource-form-macros/macros/scr_macro" />
- </span>
+ <tal:block metal:use-macro="here/form-macros/macros/serviceconfig-type-macro" />
<tal:block
tal:condition="python: 'indent_ctr' in res and 'max_depth' in res"
tal:replace="structure python: '</div>' * (res['indent_ctr'] - res['max_depth'])" />
+ </div>
</div>
- <form name="master">
- <input type="button" class="hbSubmit"
- value="Save changes"
+ <div class="service_comp_list">
+ <form name="master">
+ <input type="button" value="Add a resource to this service"
+ onclick="add_child_resource(this.form);" />
+ <input type="button" value="Save changes"
onClick="forms_to_xml()" />
+ <input type="hidden" name="uuid" value="toplevel" />
+ <input type="hidden" name="parent_uuid" value="_toplevel" />
+ <input type="hidden" name="tree_level" value="-1" />
<input type="hidden" name="form_xml" />
- </form>
+ </form>
</div>
<div class="invisible" id="global_resources_block">
@@ -1250,37 +1302,7 @@
global type res/type;
global resourceIsRef python: True" />
- <span tal:omit-tag="" tal:condition="python: type == 'IP Address: '">
- <tal:block metal:use-macro="here/resource-form-macros/macros/ip_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'fs'">
- <tal:block metal:use-macro="here/resource-form-macros/macros/fs_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'gfs'">
- <tal:block metal:use-macro="here/resource-form-macros/macros/gfs_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'nfsm'">
- <tal:block metal:use-macro="here/resource-form-macros/macros/nfsm_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'nfsx'">
- <tal:block metal:use-macro="here/resource-form-macros/macros/nfsx_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'nfsc'">
- <tal:block metal:use-macro="here/resource-form-macros/macros/nfsc_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'smb'">
- <tal:block metal:use-macro="here/resource-form-macros/macros/smb_macro" />
- </span>
-
- <span tal:omit-tag="" tal:condition="python: type == 'Script: '">
- <tal:block metal:use-macro="here/resource-form-macros/macros/scr_macro" />
- </span>
+ <tal:block metal:use-macro="here/form-macros/macros/serviceconfig-type-macro" />
</tal:block>
</div>
</div>
--- conga/luci/cluster/resource-form-macros 2006/09/22 21:59:03 1.15
+++ conga/luci/cluster/resource-form-macros 2006/09/23 04:04:08 1.16
@@ -6,15 +6,15 @@
<div metal:define-macro="res_form_footer" tal:omit-tag="">
<p class="hbSubmit">
- <input class="hbSubmit" type="button"
+ <input type="button"
onClick="validate_form(this.form);"
value="Submit"
tal:condition="not: sinfo" />
<tal:block tal:condition="sinfo">
- <input class="hbSubmit" type="button" value="Add a child"
+ <input type="button" value="Add a child"
onClick="add_child_resource(this.form)" />
- <input class="hbSubmit" type="button" value="Delete this resource"
+ <input type="button" value="Delete this resource"
onClick="delete_resource(this.form)" />
</tal:block>
</p>
--- conga/luci/cluster/resource_form_handlers.js 2006/09/22 21:59:03 1.11
+++ conga/luci/cluster/resource_form_handlers.js 2006/09/23 04:04:08 1.12
@@ -271,16 +271,15 @@
function add_child_resource(form) {
if (!form || !form.tree_level || !form.parent_uuid || !form.uuid ||
- !is_valid_int(form.tree_level.value, 0, null))
+ !is_valid_int(form.tree_level.value, -1, null))
{
return (-1);
}
var ilevel = Number(form.tree_level.value) + 1;
var sdiv = document.getElementById('resskel');
- if (!sdiv) {
+ if (!sdiv)
return (-1);
- }
var pdiv = document.getElementById(form.uuid.value);
if (!pdiv) {
--- conga/luci/homebase/form-macros 2006/09/22 18:22:39 1.36
+++ conga/luci/homebase/form-macros 2006/09/23 04:04:08 1.37
@@ -1,7 +1,7 @@
<html>
<tal:comment replace="nothing">
- $Id: form-macros,v 1.36 2006/09/22 18:22:39 rmccabe Exp $
+ $Id: form-macros,v 1.37 2006/09/23 04:04:08 rmccabe Exp $
</tal:comment>
<head>
@@ -72,7 +72,7 @@
tal:attributes="value python:data['children'][data['curIndex']]['absolute_url']" />
<div class="hbSubmit" tal:condition="python:userList" id="hbSubmit">
- <input class="hbSubmit" name="Submit" type="button" value="Delete This User" onClick="validateForm(document.adminform);" />
+ <input name="Submit" type="button" value="Delete This User" onClick="validateForm(document.adminform);" />
</div>
</form>
@@ -138,7 +138,7 @@
tal:attributes="value python:data['children'][data['curIndex']]['absolute_url']" />
<div class="hbSubmit" id="hbSubmit">
- <input class="hbSubmit" name="Submit" type="button" value="Submit" onClick="validateForm(document.adminform);" />
+ <input name="Submit" type="button" value="Submit" onClick="validateForm(document.adminform);" />
</div>
</form>
</div>
@@ -245,7 +245,7 @@
tal:attributes="value python: num_clusters + 1" />
<div class="hbSubmit" id="hbSubmit">
- <input type="button" class="hbSubmit" name="Update Permissions" value="Update Permissions" onClick="validateForm(document.adminform);" />
+ <input type="button" name="Update Permissions" value="Update Permissions" onClick="validateForm(document.adminform);" />
</div>
</form>
@@ -351,7 +351,7 @@
tal:attributes="value python: num_clusters + 1" />
<div class="hbSubmit" id="hbSubmit">
- <input type="button" class="hbSubmit" name="Submit" value="Remove Selected Systems" onClick="validateForm(document.adminform);" />
+ <input type="button" name="Submit" value="Remove Selected Systems" onClick="validateForm(document.adminform);" />
</div>
</form>
@@ -413,7 +413,7 @@
<tr class="systemsTable"><td class="systemsTable" colspan="2">
<div class="systemsTableEnd">
- <input type="button" class="hbSubmit" value="Add another entry" onClick="addSystem(adminform);" />
+ <input type="button" value="Add another entry" onClick="addSystem(adminform);" />
</div>
</td></tr>
</tfoot>
@@ -435,7 +435,7 @@
</table>
<div class="hbSubmit" id="hbSubmit">
- <input type="button" class="hbSubmit" name="Submit" value="Submit" onClick="validateForm(document.adminform);" />
+ <input type="button" name="Submit" value="Submit" onClick="validateForm(document.adminform);" />
</div>
</form>
</div>
@@ -540,7 +540,7 @@
tal:attributes="value python: sysNum" />
<div class="hbSubmit" id="hbSubmit">
- <input type="button" class="hbSubmit" name="Submit" value="Add This Cluster" onClick="validateForm(document.adminform);" />
+ <input type="button" name="Submit" value="Add This Cluster" onClick="validateForm(document.adminform);" />
</div>
</form>
</div>
@@ -609,7 +609,7 @@
<input type="hidden" name="numStorage" value="1" />
<div class="hbSubmit" id="hbSubmit">
- <input type="button" class="hbSubmit" name="Submit" value="Submit" onClick="validateForm(document.adminform);" />
+ <input type="button" name="Submit" value="Submit" onClick="validateForm(document.adminform);" />
</div>
</form>
</div>
--- conga/luci/homebase/luci_homebase.css 2006/09/13 17:50:22 1.22
+++ conga/luci/homebase/luci_homebase.css 2006/09/23 04:04:08 1.23
@@ -1,5 +1,11 @@
input[type=text], input[type=password] {
padding: .2em ! important;
+ font-family: "Bitstream Vera Sans Mono", "DejaVu Sans Mono", monospace;
+ font-size: 11px;
+}
+
+input[type=button] {
+ font-size: 11px;
}
input[type=checkbox], input[type=radio] {
@@ -19,7 +25,6 @@
input.qdisk {
padding: .2em;
- font-size: 10px;
}
input.qdname {
--- conga/luci/site/luci/Extensions/cluster_adapters.py 2006/09/22 18:24:45 1.66
+++ conga/luci/site/luci/Extensions/cluster_adapters.py 2006/09/23 04:04:08 1.67
@@ -843,9 +843,9 @@
rb = ricci_bridge(node[1].getId())
if rb.getRicciResponse() == True:
return node[1].getId()
- return None
+ return ""
else:
- return None
+ return ""
def getClusterStatus(self, ricci_name):
@@ -921,7 +921,17 @@
baseurl = req['URL']
cluname = req['clustername']
hmap = {}
- servicename = req['servicename']
+ root_uuid = 'toplevel'
+
+ hmap['root_uuid'] = root_uuid
+ hmap['uuid_list'] = map(lambda x: make_uuid('resource'), xrange(30))
+
+ try:
+ servicename = req['servicename']
+ except KeyError, e:
+ hmap['resource_list'] = {}
+ return hmap
+
for item in status:
if item['type'] == "service":
if item['name'] == servicename:
@@ -966,13 +976,10 @@
if svc != None:
indent_ctr = 0
children = svc.getChildren()
- root_uuid = 'toplevel';
for child in children:
recurse_resources(root_uuid, child, resource_list, indent_ctr)
hmap['resource_list'] = resource_list
- hmap['root_uuid'] = root_uuid
- hmap['uuid_list'] = map(lambda x: make_uuid('resource'), xrange(30))
return hmap
def recurse_resources(parent_uuid, child, resource_list, indent_ctr, parent=None):
--- conga/luci/site/luci/Extensions/ricci_bridge.py 2006/08/14 16:01:59 1.17
+++ conga/luci/site/luci/Extensions/ricci_bridge.py 2006/09/23 04:04:08 1.18
@@ -127,9 +127,12 @@
if hello != None:
pass
#print hello.toxml()
- self.__sendall(CLUSTER_STR, ss)
-
-
+ try:
+ self.__sendall(CLUSTER_STR, ss)
+ except sslerror, e:
+ sock.close()
+ return ''
+
# receive response
doc = self.__receive(ss)
if doc == None:
More information about the Cluster-devel
mailing list