FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Cluster Development

 
 
LinkBack Thread Tools
 
Old 11-19-2007, 05:23 PM
 
Default [Cluster-devel] conga/luci/cluster form-macros

CVSROOT: /cvs/cluster
Module name: conga
Changes by: rmccabe@sourceware.org 2007-11-19 18:23:08

Modified files:
luci/cluster : form-macros

Log message:
split up form-macros into manageable modules

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.216&r2=1.217

--- conga/luci/cluster/form-macros 2007/11/06 19:58:00 1.216
+++ conga/luci/cluster/form-macros 2007/11/19 18:23:08 1.217
@@ -15,71 +15,7 @@

<body>

-<div metal:define-macro="entry-form">
-</div>
-
-<div metal:define-macro="busywaitpage">
- <table>
- <tr><td>
- <h2>Please be patient - this cluster's configuration is being modified.</h2>
- </td></tr>
-
- <tr><td>
- <img src="100wait.gif" />
- </td></tr>
-
- <span tal:define="global nodereports isBusy/nodereports" />
-
- <tr tal:repeat="nodereport nodereports"><td>
- <tal:block
- tal:condition="python:nodereport.get('isnodecreati on') != True">
-
- <h2><span tal:replace="nodereport/desc" /></h2>
- </tal:block>
-
- <tal:block
- tal:condition="python:nodereport.get('isnodecreati on') == True">
-
- <tal:block
- tal:condition="python:nodereport.get('iserror') == True">
-
- <h2><span tal:content="nodereport/desc" /></h2>
-
- <span class="errmsg"
- tal:content="nodereport/errormessage" />
- </tal:block>
-
- <tal:block
- tal:condition="python:nodereport.get('iserror') != True">
-
- <h2><span tal:content="nodereport/desc" /></h2>
- <em tal:content="nodereport/statusmessage | nothing" />
- <br/>
-
- <tal:block tal:condition="python: nodereport['statusindex'] < 1">
- <img src="notstarted.png" />
- </tal:block>
-
- <tal:block tal:condition="python: nodereport['statusindex'] == 1 or nodereport['statusindex'] == 2">
- <img src="installed.png" alt="[cluster software installed]" />
- </tal:block>
-
- <tal:block tal:condition="python: nodereport['statusindex'] == 3">
- <img src="rebooted.png" alt="[cluster node rebooted]" />
- </tal:block>
-
- <tal:block tal:condition="python: nodereport['statusindex'] == 4 or nodereport['statusindex'] == 5">
- <img src="configured.png" alt="[cluster node configured]" />
- </tal:block>
-
- <tal:block tal:condition="python: nodereport['statusindex'] == 6">
- <img src="joined.png" alt="[cluster node joined cluster]" />
- </tal:block>
- </tal:block>
- </tal:block>
- </td></tr>
- </table>
-</div>
+<div metal:define-macro="entry-form"></div>

<div metal:define-macro="clusters-form">
<script type="text/javascript">
@@ -216,7 +152,6 @@
<h2>Cluster Form</h2>
</div>

-
<div metal:define-macro="clusteradd-form">
<script type="text/javascript"
src="/luci/homebase/homebase_common.js">
@@ -549,4726 +484,591 @@
</div>
</div>

-<div metal:define-macro="clusterconfig-form">
- <script type="text/javascript">
- set_page_title('Luci ?? cluster ?? Configure cluster properties');
+<div metal:define-macro="node-form">
+ <script type="text/javascript"
+ src="/luci/homebase/homebase_common.js">
</script>
<script type="text/javascript"
- src="conga_ajax.js">
+ src="/luci/cluster/fence_device.js">
</script>
<script type="text/javascript"
- src="validate_xvm_key.js">
+ src="/luci/cluster/validate_fence.js">
+ </script>
+ <script type="text/javascript">
+ set_page_title('Luci ?? cluster ?? nodes ?? properties');
</script>
+ <tal:comment tal:replace="nothing">
+ First table row is status icon, name, and dropdown
+ Second row is daemon macro and failoverdom membership
+ Third row is fencing macro
+ </tal:comment>

<tal:block tal:define="
global ricci_agent ri_agent | python: here.getRicciAgentForCluster(request)" />

- <tal:block tal:condition="not: exists: modelb">
- <tal:block tal:define="global modelb python: None" />
- </tal:block>
+ <tal:block tal:define="
+ global nodestatus python: here.getClusterStatus(request, ricci_agent);
+ global nodeinfo python: here.getNodeInfo(modelb, nodestatus, request);
+ global status_class python: 'node_' + (nodeinfo['nodestate'] == '0' and 'active' or (nodeinfo['nodestate'] == '1' and 'inactive' or 'unknown'));
+ global cluster_node_status_str python: (nodeinfo['nodestate'] == '0' and 'Cluster member' or (nodeinfo['nodestate'] == '1' and 'Currently not a cluster participant' or 'This node is not responding'))"
+ />

- <tal:block
- tal:define="global clusterinfo python: here.getClusterInfo(modelb, request)" />
+ <table class="cluster node" width="100%">
+ <tr class="cluster node info_top">
+ <td class="cluster node node_name">
+ <img tal:attributes="
+ src python: status_class + '.png'" />
+ <strong class="cluster node">Node Name:</strong>
+ <span
+ tal:attributes="class python: 'cluster node ' + status_class"
+ tal:content="nodeinfo/nodename" />
+ </td>

-<tal:block tal:condition="clusterinfo">
- <span talmit-tag="" tal:define="global configTabNum python: 'tab' in request and int(request['tab']) or 1" />
+ <td class="cluster node node_action"
+ tal:condition="python: nodeinfo['nodestate'] == '0' or nodeinfo['nodestate'] == '1'">
+ <form method="post">
+ <select name="gourl">
+ <option value="">Choose a Task...</option>
+ <option tal:attributes="value nodeinfo/jl_url"
+ tal:condition="python: not 'ricci_error' in nodeinfo">
+ Have node <span tal:replace="python: nodeinfo['nodestate'] == '0' and 'leave' or 'join'" /> cluster
+ </option>
+ <option value="">----------</option>
+ <option tal:attributes="value nodeinfo/fence_url">Fence this node</option>
+ <option value="" tal:attributes="value nodeinfo/reboot_url"
+ tal:condition="python: not 'ricci_error' in nodeinfo">
+ Reboot this node
+ </option>
+ <option value="">----------</option>
+ <option tal:attributes="value nodeinfo/delete_url"
+ tal:condition="python: not 'ricci_error' in nodeinfo">
+ Delete this node</option>
+ <option tal:attributes="value nodeinfo/force_delete_url | nothing"
+ tal:condition="python: 'ricci_error' in nodeinfo">
+ Force the deletion of this node</option>
+ </select>

