From: rmccabe@sourceware.org <rmccabe@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] conga/luci cluster/form-macros cluster/index_h ...
Date: 7 Nov 2006 21:33:52 -0000 [thread overview]
Message-ID: <20061107213352.31252.qmail@sourceware.org> (raw)
CVSROOT: /cvs/cluster
Module name: conga
Changes by: rmccabe at sourceware.org 2006-11-07 21:33:52
Modified files:
luci/cluster : form-macros index_html resource-form-macros
luci/site/luci/Extensions: cluster_adapters.py
Log message:
- fix fenced parameter updates (properties must be strings, not ints)
- fix more disappearing model builder object problems
- add a configure action in the bottom left portal for each cluster
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.100&r2=1.101
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/index_html.diff?cvsroot=cluster&r1=1.26&r2=1.27
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/resource-form-macros.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.152&r2=1.153
--- conga/luci/cluster/form-macros 2006/11/07 20:28:36 1.100
+++ conga/luci/cluster/form-macros 2006/11/07 21:33:52 1.101
@@ -2176,7 +2176,6 @@
</div>
<div metal:define-macro="xenvmadd-form">
- <span tal:define="ress python:here.appendModel(request, modelb)"/>
<form method="get" action="" tal:attributes="action python:request['baseurl'] + '?clustername=' + request['clustername'] + '&pagetype=29'">
<h4>Path to configuration file: </h4><input type="text" name="xenvmpath" value=""/>
<h4>Name of configuration file: </h4><input type="text" name="xenvmname" value=""/>
@@ -2185,7 +2184,6 @@
</div>
<div metal:define-macro="xenvmconfig-form">
- <span tal:define="ress python:here.appendModel(request, modelb)"/>
<h4>Properties for Xen VM <font color="green"><span tal:content="request/servicename"/></font></h4>
<span tal:define="global xeninfo python:here.getXenVMInfo(modelb, request)">
<form method="get" action="" tal:attributes="action python:request['baseurl'] + '?clustername=' + request['clustername'] + '&pagetype=29&servicename=' + request['servicename']">
--- conga/luci/cluster/index_html 2006/11/07 20:28:36 1.26
+++ conga/luci/cluster/index_html 2006/11/07 21:33:52 1.27
@@ -164,9 +164,17 @@
<tal:block tal:condition="python: ri_agent">
<tal:block tal:define="
global modelb python:here.getmodelbuilder(ri_agent, isVirtualized)" />
+ <tal:block tal:condition="python: modelb">
+ <tal:block
+ tal:define="dummy python: here.appendModel(request, modelb)" />
+ </tal:block>
</tal:block>
</tal:block>
+ <tal:block tal:condition="not: exists: modelb">
+ <tal:block tal:define="global modelb nothing" />
+ </tal:block>
+
<table id="portal-columns">
<tbody>
<tr>
--- conga/luci/cluster/resource-form-macros 2006/10/30 20:42:03 1.22
+++ conga/luci/cluster/resource-form-macros 2006/11/07 21:33:52 1.23
@@ -43,8 +43,7 @@
<tal:block
tal:define="
- global rescInf python: here.getResourcesInfo(modelb, request);
- global msg python: here.appendModel(request, modelb)" />
+ global rescInf python: here.getResourcesInfo(modelb, request)" />
<table class="systemsTable">
<thead class="systemsTable">
@@ -258,44 +257,43 @@
<tal:block tal:define="global resourcename request/resourcename | request/form/resourceName | nothing" />
<tal:block tal:condition="resourcename"
tal:define="
- global msg python: here.appendModel(request, modelb);
global res python: here.getResourceInfo(modelb, request);
global type python: 'tag_name' in res and res['tag_name'] or ''">
<h2>Configure <span tal:replace="res/name | string: resource" /></h2>
<div class="reschoose">
- <span tal:omit-tag="" tal:condition="python: type == 'ip'">
+ <tal:block tal:condition="python: type == 'ip'">
<div metal:use-macro="here/resource-form-macros/macros/ip_macro" />
- </span>
+ </tal:block>
- <span tal:omit-tag="" tal:condition="python: type == 'fs'">
+ <tal:block tal:condition="python: type == 'fs'">
<div metal:use-macro="here/resource-form-macros/macros/fs_macro" />
- </span>
+ </tal:block>
- <span tal:omit-tag="" tal:condition="python: type == 'gfs'">
+ <tal:block tal:condition="python: type == 'gfs'">
<div metal:use-macro="here/resource-form-macros/macros/gfs_macro" />
- </span>
+ </tal:block>
- <span tal:omit-tag="" tal:condition="python: type == 'nfsm'">
+ <tal:block tal:condition="python: type == 'nfsm'">
<div metal:use-macro="here/resource-form-macros/macros/nfsm_macro"/>
- </span>
+ </tal:block>
- <span tal:omit-tag="" tal:condition="python: type == 'nfsx'">
+ <tal:block tal:condition="python: type == 'nfsx'">
<div metal:use-macro="here/resource-form-macros/macros/nfsx_macro"/>
- </span>
+ </tal:block>
- <span tal:omit-tag="" tal:condition="python: type == 'nfsc'">
+ <tal:block tal:condition="python: type == 'nfsc'">
<div metal:use-macro="here/resource-form-macros/macros/nfsc_macro"/>
- </span>
+ </tal:block>
- <span tal:omit-tag="" tal:condition="python: type == 'smb'">
+ <tal:block tal:condition="python: type == 'smb'">
<div metal:use-macro="here/resource-form-macros/macros/smb_macro" />
- </span>
+ </tal:block>
- <span tal:omit-tag="" tal:condition="python: type == 'script'">
+ <tal:block tal:condition="python: type == 'script'">
<div metal:use-macro="here/resource-form-macros/macros/scr_macro" />
- </span>
+ </tal:block>
</div>
</tal:block>
</div>
--- conga/luci/site/luci/Extensions/cluster_adapters.py 2006/11/07 20:14:15 1.152
+++ conga/luci/site/luci/Extensions/cluster_adapters.py 2006/11/07 21:33:52 1.153
@@ -516,7 +516,6 @@
try:
model.usesMulticast = True
model.mcast_address = addr_str
- model.setModified(True)
except Exception, e:
luci_log.debug('Error updating mcast properties: %s' % str(e))
errors.append('Unable to update cluster multicast properties')
@@ -720,8 +719,8 @@
if post_join_delay == old_pj_delay and post_fail_delay == old_pf_delay:
errors.append('No fence daemon properties were changed.')
else:
- fd.setPostJoinDelay(post_join_delay)
- fd.setPostFailDelay(post_fail_delay)
+ fd.setPostJoinDelay(str(post_join_delay))
+ fd.setPostFailDelay(str(post_fail_delay))
except Exception, e:
luci_log.debug_verbose('Unable to update fence daemon properties: %s' % str(e))
errors.append('An error occurred while attempting to update fence daemon properties.')
@@ -764,7 +763,7 @@
return (False, {'errors': ['No cluster model was found.']})
try:
- model = getModelBuilder(rc, rc.dom0())
+ model = getModelBuilder(None, rc, rc.dom0())
if not model:
raise Exception, 'model is none'
except Exception, e:
@@ -807,7 +806,8 @@
try:
config_ver = int(cp.getConfigVersion()) + 1
# always increment the configuration version
- cp.setConfigVersion(config_ver)
+ cp.setConfigVersion(str(config_ver))
+ model.setModified(True)
conf_str = model.exportModelAsString()
if not conf_str:
raise Exception, 'conf_str is none'
@@ -1259,6 +1259,19 @@
kids.append(rvadd)
kids.append(rvcfg)
rv['children'] = kids
+ ################################################################
+
+ cprop = {}
+ cprop['Title'] = 'Configure'
+ cprop['cfg_type'] = 'configuration paramters'
+ cprop['absolute_url'] = url + '?pagetype=' + CLUSTER_CONFIG + '&clustername=' + cluname
+ cprop['Description'] = 'Change cluster configuration parameters'
+ cprop['show_children'] = False
+ if pagetype == CLUSTER_CONFIG:
+ cprop['currentItem'] = True
+ else:
+ cprop['currentItem'] = False
+
#################################################################
fd = {}
fd['Title'] = "Failover Domains"
@@ -1403,6 +1416,7 @@
mylist.append(nd)
mylist.append(sv)
mylist.append(rv)
+ mylist.append(cprop)
mylist.append(fd)
mylist.append(fen)
@@ -2076,7 +2090,7 @@
luci_log.debug_verbose('GCI1: unable to find a ricci agent for the %s cluster' % cluname)
return {}
try:
- model = getModelBuilder(rc, rc.dom0())
+ model = getModelBuilder(None, rc, rc.dom0())
if not model:
raise Exception, 'model is none'
@@ -4350,24 +4364,27 @@
return True
-def getModelBuilder(rc, isVirtualized):
+def getModelBuilder(self, rc, isVirtualized):
try:
cluster_conf_node = getClusterConf(rc)
if not cluster_conf_node:
- raise
- except:
- luci_log.debug('unable to get cluster_conf_node in getModelBuilder')
+ raise Exception, 'getClusterConf returned None'
+ except Exception, e:
+ luci_log.debug_verbose('GMB0: unable to get cluster_conf_node in getModelBuilder: %s' % str(e))
return None
try:
modelb = ModelBuilder(0, None, None, cluster_conf_node)
+ if not modelb:
+ raise Exception, 'ModelBuilder returned None'
except Exception, e:
try:
- luci_log.debug('An error occurred while trying to get modelb for conf \"%s\": %s' % (cluster_conf_node.toxml(), str(e)))
+ luci_log.debug_verbose('GMB1: An error occurred while trying to get modelb for conf \"%s\": %s' % (cluster_conf_node.toxml(), str(e)))
except:
- pass
+ luci_log.debug_verbose('GMB1: ModelBuilder failed')
- modelb.setIsVirtualized(isVirtualized)
+ if modelb:
+ modelb.setIsVirtualized(isVirtualized)
return modelb
def set_node_flag(self, cluname, agent, batchid, task, desc):
next reply other threads:[~2006-11-07 21:33 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-07 21:33 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-03 19:13 rmccabe
2006-10-31 17:28 rmccabe
2006-10-16 4:26 rmccabe
2006-09-08 22:54 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=20061107213352.31252.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.