From: rmccabe@sourceware.org <rmccabe@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] conga/luci cluster/busy_wait-macro cluster/for ...
Date: 10 Jun 2008 14:50:55 -0000 [thread overview]
Message-ID: <20080610145055.24761.qmail@sourceware.org> (raw)
CVSROOT: /cvs/cluster
Module name: conga
Changes by: rmccabe at sourceware.org 2008-06-10 14:50:53
Modified files:
luci/cluster : busy_wait-macro form-macros index_html
validate_create_gulm.js
luci/plone-custom: conga.js update_hostinfo.js
luci/site/luci/Extensions: FenceHandler.py LuciClusterInfo.py
Log message:
Luci fixes from the RHEL4 branch
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/busy_wait-macro.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.223&r2=1.224
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/index_html.diff?cvsroot=cluster&r1=1.42&r2=1.43
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/validate_create_gulm.js.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/plone-custom/conga.js.diff?cvsroot=cluster&r1=1.13&r2=1.14
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/plone-custom/update_hostinfo.js.diff?cvsroot=cluster&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/FenceHandler.py.diff?cvsroot=cluster&r1=1.32&r2=1.33
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/LuciClusterInfo.py.diff?cvsroot=cluster&r1=1.20&r2=1.21
--- conga/luci/cluster/busy_wait-macro 2008/01/25 00:36:59 1.3
+++ conga/luci/cluster/busy_wait-macro 2008/06/10 14:50:53 1.4
@@ -3,7 +3,7 @@
<p><img src="100wait.gif" /></p>
- <span tal:define="global nodereports isBusy/nodereports" />
+ <span tal:define="global nodereports isBusy/nodereports | nothing" />
<div tal:repeat="nodereport nodereports">
<tal:block
--- conga/luci/cluster/form-macros 2008/04/23 17:33:37 1.223
+++ conga/luci/cluster/form-macros 2008/06/10 14:50:53 1.224
@@ -148,6 +148,80 @@
</div>
</div>
+<div metal:define-macro="lockserver-macro" tal:omit-tag="">
+ <strong class="cluster">Lock Manager</strong>
+ <ul class="vanilla">
+ <li class="vanilla">
+ <input type="radio" name="lockmanager" value="dlm"
+ onchange="toggle_gulm(this.form, this.value)"
+ tal:attributes="checked python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm'">DLM (preferred)
+ </li>
+ <li class="vanilla">
+ <input type="radio" name="lockmanager" value="gulm"
+ onchange="toggle_gulm(this.form, this.value)"
+ tal:attributes="checked python: add_cluster and 'lockmanager' in add_cluster and add_cluster['lockmanager'] == 'gulm'">GULM
+ </li>
+ <div id="gulm_lockservers"
+ tal:attributes="class python: (add_cluster and 'lockmanager' in add_cluster and add_cluster['lockmanager'] != 'gulm') and 'invisible' or ''">
+ <fieldset>
+ <legend class="rescfg">GULM lock server properties</legend>
+ <p>You must enter exactly 1, 3, or 5 GULM lock servers.</p>
+ <table class="systemsTable">
+ <tr>
+ <td class="pad_right">Lock Server 1</td>
+ <td>
+ <input type="text" name="__GULM__:server1"
+ class="hostname"
+ tal:attributes="
+ disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+ value add_cluster/gulm_lockservers/server1 | nothing" />
+ </td>
+ </tr>
+ <tr>
+ <td class="pad_right">Lock Server 2</td>
+ <td>
+ <input type="text" name="__GULM__:server2"
+ class="hostname"
+ tal:attributes="
+ disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+ value add_cluster/gulm_lockservers/server2 | nothing" />
+ </td>
+ </tr>
+ <tr>
+ <td class="pad_right">Lock Server 3</td>
+ <td>
+ <input type="text" name="__GULM__:server3"
+ class="hostname"
+ tal:attributes="
+ disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+ value add_cluster/gulm_lockservers/server3 | nothing" />
+ </td>
+ </tr>
+ <tr>
+ <td class="pad_right">Lock Server 4</td>
+ <td>
+ <input type="text" name="__GULM__:server4"
+ class="hostname" tal:attributes="
+ disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+ value add_cluster/gulm_lockservers/server4 | nothing" />
+ </td>
+ </tr>
+ <tr>
+ <td class="pad_right">Lock Server 5</td>
+ <td>
+ <input type="text" name="__GULM__:server5"
+ class="hostname"
+ tal:attributes="
+ disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
+ value add_cluster/gulm_lockservers/server5 | nothing" />
+ </td>
+ </tr>
+ </table>
+ </fieldset>
+ </div>
+ </ul>
+</div>
+
<div metal:define-macro="cluster-form">
<h2>Cluster Form</h2>
</div>
@@ -171,10 +245,17 @@
tal:define="
global add_cluster request/SESSION/create_cluster | nothing">
+ <div class="invisible"
+ tal:condition="not:exists:add_cluster/gulm_support">
+ <div id="lockserver_div">
+ <tal:block metal:use-macro="here/form-macros/macros/lockserver-macro" />
+ </div>
+ </div>
+
<input name="pagetype" type="hidden"
tal:attributes="value request/form/pagetype | request/pagetype |string:6" />
- <input name="cluster_os" type="hidden"
+ <input name="cluster_os" type="hidden" id="cluster_os"
tal:attributes="value add_cluster/cluster_os | nothing" />
<table id="systemsTable" class="systemsTable" cellspacing="0">
@@ -241,91 +322,11 @@
</ul>
</td></tr>
- <tr class="systemsTable"
- tal:condition="exists:add_cluster/gulm_support">
- <td class="systemsTable" colspan="2">
- <strong class="cluster">Lock Manager</strong>
- <ul class="vanilla">
- <li class="vanilla">
- <input type="radio"
- name="lockmanager" value="dlm"
- onchange="toggle_gulm(this.form, this.value)"
- tal:attributes="checked python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm'"
- >DLM (preferred)
- </li>
- <li class="vanilla">
- <input type="radio"
- name="lockmanager" value="gulm"
- onchange="toggle_gulm(this.form, this.value)"
- tal:attributes="checked python: add_cluster and 'lockmanager' in add_cluster and add_cluster['lockmanager'] == 'gulm'"
- >GULM
- </li>
- <div id="gulm_lockservers"
- tal:attributes="class python: (add_cluster and 'lockmanager' in add_cluster and add_cluster['lockmanager'] != 'gulm') and 'invisible' or ''">
- <fieldset>
- <legend class="rescfg">GULM lock server properties</legend>
- <p>You must enter exactly 1, 3, or 5 GULM lock servers.</p>
-
- <table class="systemsTable">
- <tr>
- <td class="pad_right">Lock Server 1</td>
- <td>
- <input type="text"
- name="__GULM__:server1"
- class="hostname"
- tal:attributes="
- disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
- value add_cluster/gulm_lockservers/server1 | nothing" />
- </td>
- </tr>
- <tr>
- <td class="pad_right">Lock Server 2</td>
- <td>
- <input type="text"
- name="__GULM__:server2"
- class="hostname"
- tal:attributes="
- disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
- value add_cluster/gulm_lockservers/server2 | nothing" />
- </td>
- </tr>
- <tr>
- <td class="pad_right">Lock Server 3</td>
- <td>
- <input type="text"
- name="__GULM__:server3"
- class="hostname"
- tal:attributes="
- disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
- value add_cluster/gulm_lockservers/server3 | nothing" />
- </td>
- </tr>
- <tr>
- <td class="pad_right">Lock Server 4</td>
- <td>
- <input type="text"
- name="__GULM__:server4"
- class="hostname"
- tal:attributes="
- disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
- value add_cluster/gulm_lockservers/server4 | nothing" />
- </td>
- </tr>
- <tr>
- <td class="pad_right">Lock Server 5</td>
- <td>
- <input type="text"
- name="__GULM__:server5"
- class="hostname"
- tal:attributes="
- disabled python: not add_cluster or not 'lockmanager' in add_cluster or add_cluster['lockmanager'] != 'gulm';
- value add_cluster/gulm_lockservers/server5 | nothing" />
- </td>
- </tr>
- </table>
- </fieldset>
- </div>
- <ul>
+ <tr class="systemsTable">
+ <td class="systemsTable" colspan="2" id="lockserver_dialog">
+ <tal:block tal:condition="exists:add_cluster/gulm_support">
+ <tal:block metal:use-macro="here/form-macros/macros/lockserver-macro" />
+ </tal:block>
</td>
</tr>
</tfoot>
@@ -471,6 +472,8 @@
</div>
<div class="hbSubmit" id="hbSubmit">
+ <input id="cluster_version" name="cluster_version" type="hidden"
+ tal:attributes="value os_version | nothing" />
<input type="hidden" name="cluster_create" value="1" />
<input type="button" name="Submit" value="Submit"
onClick="validate_cluster_create(this.form)" />
@@ -1094,7 +1097,7 @@
<input name="pagetype" type="hidden"
tal:attributes="value request/form/pagetype | request/pagetype | string:15" />
- <input name="cluster_os" type="hidden"
+ <input name="cluster_os" type="hidden" id="cluster_os"
tal:attributes="value add_cluster/cluster_os | nothing" />
<table id="systemsTable" class="systemsTable" cellspacing="0">
--- conga/luci/cluster/index_html 2008/02/08 21:47:56 1.42
+++ conga/luci/cluster/index_html 2008/06/10 14:50:53 1.43
@@ -27,20 +27,26 @@
<tal:block tal:define="
global sinfo nothing;
global hascluster request/clustername | nothing;
- global isBusy python: False;
+ global isBusy python:False;
+ global isVirtualized python:False;
global firsttime nothing;
global ri_agent nothing;
+ global os_version nothing;
global busywaiting python:None" />
<tal:block tal:condition="hascluster">
<tal:block tal:define="
global ri_agent python:here.getRicciAgentForCluster(request);
- resmap python:here.getClusterOS(ri_agent);
- global isVirtualized resmap/isVirtualized | nothing;
- global os_version resmap/os | nothing;
- global isBusy python:here.isClusterBusy(request);
global firsttime request/busyfirst | nothing" />
+ <tal:block tal:condition="ri_agent"
+ tal:define="resmap python:here.getClusterOS(ri_agent)">
+ <tal:block tal:define="
+ global isVirtualized resmap/isVirtualized | nothing;
+ global os_version resmap/os | nothing;
+ global isBusy python:here.isClusterBusy(request)" />
+ </tal:block>
+
<tal:block tal:condition="firsttime">
<tal:block tal:define="global busywaiting python:True" />
<meta http-equiv="refresh"
--- conga/luci/cluster/validate_create_gulm.js 2008/01/02 20:52:22 1.3
+++ conga/luci/cluster/validate_create_gulm.js 2008/06/10 14:50:53 1.4
@@ -65,10 +65,19 @@
}
function validate_cluster_create(form) {
- if (form.lockmanager && !form.lockmanager[0].checked) {
- var errors = check_gulm_lkserv();
- if (error_dialog(errors))
- return (-1);
+ try {
+ if (!form.cluster_os.value) {
+ get_system_info(null, null, 1);
+ }
+ } catch (e) {
+ }
+
+ if (form.cluster_os.value) {
+ if (form.lockmanager && !form.lockmanager[0].checked) {
+ var errors = check_gulm_lkserv();
+ if (error_dialog(errors))
+ return (-1);
+ }
+ return validateForm(form);
}
- return validateForm(form);
}
--- conga/luci/plone-custom/conga.js 2008/02/05 19:32:04 1.13
+++ conga/luci/plone-custom/conga.js 2008/06/10 14:50:53 1.14
@@ -45,7 +45,7 @@
}
function display_msgs(id, msg_list) {
- if (!msg_list || msg_list.length < 1) {
+ if (id === null || !msg_list || msg_list.length < 1) {
return (-1);
}
--- conga/luci/plone-custom/update_hostinfo.js 2008/01/22 15:02:33 1.1
+++ conga/luci/plone-custom/update_hostinfo.js 2008/06/10 14:50:53 1.2
@@ -97,6 +97,7 @@
var errors = [];
var msgs = [];
var systems_list = get_systems_list_offsets(errors);
+ var cluster_os = null;
for (var i = 0 ; i < systems_list.length ; i++) {
var cur_node_props = node_props[systems_list[i][0]];
@@ -106,6 +107,10 @@
var addr_elem = document.getElementById('__SYSTEM' + offset + ':Addr');
var pwd_elem = document.getElementById('__SYSTEM' + offset + ':Passwd');
var fp_elem = document.getElementById('__SYSTEM' + offset + 'Fingerprint');
+ try {
+ cluster_os = cur_node_props['OS'];
+ } catch (e) {
+ }
if (cur_node_props['available'] != 'True') {
errors.push(cur_node_props['err_msg']);
@@ -130,7 +135,32 @@
}
}
} catch (e) {
- alert(e);
+ //alert(e);
+ }
+ }
+
+ if (cluster_os !== null) {
+ var os_str = null;
+
+ if (cluster_os.match(/Nahant/)) {
+ var lsdiv = document.getElementById('lockserver_div');
+ if (lsdiv !== null) {
+ var ls_cell = document.getElementById('lockserver_dialog');
+ if (ls_cell !== null) {
+ lsdiv.id = null;
+ ls_cell.appendChild(lsdiv);
+ }
+ }
+ os_str = 'rhel4';
+ } else {
+ os_str = 'rhel5';
+ }
+
+ if (os_str !== null) {
+ var os_in = document.getElementById('cluster_os');
+ if (os_in !== null) {
+ os_in.value = os_str;
+ }
}
}
--- conga/luci/site/luci/Extensions/FenceHandler.py 2008/06/06 16:41:52 1.32
+++ conga/luci/site/luci/Extensions/FenceHandler.py 2008/06/10 14:50:53 1.33
@@ -814,8 +814,10 @@
use_ssh = form.has_key('secure') and (form['secure'] == '1' or form['secure'].lower() == 'true')
if use_ssh:
fencedev.addAttribute('secure', '1')
+ fencedev.addAttribute('agent', 'fence_drac5')
else:
fencedev.removeAttribute('secure')
+ fencedev.addAttribute('agent', 'fence_drac')
return errors
--- conga/luci/site/luci/Extensions/LuciClusterInfo.py 2008/04/23 17:33:37 1.20
+++ conga/luci/site/luci/Extensions/LuciClusterInfo.py 2008/06/10 14:50:53 1.21
@@ -588,7 +588,7 @@
clumap['os_major'] = 4
os_minor = int(cluster_os[cluster_os.find('Update ') + 7])
clumap['os_minor'] = os_minor
- if os_minor > 6:
+ if os_minor > 7:
clumap['has_fence_ssh'] = True
except Exception, e:
if LUCI_DEBUG_MODE is True:
next reply other threads:[~2008-06-10 14:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-10 14:50 rmccabe [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-01-25 0:37 [Cluster-devel] conga/luci cluster/busy_wait-macro cluster/for 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=20080610145055.24761.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.