- <ul class="configTab">
- <li class="configTab">
- <a tal:attributes="
- href clusterinfo/basecluster_url | nothing;
- class python: 'configTab' + (configTabNum == 1 and ' configTabActive' or ');
- ">General</a>
- </li>
- <li class="configTab"
- tal:condition="not:clusterinfo/gulm">
- <a tal:attributes="
- href clusterinfo/fencedaemon_url | nothing;
- class python: 'configTab' + (configTabNum == 2 and ' configTabActive' or ');
- ">Fence</a>
- </li>
- <li class="configTab"
- tal:condition="not:clusterinfo/gulm">
- <a tal:attributes="
- href clusterinfo/multicast_url | nothing;
- class python: 'configTab' + (configTabNum == 3 and ' configTabActive' or ');
- ">Multicast</a>
- </li>
-
- <li class="configTab"
- tal:condition="clusterinfo/gulm">
- <a tal:attributes="
- href clusterinfo/gulm_url | nothing;
- class python: 'configTab' + (configTabNum == 5 and ' configTabActive' or ')">GULM</a>
- </li>
-
- <li class="configTab">
- <a tal:attributes="
- href clusterinfo/quorumd_url | nothing;
- class python: 'configTab' + (configTabNum == 4 and ' configTabActive' or ');
- ">Quorum Partition</a>
- </li>
- </ul>
-
- <div id="configTabContent" tal:condition="python: configTabNum == 1">
- <script type="text/javascript"
- src="/luci/homebase/homebase_common.js">
- </script>
- <script type="text/javascript"
- src="/luci/cluster/validate_config_general.js">
- </script>
-
- <form name="basecluster" action="" method="post">
- <input type="hidden" name="cluster_version"
- tal:attributes="value os_version | nothing" />
- <input type="hidden" name="pagetype"
- tal:attributes="value request/pagetype | request/form/pagetype"
- />
- <input type="hidden" name="configtype" value="general" />
- <input type="hidden" name="clustername"
- tal:attributes="value request/clustername | clusterinfo/clustername | nothing" />
+ <input type="button" value="Go"
+ onclick="if (this.form.gourl[this.form.gourl.selectedIndex].value && confirm(this.form.gourl[this.form.gourl.selectedIndex].text + '?')) return dropdown(this.form.gourl)" />
+ </form>
+ </td>

- <table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
- <thead class="systemsTable">
- <tr class="systemsTable"><td class="systemsTable" colspan="1">
- <div class="systemsTableTop">
- <strong>General Properties</strong>
- </div>
- </td></tr>
- </thead>
+ <td class="cluster node node_action"
+ tal:condition="python: nodeinfo['nodestate'] != '0' and nodeinfo['nodestate'] != '1'">
+ <form method="post">
+ <select name="gourl">
+ <option value="">Choose a Task...</option>
+ <option tal:attributes="value nodeinfo/fence_url | nothing">Fence this node</option>
+ <option tal:attributes="value nodeinfo/force_delete_url | nothing">Force the deletion of this node</option>
+ </select>
+ <input type="button" value="Go"
+ onclick="if (this.form.gourl[this.form.gourl.selectedIndex].value && confirm(this.form.gourl[this.form.gourl.selectedIndex].text + '?')) return dropdown(this.form.gourl)" />
+ </form>
+ </td>
+ </tr>

- <tbody class="systemsTable" id="sys_tbody">
- <tr class="systemsTable">
- <td class="systemsTable">Cluster Name</td>
- <td class="systemsTable">
- <input type="text" name="cluname"
- tal:attributes="value clusterinfo/clustername" />
- </td>
- </tr>
- <tr class="systemsTable">
- <td class="systemsTable">Configuration Version</td>
- <td class="systemsTable">
- <input type="text" name="cfgver" size="5"
- tal:attributes="value clusterinfo/config_version"/>
- </td>
- </tr>
- </tbody>
- </table>
+ <tr class="cluster node info_middle">
+ <td class="cluster node node_status" colspan="2">
+ <strong class="cluster node">Status:</strong>
+ <span tal:attributes="class python: 'cluster node ' + status_class"
+ tal:content="python: cluster_node_status_str" />
+ </td>
+ </tr>

- <table tal:condition="python: os_version and os_version == 'rhel5'">
- <tr class="systemsTable">
- <td class="systemsTable" colspan="2">
- <img src="arrow_right.png" alt="[+]"
- onclick="toggle_visible(this, 'genprops_advanced', 'genprops_advanced_label')">
- <span id="genprops_advanced_label">Show</span>
- advanced cluster properties
- </td>
- </tr>
+ <tr class="cluster node info_middle"
+ tal:condition="nodeinfo/gulm_lockserver">
+ <td class="cluster node node_status" colspan="2">
+ This node is a GULM lock server.
+ </td>
+ </tr>

- <tr class="systemsTable invisible" id="genprops_advanced">
- <td class="systemsTable" colspan="2">
- <table class="systemsTable">
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#token', 55, 65);">Token Timeout</a> (ms)
- </td>
- <td class="systemsTable">
- <input type="text" size="10" name="token"
- tal:attributes="value clusterinfo/totem/token | string:10000" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#retransmits_before_loss', 55, 65);">Number of token retransmits before loss</a>
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="token_retransmits_before_loss_const"
- tal:attributes="value clusterinfo/totem/token_retransmits_before_loss_const | string:20" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#join', 55, 65);">Join Timeout</a> (ms)
- </td>
- <td class="systemsTable">
- <input type="text" size="10" name="join"
- tal:attributes="value clusterinfo/totem/join | string:60" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#consensus', 55, 65);">Consensus Timeout</a> (ms)
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="consensus"
- tal:attributes="value clusterinfo/totem/consensus | string:4800" />
- </td>
- </tr>
-
-<tal:comment tal:replace="nothing">
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#secauth', 55, 65);">Secure Authentication</a>
- </td>
- <td class="systemsTable">
- <input type="checkbox" name="secauth" checked="checked" />
- </tr>
-
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#rrp_mode', 55, 65);">Redundant Ring Protocol Mode</a>
- </td>
- <td class="systemsTable">
- <select type="text" name="rrp_mode">
- <option value="none">
- None
- </option>
- <option value="active">
- Active
- </option>
- <option value="passive">
- Passive
- </option>
- </select>
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#netmtu', 55, 65);">Network MTU</a>
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="netmtu"
- tal:attributes="value string:1500" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#threads', 55, 65);">Number of Threads
- </td>
- <td class="systemsTable">
- <input type="text" size="10" name="threads"
- tal:attributes="value string:0" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#vsftype', 55, 65);">Virtual Synchrony Type
- </td>
- <td class="systemsTable">
- <select name="vsftype">
- <option value="none">
- None
- </option>
- <option value="ykd">
- YKD
- </option>
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#token_retransmit', 55, 65);">Token Retransmit</a> (ms)
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="token_retransmit"
- tal:attributes="value string:238" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#hold', 55, 65);">Hold Token Timeout</a> (ms)
- </td>
- <td class="systemsTable">
- <input type="text" size="10" name="hold"
- tal:attributes="value string:180" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#send_join', 55, 65);">Maximum time to wait before sending a join message</a> (ms)
- </td>
- <td class="systemsTable">
- <input type="text" size="10" name="send_join"
- tal:attributes="value string:0" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#merge', 55, 65);">Merge Detection Timeout</a> (ms)
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="merge"
- tal:attributes="value string:200" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#downcheck', 55, 65);">Interface Down Check Timeout</a> (ms)
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="downcheck"
- tal:attributes="value string:1000" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#fail_to_recv_const', 55, 65);">Fail to Receive Constant</a>
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="fail_to_recv_const"
- tal:attributes="value string:50" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#seqno_unchanged_const', 55, 65);">Rotations with no mcast traffic before merge detection timeout started</a>
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="seqno_unchanged_const"
- tal:attributes="value string:30" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#heartbeat_failures_allowed', 55, 65);">Number of Heartbeat Failures Allowed</a>
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="heartbeat_failures_allowed"
- tal:attributes="value string:0" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#max_network_delay', 55, 65);">Maximum Network Delay</a> (ms)
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="max_network_delay"
- tal:attributes="value string:50" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#window_size', 55, 65);">Window Size</a>
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="window_size"
- tal:attributes="value string:50" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#max_messages', 55, 65);">Maximum Messages</a>
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="max_messages"
- tal:attributes="value string:17" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#rrp_problem_count_timeout', 55, 65);">RRP Problem Count Timeout</a> (ms)
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="rrp_problem_count_timeout"
- tal:attributes="value string:1000" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#rrp_problem_count_threshold', 55, 65);">RRP Problem Count Threshold</a>
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="rrp_problem_count_threshold"
- tal:attributes="value string:20" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <a class="cluster_help" href="javascriptopup_window('/luci/doc/config_rhel5#rrp_token_expired_timeout', 55, 65);">RRP Token Expired Timeout</a>
- </td>
- <td class="systemsTable">
- <input type="text" size="10"
- name="rrp_token_expired_timeout"
- tal:attributes="value string:47" />
- </td>
- </tr>
-</tal:comment>
- </table>
- </td></tr>
- </table>
+ <tr class="cluster node info_bottom"
+ tal:condition="python: (nodeinfo['nodestate'] == '0' or nodeinfo['nodestate'] == '1') and not 'ricci_error' in nodeinfo">
+ <td class="cluster node node_log" colspan="2">
+ <a class="cluster node"
+ tal:attributes="href nodeinfo/logurl" onClick="return popup_log(this, 'notes')">
+ Show recent log activity for this node
+ </a>
+ </td>
+ </tr>
+ </table>

- <table class="systemsTable">
- <tr class="systemsTable">
- <td class="systemsTable" colspan="2">
- <div class="systemsTableEnd">
- <input type="button" value="Apply"
- onClick="validate_form(this.form);"/>
- </div>
- </td>
- </tr>
- </table>
- </form>
- </div>
+ <hr/>

- <div id="configTabContent" tal:condition="python: configTabNum == 2">
- <form name="fencedaemon" method="post" id="fence_config_form" action="">
- <input type="hidden" name="configtype" value="fence" />
- <input type="hidden" name="pagetype"
- tal:attributes="value request/pagetype | request/form/pagetype"
- />
- <input type="hidden" name="cluster_version"
- tal:attributes="value os_version | nothing" />
- <input type="hidden" name="clustername"
- tal:attributes="value request/clustername | clusterinfo/clustername | nothing" />
-
- <script type="text/javascript"
- src="/luci/homebase/homebase_common.js">
- </script>
- <script type="text/javascript"
- src="/luci/cluster/validate_config_fence.js">
- </script>
+ <tal:block tal:condition="python: 'ricci_error' in nodeinfo">
+ <strong class="errmsgs">
+ The ricci agent for this node is unresponsive. Node-specific information is not available at this time.
+ </strong>
+ </tal:block>

- <table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
- <thead class="systemsTable">
- <tr class="systemsTable"><td class="systemsTable" colspan="1">
- <div class="systemsTableTop">
- <strong>Fence Daemon Properties</strong>
- </div>
- </td></tr>
- </thead>
+ <tal:block tal:condition="python: not 'ricci_error' in nodeinfo">
+ <tal:block
+ tal:condition="python: nodeinfo['nodestate'] == '0' or nodeinfo['nodestate'] == '1'">

- <tbody class="systemsTable" id="sys_tbody">
- <tr class="systemsTable">
- <td class="systemsTable">Post Fail <span tal:attributes="onclick python:'window.location.assign('./?pagetype=80&clustername=' + request['clustername'] + ')'">Delay</span>
- </td>
- <td class="systemsTable">
- <input type="text" name="post_fail_delay"
- tal:attributes="value clusterinfo/pfd" />
- </td>
- </tr>
- <tr class="systemsTable">
- <td class="systemsTable">Post Join Delay</td>
- <td class="systemsTable">
- <input type="text" name="post_join_delay"
- tal:attributes="value clusterinfo/pjd" />
- </td>
- </tr>
- <tr class="systemsTable">
- <td class="systemsTable">
- <span class="cluster_help" title="Enable if you will be running a VM cluster on this physical cluster">Run XVM fence daemon</td>
- <td class="systemsTable">
- <input type="checkbox" name="run_xvmd"
- tal:attributes="checked python: ('fence_xvmd' in clusterinfo and clusterinfo['fence_xvmd']) and 'checked' or '" />
- </td>
- </tr>
- <tr class="systemsTable">
- <td class="systemsTable" colspan="2">
- <div class="systemsTableTop">&nbsp;</div>
- <strong>XVM fence daemon key distribution</strong>
- </td>
- </tr>
+ <h3>Cluster daemons running on this node</h3>
+ <form name="daemon_form" method="post">
+ <table class="systemsTable">
+ <thead>
+ <tr class="systemsTable">
+ <th class="systemsTable">Daemon</th>
+ <th class="systemsTable">Currently running</th>
+ <th class="systemsTable">Enabled at start-up</th>
+ </tr>
+ </thead>
+ <tfoot class="systemsTable">
+ <tr class="systemsTable"><td class="systemsTable" colspan="3">
+ <div class="systemsTableEnd">
+ <input type="button" value="Update node daemon properties"
+ onclick="if (confirm('Update daemon properties?')) this.form.submit()" />
+ </div>
+ </td></tr>
+ </tfoot>
+ <tbody class="systemsTable">
+ <tr class="systemsTable" tal:repeat="daemon nodeinfo/d_states">
+ <td class="systemsTable"><span tal:replace="daemon/name"/></td>
+ <td class="systemsTable">
+ <tal:block tal:condition="python:daemon['name'] == 'cman'">
+ <span tal:replace="python: (daemon['running'] == 'true' or nodeinfo['nodestate'] == '0') and 'yes' or 'no'" />
+ </tal:block>
+ <tal:block tal:condition="python:daemon['name'] != 'cman'">
+ <span tal:replace="python: daemon['running'] == 'true' and 'yes' or 'no'" />
+ </tal:block>
+ </td>
+ <td class="systemsTable">
+ <input type="hidden" tal:attributes="
+ name python: '__daemon__:' + daemon['name'] + ':';
+ value daemon/name" />

- <tr id="fence_xvm_config" class="invisible">
- <td class="systemsTable" colspan="2" id="fence_xvm_config">
- <table class="systemsTable" width="100%">
- <tr class="systemsTable">
- <td class="systemsTable">
- <div id="fence_xvm_hosts" />
- </td>
- </tr>
- <tr class="systemsTable">
- <td class="systemsTable">
- <input type="button" name="distribute"
- value="Create and distribute keys"
- onclick="validate_xvm_dist_form(this.form)"
- />
- </td>
- </tr>
- </table>
- </td>
- </tr>
+ <input type="hidden" tal:attributes="
+ name python: '__daemon__:' + daemon['name'] + ':';
+ value python: daemon['enabled'] == 'true' and '1' or '0'" />

- <tr class="systemsTable" id="fence_xvm_init">
- <td class="systemsTable" colspan="2">
- <table class="systemsTable">
- <tr class="systemsTable">
- <td class="systemsTable">
- Enter a node hostname from the host cluster
- </td>
- <td>
- <input type="text" value=""
- name="host_cluster_name"
- id="host_cluster_name" />
- </td>
- </tr>
- <tr class="systemsTable">
- <td class="systemsTable">
- Enter a node hostname from the hosted (virtual) cluster
- </td>
- <td>
- <input type="text" value=""
- name="virt_cluster_name"
- id="virt_cluster_name" />
- </td>
- </tr>
- <tr class="systemsTable">
- <td class="systemsTable" colspan="2">
- <input type="button"
- name="Retrieve cluster nodes"
- value="Retrieve cluster nodes"
- onclick="get_cluster_members(this.form)"
- />
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </tbody>
+ <input type="checkbox" tal:attributes="
+ name python: '__daemon__:' + daemon['name'] + ':';
+ checked python: daemon['enabled'] == 'true' and 'checked'" />
+ </td>
+ </tr>
+ </tbody>
+ </table>

- <tfoot class="systemsTable">
- <tr class="systemsTable">
- <td class="systemsTable" colspan="2">
- <div class="systemsTableEnd">
- <input type="button" value="Apply"
- id="fence_config_submit"
- onClick="validate_form(this.form)" />
- </div>
- </td>
- </tr>
- </tfoot>
- </table>
- </form>
- </div>
+ <input type="hidden" name="nodename"
+ tal:attributes="value nodeinfo/nodename | request/nodename | nothing" />

- <div id="configTabContent" tal:condition="python: configTabNum == 3">
- <script type="text/javascript"
- src="/luci/homebase/homebase_common.js">
- </script>
- <script type="text/javascript"
- src="/luci/cluster/validate_config_multicast.js">
- </script>
-
- <form name="multicast" action="" method="post">
- <input type="hidden" name="configtype" value="mcast" />
- <input type="hidden" name="pagetype"
- tal:attributes="value request/pagetype | request/form/pagetype"
- />
- <input type="hidden" name="cluster_version"
- tal:attributes="value os_version | nothing" />
- <input type="hidden" name="clustername"
- tal:attributes="value request/clustername | clusterinfo/clustername | nothing" />
- <table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
- <thead class="systemsTable">
- <tr class="systemsTable"><td class="systemsTable" colspan="1">
- <div class="systemsTableTop">
- <strong>Multicast Configuration</strong>
- </div>
- </td></tr>
- </thead>
+ <input type="hidden" name="clustername"
+ tal:attributes="value request/clustername | nothing" />

- <tbody class="systemsTable" id="sys_tbody">
- <tr class="systemsTable">
- <td class="systemsTable">
- <input type="radio" name="mcast" value="False"
- onClick="disable_mcast('mcast_address', 'mcast_interface');"
- tal:attributes="checked python: clusterinfo['is_mcast'] != 'True'"
- />
- <tal:block tal:condition="pythons_version == 'rhel4'">
- Do not use multicast
- </tal:block>
- <tal:block tal:condition="pythons_version != 'rhel4'">
- Let cluster choose the multicast address
- </tal:block>
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- <input type="radio" name="mcast" value="True"
- onClick="enable_mcast('mcast_address', 'mcast_interface');"
- tal:attributes="checked python: clusterinfo['is_mcast'] == 'True'"
-
- />
- <tal:block tal:condition="pythons_version == 'rhel4'">
- Use multicast
- </tal:block>
- <tal:block tal:condition="pythons_version != 'rhel4'">
- Specify the multicast address manually
- </tal:block>
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">
- Multicast address
- </td>
- <td class="systemsTable">
- <input type="text"
- name="mcast_address" id="mcast_address"
- tal:attributes="
- disabled not:clusterinfo/mcast_addr;
- value clusterinfo/mcast_addr |nothing" />
- </td>
- </tr>
- <tr class="systemsTable">
- <td class="systemsTable">
- Multicast network interface <span tal:condition="pythons_version != 'rhel4'">(optional)</span>
- </td>
- <td class="systemsTable">
- <input type="text"
- name="mcast_interface" id="mcast_interface"
- tal:attributes="
- disabled not:clusterinfo/mcast_addr;
- value clusterinfo/mcast_interface |nothing" />
- </td>
- </tr>
- </tbody>
-
- <tfoot class="systemsTable">
- <tr class="systemsTable"><td class="systemsTable" colspan="2">
- <div class="systemsTableEnd">
- <input type="button" value="Apply"
- onClick="validate_form(this.form);"/>
- </div>
- </td></tr>
- </tfoot>
- </table>
- </form>
- </div>
-
- <div id="configTabContent" tal:condition="python: configTabNum == 4">
- <script type="text/javascript"
- src="/luci/homebase/homebase_common.js">
- </script>
- <script type="text/javascript"
- src="/luci/cluster/validate_config_qdisk.js">
- </script>
- <form name="quorum_partition" action="" method="post">
- <input type="hidden" name="pagetype"
- tal:attributes="value request/pagetype | request/form/pagetype"
- />
- <input type="hidden" name="configtype" value="qdisk" />
- <input type="hidden" name="cluster_version"
- tal:attributes="value os_version | nothing" />
- <input type="hidden" name="clustername"
- tal:attributes="value request/clustername | clusterinfo/clustername | nothing" />
- <div class="configTabContent">
- <table id="systemsTable" class="systemsTable" border="0" cellspacing="0">
- <thead class="systemsTable">
- <tr class="systemsTable"><td class="systemsTable" colspan="1">
- <div class="systemsTableTop">
- <strong>Quorum Partition Configuration</strong>
- </div>
- </td></tr>
- </thead>
-
- <tbody class="systemsTable" id="sys_tbody">
- <tr class="systemsTable" id="st_row"><td class="systemsTable" id="st_col">
- <input type="radio" name="quorumd" value="False"
- onClick="disableChildrenInput('quorumdisk');"
- tal:attributes="checked python: (not clusterinfo['is_quorumd']) and 'checked' or '" />
- Do not use a Quorum Partition
- </td></tr>
-
- <tr class="systemsTable"><td class="systemsTable">
- <input type="radio" name="quorumd" value="True"
- onClick="enableChildrenInput('quorumdisk');"
- tal:attributes="checked python: (clusterinfo['is_quorumd']) and 'checked' or '" />
- Use a Quorum Partition
- </td></tr>
- </tbody>
- </table>
- </div>
-
- <div class="spacing configTabContent"></div>
-
- <div id="quorumdisk" class="configTabContent">
- <div class="configTabContent">
- <table name="qdiskprefs" class="systemsTable">
- <tr class="systemsTable">
- <td class="systemsTable">Interval</td>
- <td class="systemsTable">
- <input type="text" name="interval"
- tal:attributes="value clusterinfo/interval | nothing" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">Votes</td>
- <td class="systemsTable">
- <input type="text" name="votes"
- tal:attributes="value clusterinfo/votes | nothing" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">TKO</td>
- <td class="systemsTable">
- <input type="text" name="tko"
- tal:attributes="value clusterinfo/tko | nothing" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">Minimum Score</td>
- <td class="systemsTable">
- <input type="text" name="min_score"
- tal:attributes="value clusterinfo/min_score | nothing" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">Device</td>
- <td class="systemsTable">
- <input type="text" name="device"
- tal:attributes="value clusterinfo/device | nothing" />
- </td>
- </tr>
-
- <tr class="systemsTable">
- <td class="systemsTable">Label</td>
- <td class="systemsTable">
- <input type="text" name="label"
- tal:attributes="value clusterinfo/label | nothing" />
- </td>
- </tr>
- </table>
- </div>
-
- <div class="configTabContent">
- <table name="qdiskheur" class="systemsTable">
- <thead class="systemsTable">
- <tr class="systemsTable"><td class="systemsTable" colspan="1">
- <div class="systemsTableTop">
- <strong>Heuristics</strong>
- </div>
- </td></tr>
-
- <tr class="systemsTable">
- <th class="systemsTable">
- <div class="systemsTableTop">Path to Program</div>
- </th>
- <th class="systemsTable">
- <div class="systemsTableTop">Interval</div>
- </th>
- <th class="systemsTable">
- <div class="systemsTableTop">Score</div>
- </th>
- <th>
- &nbsp;
- </th>
- </tr>
- </thead>
-
- <tbody class="systemsTable" id="heuristicList"
- tal:define="global heuristics clusterinfo/hlist | nothing">
-
- <tal:block tal:condition="python: not heuristics or not len(heuristics)">
- <input type="hidden" name="num_heuristics" id="num_heuristics" value="0">
- <tr class="systemsTable" id="heuristic0">
- <td class="systemsTable">
- <input class="qdpath qdisk" type="text"
- name="heuristic0:hprog" id="heuristic0:hprog" />
- </td>
- <td class="systemsTable">
- <input class="qdint qdisk" type="text"
- name="heuristic0:hinterval" id="heuristic0:hinterval" />
- </td>
- <td class="systemsTable">
- <input class="qdscore qdisk" type="text"
- name="heuristic0:hscore" id="heuristic0:hscore" />
- </td>
- <td class="systemsTable">
- <img class="qdisk deleteRow"
- id="heuristic0:hdel" name="heuristic0:hdel"
- src="delete-row.png"
- title="delete this heuristic"
- onClick="delete_qdisk_heur(this, document.quorum_partition);">
- </td>
- </tr>
- </tal:block>
-
- <tal:block
- tal:condition="python: len(heuristics)"
- tal:define="global curHeur python: -1">
-
- <input type="hidden" name="num_heuristics" id="num_heuristics"
- tal:attributes="value python: len(heuristics)" />
-
- <tr class="systemsTable"
- tal:repeat="heuristic heuristics"
- tal:attributes="id python: 'heuristic' + str(curHeur)"
- tal:define="global curHeur python: curHeur + 1">
-
- <td class="systemsTable">
- <input class="qdpath qdisk" type="text"
- tal:attributes="
- value heuristic/hprog;
- id python: 'heuristic' + str(curHeur) + ':hprog';
- name python: 'heuristic' + str(curHeur) + ':hprog'" />
- </td>
-
- <td class="systemsTable">
- <input class="qdint qdisk" type="text"
- tal:attributes="
- value heuristic/hinterval;
- id python: 'heuristic' + str(curHeur) + ':hinterval';
- name python: 'heuristic' + str(curHeur) + ':hinterval'" />
- </td>
-
- <td class="systemsTable">
- <input class="qdscore qdisk" type="text"
- tal:attributes="
- value heuristic/hscore;
- id python: 'heuristic' + str(curHeur) + ':hscore';
- name python: 'heuristic' + str(curHeur) + ':hscore'" />
- </td>
- <td class="systemsTable">
- <img class="qdisk deleteRow"
- src="delete-row.png"
- title="delete this heuristic"
- onClick="delete_qdisk_heur(this, document.quorum_partition);"
- tal:attributes="
- id python: 'heuristic' + str(curHeur) + ':hdel';
- name python: 'heuristic' + str(curHeur) + ':hdel'" />
- </td>
- </tr>
- </tal:block>
- </tbody>
-
- <tfoot>
- <tr class="systemsTable"><td class="systemsTable">
- <input class="addrow" type="button" value="Add another heuristic" onClick="addHeuristic('heuristicList')">
- </td></tr>
- </tfoot>
- </table>
- </div>
- </div>
-
- <div class="spacing configTabContent"></div>
- <div class="hbSubmit spacing configTabContent">
- <input type="button" value="Apply"
- onClick="validate_form(this.form)" />
- </div>
- <script tal:condition="not: clusterinfo/is_quorumd">
- disableChildrenInput('quorumdisk');
- </script>
- </form>
- </div>
-
- <tal:block tal:condition="clusterinfo/gulm">
- <div id="configTabContent" tal:condition="python: configTabNum == 5">
- <script type="text/javascript"
- src="/luci/homebase/homebase_common.js">
- </script>
- <script type="text/javascript"
- src="/luci/cluster/validate_config_gulm.js">
- </script>
-
- <form name="basecluster" action="" method="post">
- <input type="hidden" name="cluster_version"
- tal:attributes="value os_version | nothing" />
- <input type="hidden" name="pagetype"
- tal:attributes="value request/pagetype | request/form/pagetype"
- />
- <input type="hidden" name="configtype" value="gulm" />
- <input type="hidden" name="clustername"
- tal:attributes="value request/clustername | clusterinfo/clustername | nothing" />
-
- <strong class="cluster">GULM Configuration</strong><br/>
- <table id="systemsTable" class="systemsTable" cellspacing="0">
- <thead>
- <tr class="systemsTable" align="left">
- <th class="systemsTable">Node</th>
- <th class="systemsTable">Lock Server</th>
- </tr>
- </thead>
- <tbody id="sys_tbody">
- <tal:block tal:repeat="c clusterinfo/gulm_lockservers">
- <tr class="systemsTable">
- <td class="systemsTable">
- <span tal:replace="python:c[0]" />
- </td>
- <td class="systemsTable">
- <input type="checkbox"
- tal:attributes="
- name python:c[0];
- checked python:c[1]" />
- </td>
- </tr>
- </tal:block>
-
- <tr><td colspan="2">
- <div class="spacing" />
- <p><em class="cluster">You may have exactly 1, 3, or 5 GULM lock servers, in any combination of the hosts checked above and given below.</em></p>
- </td></tr>
-
- <tr>
- <td class="pad_right">External Lock Server 1</td>
- <td>
- <input type="text" name="__GULM__:server1"
- class="hostname" value="" />
- </td>
- </tr>
- <tr>
- <td class="pad_right">External Lock Server 2</td>
- <td>
- <input type="text" name="__GULM__:server2"
- class="hostname" value="" />
- </td>
- </tr>
- <tr>
- <td class="pad_right">External Lock Server 3</td>
- <td>
- <input type="text" name="__GULM__:server3"
- class="hostname" value="" />
- </td>
- </tr>
- <tr>
- <td class="pad_right">External Lock Server 4</td>
- <td>
- <input type="text" name="__GULM__:server4"
- class="hostname" value="" />
- </td>
- </tr>
- <tr>
- <td class="pad_right">External Lock Server 5</td>
- <td>
- <input type="text" name="__GULM__:server5"
- class="hostname" value="" />
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="spacing configTabContent"></div>
- <div class="hbSubmit spacing configTabContent">
- <input type="button" value="Apply"
- onClick="validate_form(this.form)"/>
- </div>
- </div>
- </tal:block>
-</tal:block>
-</div>
-
-<div metal:define-macro="clusterprocess-form">
- <tal:block
- tal:define="result python: here.clusterTaskProcess(modelb, request)"/>
- <h2>Cluster Process Form</h2>
-</div>
-
-<div metal:define-macro="shared-fence-option-list">
- <option>Select a shared fence device</option>
- <option name="fence_apc" value="fence_apc">APC Power Switch</option>
- <option name="fence_wti" value="fence_wti">WTI Power Switch</option>
- <option name="fence_brocade" value="fence_brocade">Brocade Fabric Switch</option>
- <option name="fence_mcdata" value="fence_mcdata">McData SAN Switch</option>
- <option name="fence_sanbox2" value="fence_sanbox2">QLogic SANbox2</option>
- <option name="fence_vixel" value="fence_vixel">Vixel SAN Switch</option>
- <option name="fence_gnbd" value="fence_gnbd">GNBD</option>
- <option name="fence_egenera" value="fence_egenera">Egenera SAN Controller</option>
- <option name="fence_bladecenter" value="fence_bladecenter">IBM Blade Center</option>
- <option name="fence_bullpap" value="fence_bullpap">Bull PAP</option>
- <option name="fence_xvm" value="fence_xvm">Virtual Machine Fencing</option>
- <option name="fence_scsi" value="fence_scsi">SCSI Fencing</option>
-</div>
-
-<div metal:define-macro="fence-option-list">
- <option>Select a fence device</option>
- <option name="fence_apc" value="fence_apc">APC Power Switch</option>
- <option name="fence_wti" value="fence_wti">WTI Power Switch</option>
- <option name="fence_brocade" value="fence_brocade">Brocade Fabric Switch</option>
- <option name="fence_mcdata" value="fence_mcdata">McData SAN Switch</option>
- <option name="fence_sanbox2" value="fence_sanbox2">QLogic SANbox2</option>
- <option name="fence_vixel" value="fence_vixel">Vixel SAN Switch</option>
- <option name="fence_gnbd" value="fence_gnbd">GNBD</option>
- <option name="fence_egenera" value="fence_egenera">Egenera SAN Controller</option>
- <option name="fence_ilo" value="fence_ilo">HP iLO</option>
- <option name="fence_rsa" value="fence_rsa">IBM RSA II</option>
- <option name="fence_bladecenter" value="fence_bladecenter">IBM Blade Center</option>
- <option name="fence_bullpap" value="fence_bullpap">Bull PAP</option>
- <option name="fence_rps10" value="fence_rps10">RPS10 Serial Switch</option>
- <option name="fence_drac" value="fence_drac">Dell DRAC</option>
- <option name="fence_ipmilan" value="fence_ipmilan">IPMI Lan</option>
- <option name="fence_xvm" value="fence_xvm">Virtual Machine Fencing</option>
- <option name="fence_scsi" value="fence_scsi">SCSI Fencing</option>
- <option name="fence_manual" value="fence_manual">Manual Fencing</option>
-</div>
-
-<div metal:define-macro="fence-form-unknown"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_unknown" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>[unknown]</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <span tal:replace="cur_fencedev/name | nothing" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
- </div>
-</div>
-
-<div metal:define-macro="fence-form-apc"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_apc" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>APC Power Switch</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>IP Address</td>
- <td>
- <input name="ipaddr" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/ipaddr | nothing" />
- </td>
- </tr>
- <tr>
- <td>Login</td>
- <td>
- <input name="login" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/login | nothing" />
- </td>
- </tr>
- <tr>
- <td>Password</td>
- <td>
- <input name="passwd" type="password" autocomplete="off"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value nothing" />
- </td>
- </tr>
- <tr>
- <td>
- <span title="Full path to a script to generate fence password">Password Script (optional)</span>
- </td>
- <td>
- <input type="text" name="passwd_script"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/passwd_script | nothing" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
-
- <input type="hidden" name="sharable" value="1" />
- <input type="hidden" name="fence_type" value="fence_apc" />
- </div>
-</div>
-
-<div metal:define-macro="fence-form-mcdata"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_mcdata" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>McData SAN Switch</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>IP Address</td>
- <td>
- <input name="ipaddr" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fendev/ipaddr | nothing" />
- </td>
- </tr>
- <tr>
- <td>Login</td>
- <td>
- <input name="login" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/login | nothing" />
- </td>
- </tr>
- <tr>
- <td>Password</td>
- <td>
- <input name="passwd" type="password" autocomplete="off"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value nothing" />
- </td>
- </tr>
- <tr>
- <td>
- <span title="Full path to a script to generate fence password">Password Script (optional)</span>
- </td>
- <td>
- <input type="text" name="passwd_script"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/passwd_script | nothing" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
-
- <input type="hidden" name="sharable" value="1" />
- <input type="hidden" name="fence_type" value="fence_mcdata" />
- </div>
-</div>
-
-<div metal:define-macro="fence-form-wti"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_wti" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>WTI Power Switch</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>IP Address</td>
- <td>
- <input name="ipaddr" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/ipaddr | nothing" />
- </td>
- </tr>
- <tr>
- <td>Password</td>
- <td>
- <input name="passwd" type="password" autocomplete="off"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value nothing" />
- </td>
- </tr>
- <tr>
- <td>
- <span title="Full path to a script to generate fence password">Password Script (optional)</span>
- </td>
- <td>
- <input type="text" name="passwd_script"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/passwd_script | nothing" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
-
- <input type="hidden" name="sharable" value="1" />
- <input type="hidden" name="fence_type" value="fence_wti" />
- </div>
-</div>
-
-<div metal:define-macro="fence-form-ilo"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_ilo" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>HP iLO</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>Hostname</td>
- <td>
- <input name="hostname" type="text"
- tal:attributes="value cur_fencedev/hostname | cur_fencedev/ipaddr | nothing" />
- </td>
- </tr>
- <tr>
- <td>Login</td>
- <td>
- <input name="login" type="text"
- tal:attributes="value cur_fencedev/login | nothing" />
- </td>
- </tr>
- <tr>
- <td>Password</td>
- <td>
- <input name="passwd" type="password" autocomplete="off"
- tal:attributes="value nothing" />
- </td>
- </tr>
- <tr>
- <td>
- <span title="Full path to a script to generate fence password">Password Script (optional)</span>
- </td>
- <td>
- <input type="text" name="passwd_script"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/passwd_script | nothing" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
-
- <input type="hidden" name="fence_type" value="fence_ilo" />
- </div>
-</div>
-
-<div metal:define-macro="fence-form-drac"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_drac" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>Dell Drac</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>IP Address</td>
- <td>
- <input name="ipaddr" type="text"
- tal:attributes="value cur_fencedev/ipaddr | nothing" />
- </td>
- </tr>
- <tr>
- <td>Login</td>
- <td>
- <input name="login" type="text"
- tal:attributes="value cur_fencedev/login | nothing" />
- </td>
- </tr>
- <tr>
- <td>Password</td>
- <td>
- <input name="passwd" type="password" autocomplete="off"
- tal:attributes="value nothing" />
- </td>
- </tr>
- <tr>
- <td>
- <span title="Full path to a script to generate fence password">Password Script (optional)</span>
- </td>
- <td>
- <input type="text" name="passwd_script"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/passwd_script | nothing" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
-
- <input type="hidden" name="fence_type" value="fence_drac" />
- </div>
-</div>
-
-<div metal:define-macro="fence-form-rsa"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_rsa" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>IBM RSA II</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>Hostname</td>
- <td>
- <input name="hostname" type="text"
- tal:attributes="value cur_fencedev/hostname | nothing" />
- </td>
- </tr>
- <tr>
- <td>Login</td>
- <td>
- <input name="login" type="text"
- tal:attributes="value cur_fencedev/login | nothing" />
- </td>
- </tr>
- <tr>
- <td>Password</td>
- <td>
- <input name="passwd" type="password" autocomplete="off"
- tal:attributes="value nothing" />
- </td>
- </tr>
- <tr>
- <td>
- <span title="Full path to a script to generate fence password">Password Script (optional)</span>
- </td>
- <td>
- <input type="text" name="passwd_script"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/passwd_script | nothing" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
-
- <input type="hidden" name="fence_type" value="fence_rsa" />
- </div>
-</div>
-
-<div metal:define-macro="fence-form-brocade"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_brocade" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>Brocade Fabric Switch</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>IP Address</td>
- <td>
- <input name="ipaddr" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/ipaddr | nothing" />
- </td>
- </tr>
- <tr>
- <td>Login</td>
- <td>
- <input name="login" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/login | nothing" />
- </td>
- </tr>
- <tr>
- <td>Password</td>
- <td>
- <input name="passwd" type="password" autocomplete="off"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value nothing" />
- </td>
- </tr>
- <tr>
- <td>
- <span title="Full path to a script to generate fence password">Password Script (optional)</span>
- </td>
- <td>
- <input type="text" name="passwd_script"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/passwd_script | nothing" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
-
- <input type="hidden" name="sharable" value="1" />
- <input type="hidden" name="fence_type" value="fence_brocade" />
- </div>
-</div>
-
-<div metal:define-macro="fence-form-sanbox2"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_sanbox2" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>QLogic SANbox2</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>IP Address</td>
- <td>
- <input name="ipaddr" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/ipaddr | nothing" />
- </td>
- </tr>
- <tr>
- <td>Login</td>
- <td>
- <input name="login" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/login | nothing" />
- </td>
- </tr>
- <tr>
- <td>Password</td>
- <td>
- <input name="passwd" type="password" autocomplete="off"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value nothing" />
- </td>
- </tr>
- <tr>
- <td>
- <span title="Full path to a script to generate fence password">Password Script (optional)</span>
- </td>
- <td>
- <input type="text" name="passwd_script"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/passwd_script | nothing" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
-
- <input type="hidden" name="sharable" value="1" />
- <input type="hidden" name="fence_type" value="fence_sanbox2" />
- </div>
-</div>
-
-<div metal:define-macro="fence-form-vixel"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_vixel" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>Vixel SAN Switch</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>IP Address</td>
- <td>
- <input name="ipaddr" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/ipaddr | nothing" />
- </td>
- </tr>
- <tr>
- <td>Password</td>
- <td>
- <input name="passwd" type="password" autocomplete="off"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value nothing" />
- </td>
- </tr>
- <tr>
- <td>
- <span title="Full path to a script to generate fence password">Password Script (optional)</span>
- </td>
- <td>
- <input type="text" name="passwd_script"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/passwd_script | nothing" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
-
- <input type="hidden" name="sharable" value="1" />
- <input type="hidden" name="fence_type" value="fence_vixel" />
- </div>
-</div>
-
-<div metal:define-macro="fence-form-gnbd"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_gnbd" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>GNBD</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>Servers (whitespace separated list)</td>
- <td>
- <input name="servers" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/servers | nothing" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
-
- <input type="hidden" name="sharable" value="1" />
- <input type="hidden" name="fence_type" value="fence_gnbd" />
- </div>
-</div>
-
-<div metal:define-macro="fence-form-egenera"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_egenera" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>Egenera SAN Controller</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>CServer</td>
- <td>
- <input name="cserver" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/cserver | nothing" />
- </td>
- </tr>
- <tr>
- <td>ESH Path (Optional)</td>
- <td>
- <input name="login" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/login | string:/opt/pan-mgr/bin/esh" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
-
- <input type="hidden" name="sharable" value="1" />
- <input type="hidden" name="fence_type" value="fence_egenera" />
- </div>
-</div>
-
-<div metal:define-macro="fence-form-bladecenter"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_bladecenter" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>IBM Blade Center</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>IP Address</td>
- <td>
- <input name="ipaddr" type="text"
- tal:attributes="value cur_fencedev/ipaddr | nothing" />
- </td>
- </tr>
- <tr>
- <td>Login</td>
- <td>
- <input name="login" type="text"
- tal:attributes="value cur_fencedev/login | nothing" />
- </td>
- </tr>
- <tr>
- <td>Password</td>
- <td>
- <input name="passwd" type="password" autocomplete="off"
- tal:attributes="value nothing" />
- </td>
- </tr>
- <tr>
- <td>
- <span title="Full path to a script to generate fence password">Password Script (optional)</span>
- </td>
- <td>
- <input type="text" name="passwd_script"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/passwd_script | nothing" />
- </td>
- </tr>
- </table>
-
- <tal:block tal:condition="exists: cur_fencedev">
- <input type="hidden" name="existing_device" value="1" />
- <input type="hidden" name="orig_name"
- tal:attributes="value cur_fencedev/name | nothing" />
- </tal:block>
-
- <input type="hidden" name="sharable" value="1" />
- <input type="hidden" name="fence_type" value="fence_bladecenter" />
- </div>
-</div>
-
-<div metal:define-macro="fence-form-bullpap"
- tal:attributes="id cur_fencedev/name | nothing">
-
- <div id="fence_bullpap" class="fencedev">
- <table>
- <tr>
- <td><strong class="cluster">Fence Type</strong></td>
- <td>Bull PAP</td>
- </tr>
- <tr>
- <td>Name</td>
- <td>
- <input name="name" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/name | nothing" />
- </td>
- </tr>
- <tr>
- <td>IP Address</td>
- <td>
- <input name="ipaddr" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/ipaddr | nothing" />
- </td>
- </tr>
- <tr>
- <td>Login</td>
- <td>
- <input name="login" type="text"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value cur_fencedev/login | nothing" />
- </td>
- </tr>
- <tr>
- <td>Password</td>
- <td>
- <input name="passwd" type="password" autocomplete="off"
- tal:attributes="
- disabled cur_fencedev/isShared | nothing;
- value nothing" />
- </td>
- </tr>
-
 

Thread Tools




All times are GMT. The time now is 07:43 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org