commit c95375f0e0f369a1337190976e9cf57119259178
Author: Chris Feist <cfeist(a)redhat.com>
Date: Thu Dec 17 16:18:09 2009 -0600
Added support for processing form information from cluster configuration.
luci/controllers/cluster.py | 18 ++++-
luci/templates/configure.html | 193 ++++++++++++++++-------------------------
2 files changed, 93 insertions(+), 118 deletions(-)
---
diff --git a/luci/controllers/cluster.py b/luci/controllers/cluster.py
index 7069019..18ac876 100644
--- a/luci/controllers/cluster.py
+++ b/luci/controllers/cluster.py
@@ -218,7 +218,23 @@ class IndividualClusterController(BaseController):
tmpl_context.cluster_data=data.clusters[self.name]
tmpl_context.cluster_name = self.name
tmpl_context.cluster_url = "/cluster/" + self.name + '/'
- return dict(page='nodes',name='configure', base_url =
'/cluster/' + self.name + '/configure')
+ configure_cmd = '/cluster/' + self.name + '/configure_cmd'
+ return dict(page='nodes',name='configure', base_url =
'/cluster/' + self.name + '/configure',
+ configure_cmd = configure_cmd)
+
+ @expose("luci.templates.configure")
+ def configure_cmd(self,command=None,*args,**kw):
+ tmpl_context.cluster_data=data.clusters[self.name]
+ tmpl_context.cluster_name = self.name
+ tmpl_context.cluster_url = "/cluster/" + self.name + '/configure'
+ print command
+ print kw
+ print args
+ print "Configure Command"
+ flash ("Applying Settings: (but not really)")
+ if command == 'Update':
+ flash ("Updating: (but not really)")
+ redirect (tmpl_context.cluster_url)
@expose()
def lookup(self, nodename, *args):
diff --git a/luci/templates/configure.html b/luci/templates/configure.html
index 5d38d12..5439a5c 100644
--- a/luci/templates/configure.html
+++ b/luci/templates/configure.html
@@ -14,7 +14,6 @@
<body py:with="cluster_data = tmpl_context.cluster_data;
form_utils = app_globals.form_utils">
- <form action="${tg.url('apply')}" method="post">
<div class="sectionblock">
<div id="toolbar">
</div>
@@ -49,132 +48,92 @@
<li><a href="#tabs-4">Quorum Partition</a></li>
</ul>
<div id="tabs-1">
- <table>
- <tr>
- <td>
- <b>General Properties</b><br/>
- </td>
- </tr>
- <tr>
- <td>
- Cluster Name
- </td>
- <td>
- <input type="text" value="${tmpl_context.cluster_name}"/>
- </td>
- </tr>
- <tr>
- <td>
- Configuration Version
- </td>
- <td>
- <input type="text"/>
- </td>
- </tr>
- <tr>
- <td>
- <div id="button"><b><button>Show advanced cluster
properties</button></b></div>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <div id="advanced">
- <table>
- <tr>
- <td>
- Token Timeout (ms)
- </td>
- <td>
- <input type="text"/>
- </td>
- </tr>
- <tr>
- <td>
- Number of token retransmits
- </td>
- <td>
- <input type="text"/>
- </td>
- </tr>
- <tr>
- <td>
- Join Timeout (ms)
- </td>
- <td>
- <input type="text"/>
- </td>
- </tr>
- <tr>
- <td>
- Consensus Timeout (ms)
- </td>
- <td>
- <input type="text"/>
- </td>
- </tr>
- </table>
- </div>
- </td>
- </tr>
- <tr>
- <td>
- <input type="submit" value="Apply"/>
- </td>
- </tr>
- </table>
+ <form action="${tg.url(configure_cmd)}" method="post">
+ <input type="hidden" name="page"
value="General"/>
+ <table>
+ <tr><td><b>General
Properties</b><br/></td></tr>
+ <tr><td>Cluster Name</td>
+ <td>
+ <input name="ClusterName" type="text"
value="${tmpl_context.cluster_name}"/>
+ </td>
+ </tr>
+ <tr><td>Configuration Version</td><td><input
type="text"/></td></tr>
+ <tr><td><div id="button"><b><button>Show
advanced cluster properties</button></b></div></td></tr>
+ <tr><td colspan="2">
+ <div id="advanced">
+ <table>
+ <tr><td>Token Timeout (ms)</td><td><input
type="text"/></td></tr>
+ <tr><td>Number of token retransmits</td><td><input
type="text"/></td></tr>
+ <tr><td>Join Timeout (ms)</td><td><input
type="text"/></td></tr>
+ <tr><td>Consensus Timeout (ms)</td><td><input
type="text"/></td></tr>
+ </table>
+ </div>
+ </td>
+ </tr>
+ <tr><td><input type="submit"
value="Apply"/></td></tr>
+ </table>
+ </form>
</div>
<div id="tabs-2">
- <table>
- <tr><td><b>Fence Daemon
Properties</b></td></tr>
- <tr><td>Post Fail Delay</td><td><input
type="text"/></td></tr>
- <tr><td>Post Join Delay</td><td><input
type="text"/></td></tr>
- <tr><td>Run XVM fence daemon</td><td><input
type="checkbox"/></td></tr>
- <tr><td></td></tr>
- <tr><td><b>XVM fence dameon key
distribution</b></td></tr>
- <tr><td>Enter a node hostname from the host
cluster</td><td><input type="text"/></td></tr>
- <tr><td>Enter a node hostname from the hosted (virtual)
cluster</td><td><input type="text"/></td></tr>
- <tr><td><input type="submit" value="Retrieve cluster
nodes"/></td></tr>
- <tr><td><input type="submit"
value="Apply"/></td></tr>
- </table>
+ <form action="${tg.url(configure_cmd)}" method="post">
+ <input type="hidden" name="page"
value="Fence"/>
+ <table>
+ <tr><td><b>Fence Daemon
Properties</b></td></tr>
+ <tr><td>Post Fail Delay</td><td><input
type="text"/></td></tr>
+ <tr><td>Post Join Delay</td><td><input
type="text"/></td></tr>
+ <tr><td>Run XVM fence daemon</td><td><input
type="checkbox"/></td></tr>
+ <tr><td></td></tr>
+ <tr><td><b>XVM fence dameon key
distribution</b></td></tr>
+ <tr><td>Enter a node hostname from the host
cluster</td><td><input type="text"/></td></tr>
+ <tr><td>Enter a node hostname from the hosted (virtual)
cluster</td><td><input type="text"/></td></tr>
+ <tr><td><input type="submit" value="Retrieve cluster
nodes"/></td></tr>
+ <tr><td><input type="submit"
value="Apply"/></td></tr>
+ </table>
+ </form>
</div>
<div id="tabs-3">
- <table>
- <tr><td><b>Multicast
Configuration</b></td></tr>
- <tr><td><input name="multicast" type="radio"/>
Let cluster choose the multicast address</td></tr>
- <tr><td><input name="multicast" type="radio"/>
Specify the multicast address manually</td></tr>
- <tr><td>Multicast address</td><td><input
type="text"/></td></tr>
- <tr><td>Multicast network interface
(optional)</td><td><input type="text"/></td></tr>
- <tr><td><input type="submit"
value="Apply"/></td></tr>
- </table>
+ <form action="${tg.url(configure_cmd)}" method="post">
+ <input type="hidden" name="page"
value="Multicast"/>
+ <table>
+ <tr><td><b>Multicast
Configuration</b></td></tr>
+ <tr><td><input name="multicast"
type="radio"/> Let cluster choose the multicast
address</td></tr>
+ <tr><td><input name="multicast"
type="radio"/> Specify the multicast address manually</td></tr>
+ <tr><td>Multicast address</td><td><input
type="text"/></td></tr>
+ <tr><td>Multicast network interface
(optional)</td><td><input type="text"/></td></tr>
+ <tr><td><input type="submit"
value="Apply"/></td></tr>
+ </table>
+ </form>
</div>
<div id="tabs-4">
- <table>
- <tr><td><b>Quorum Partition
Configuration</b></td></tr>
- <tr><td><input name="quorum" type="radio"/>
Do not use a Quorum Partition</td></tr>
- <tr><td><input name="quorum" type="radio"/>
Use a Quorum Partition</td></tr>
- <tr><td>Internal</td><td><input
type="text"/></td></tr>
- <tr><td>Votes</td><td><input
type="text"/></td></tr>
- <tr><td>TKO</td><td><input
type="text"/></td></tr>
- <tr><td>Minimum Score</td><td><input
type="text"/></td></tr>
- <tr><td><input name="labeldev" type="radio"/>
Label</td></tr>
- <tr><td><input name="labeldev" type="radio"/>
Device (deprecated)</td></tr>
- </table>
- <table>
- <tr><td><b>Heuristics</b></td></tr>
- <tr><td><b>Path to
Program</b></td><td><b>Interval</b></td><td><b>Score</b></td></tr>
- <tr>
- <td><input type="text"/></td>
- <td><input type="text" size="5"/></td>
- <td><input type="text" size="5"/></td>
- </tr>
- <tr><td><input type="submit" value="Add another
heuristic"/></td></tr>
- <tr><td><input type="submit"
value="Apply"/></td></tr>
- </table>
+ <form action="${tg.url(configure_cmd)}" method="post">
+ <input type="hidden" name="page" value="Quorum
Partition"/>
+ <table>
+ <tr><td><b>Quorum Partition
Configuration</b></td></tr>
+ <tr><td><input name="quorum" type="radio"/>
Do not use a Quorum Partition</td></tr>
+ <tr><td><input name="quorum" type="radio"/>
Use a Quorum Partition</td></tr>
+ <tr><td>Internal</td><td><input
type="text"/></td></tr>
+ <tr><td>Votes</td><td><input
type="text"/></td></tr>
+ <tr><td>TKO</td><td><input
type="text"/></td></tr>
+ <tr><td>Minimum Score</td><td><input
type="text"/></td></tr>
+ <tr><td><input name="labeldev"
type="radio"/> Label</td></tr>
+ <tr><td><input name="labeldev"
type="radio"/> Device (deprecated)</td></tr>
+ </table>
+ <table>
+ <tr><td><b>Heuristics</b></td></tr>
+ <tr><td><b>Path to
Program</b></td><td><b>Interval</b></td><td><b>Score</b></td></tr>
+ <tr>
+ <td><input type="text"/></td>
+ <td><input type="text" size="5"/></td>
+ <td><input type="text" size="5"/></td>
+ </tr>
+ <tr><td><input type="submit" value="Add another
heuristic"/></td></tr>
+ <tr><td><input type="submit"
value="Apply"/></td></tr>
+ </table>
+ </form>
</div>
</div>
</div>
</div>
- </form>
<!--! DETAILS SECTION. -->
<div class="sectionblock">
Show replies by date