[luci] Bump minor version number
by Ryan McCabe
commit 5301f2b93987b68bb8889f2199f5f4052761b68b
Author: Ryan McCabe <ryan(a)chipotle.numb.lan>
Date: Fri May 28 16:29:25 2010 -0400
Bump minor version number
luci.spec | 7 +++++--
setup.py | 2 +-
2 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/luci.spec b/luci.spec
index 1bd20e8..6d38ede 100644
--- a/luci.spec
+++ b/luci.spec
@@ -3,13 +3,13 @@
%{!?pyver: %define pyver %(%{__python} -c "import sys ; print sys.version[:3]")}
Name: luci
-Version: 0.22.1
+Version: 0.22.2
Release: 1%{?dist}
Summary: Web-based cluster administration application
Group: Applications/System
License: GPLv2
URL: http://sources.redhat.com/cluster/conga
-Source0: http://people.redhat.com/rmccabe/luci/luci-0.22.1.tar.bz2
+Source0: http://people.redhat.com/rmccabe/luci/luci-0.22.2.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: python-devel python-setuptools python-paste python-paste-script cyrus-sasl-devel
Requires: TurboGears2 openssl python-repoze-who-friendlyform python-tw-forms
@@ -80,6 +80,9 @@ fi
exit 0
%changelog
+* Fri May 28 2010 Ryan McCabe <rmccabe(a)redhat.com> - 0.22.2-1
+- Fix for various cluster service creation and editing bugs.
+
* Wed May 26 2010 Ryan McCabe <rmccabe(a)redhat.com> - 0.22.1-1
- Fix edit and display of cluster services.
- Fix submission of qdisk heuristics.
diff --git a/setup.py b/setup.py
index 89a3d8b..85ecee2 100644
--- a/setup.py
+++ b/setup.py
@@ -8,7 +8,7 @@ except ImportError:
setup(
name='luci',
- version='0.22.1',
+ version='0.22.2',
license='GPLv2',
description='Web-based cluster administration application',
author='',
14 years
[luci] Fix for global resources being mistakenly subsumed into service blocks
by Ryan McCabe
commit e5d6f5c59406ecdf94ba2e9838a2bbf055abd420
Author: Ryan McCabe <ryan(a)chipotle.numb.lan>
Date: Fri May 28 16:19:11 2010 -0400
Fix for global resources being mistakenly subsumed into service blocks
luci/public/js/service.js | 5 ++
luci/templates/resource_list.html | 106 +++++++++++++++----------------------
2 files changed, 48 insertions(+), 63 deletions(-)
---
diff --git a/luci/public/js/service.js b/luci/public/js/service.js
index 64b8570..98ca41b 100644
--- a/luci/public/js/service.js
+++ b/luci/public/js/service.js
@@ -22,6 +22,7 @@ function insert_resource(res_id, container_id, form, parent_id) {
var sel_elem = $('.resource_selector', form);
$(sel_elem).remove();
}
+ var is_global = res_id.match(/^global_res_/) != null;
form.res_count.value = num_res + 1;
@@ -63,6 +64,10 @@ function insert_resource(res_id, container_id, form, parent_id) {
}
$(form_jelem).removeAttr('id');
+ if (is_global) {
+ $('<input type="hidden" name="global" value="1"/>').appendTo($(form_jelem));
+ }
+
var cur_resid_elem = $('input[name="form_id"]', form_jelem);
$(cur_resid_elem).val(cur_id_str);
diff --git a/luci/templates/resource_list.html b/luci/templates/resource_list.html
index 741a41a..1c94124 100644
--- a/luci/templates/resource_list.html
+++ b/luci/templates/resource_list.html
@@ -2,12 +2,11 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
py:strip="">
-<div py:def="ip_resource(res, form_id, parent_id, depth)" name="IP" id="ip_resource" class="row rescfg"
+<div py:def="ip_resource(res, form_id, parent_id, isref)" name="IP" id="ip_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="ip" />
@@ -37,12 +36,11 @@
</table>
</div>
-<div py:def="fs_resource(res, form_id, parent_id, depth)" name="FS" id="fs_resource" class="row rescfg"
+<div py:def="fs_resource(res, form_id, parent_id, isref)" name="FS" id="fs_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="fs" />
@@ -134,12 +132,11 @@
</table>
</div>
-<div py:def="clusterfs_resource(res, form_id, parent_id, depth)" name="CLUSTERFS" id="clusterfs_resource" class="row rescfg"
+<div py:def="clusterfs_resource(res, form_id, parent_id, isref)" name="CLUSTERFS" id="clusterfs_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="clusterfs" />
@@ -208,12 +205,11 @@
</table>
</div>
-<div py:def="netfs_resource(res, form_id, parent_id, depth)" name="NETFS" id="netfs_resource" class="row rescfg"
+<div py:def="netfs_resource(res, form_id, parent_id, isref)" name="NETFS" id="netfs_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="netfs" />
@@ -285,12 +281,11 @@
</table>
</div>
-<div py:def="nfsexport_resource(res, form_id, parent_id, depth)" name="NFSEXPORT" id="nfsexport_resource" class="row rescfg"
+<div py:def="nfsexport_resource(res, form_id, parent_id, isref)" name="NFSEXPORT" id="nfsexport_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="nfsexport" />
@@ -306,12 +301,11 @@
</table>
</div>
-<div py:def="nfsclient_resource(res, form_id, parent_id, depth)" name="NFSCLIENT" id="nfsclient_resource" class="row rescfg"
+<div py:def="nfsclient_resource(res, form_id, parent_id, isref)" name="NFSCLIENT" id="nfsclient_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="nfsclient" />
@@ -348,12 +342,11 @@
</table>
</div>
-<div py:def="smb_resource(res, form_id, parent_id, depth)" name="SMB" id="smb_resource" class="row rescfg"
+<div py:def="smb_resource(res, form_id, parent_id, isref)" name="SMB" id="smb_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="smb" />
@@ -404,12 +397,11 @@
</table>
</div>
-<div py:def="script_resource(res, form_id, parent_id, depth)" name="SCRIPT" id="script_resource" class="row rescfg"
+<div py:def="script_resource(res, form_id, parent_id, isref)" name="SCRIPT" id="script_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="script" />
@@ -432,12 +424,11 @@
</table>
</div>
-<div py:def="apache_resource(res, form_id, parent_id, depth)" name="APACHE" id="apache_resource" class="row rescfg"
+<div py:def="apache_resource(res, form_id, parent_id, isref)" name="APACHE" id="apache_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="apache" />
@@ -482,12 +473,11 @@
</table>
</div>
-<div py:def="mysql_resource(res, form_id, parent_id, depth)" name="MYSQL" id="mysql_resource" class="row rescfg"
+<div py:def="mysql_resource(res, form_id, parent_id, isref)" name="MYSQL" id="mysql_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="mysql" />
@@ -538,12 +528,11 @@
</table>
</div>
-<div py:def="lvm_resource(res, form_id, parent_id, depth)" name="LVM" id="lvm_resource" class="row rescfg"
+<div py:def="lvm_resource(res, form_id, parent_id, isref)" name="LVM" id="lvm_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="lvm" />
@@ -580,12 +569,11 @@
</table>
</div>
-<div py:def="openldap_resource(res, form_id, parent_id, depth)" name="OPENLDAP" id="openldap_resource" class="row rescfg"
+<div py:def="openldap_resource(res, form_id, parent_id, isref)" name="OPENLDAP" id="openldap_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="openldap" />
@@ -629,9 +617,9 @@
</table>
</div>
-<div py:def="postgres8_resource(res, form_id, parent_id, depth)" name="POSTGRES-8" id="postgres8_resource" class="row rescfg"
+<div py:def="postgres8_resource(res, form_id, parent_id, isref)" name="POSTGRES-8" id="postgres8_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
<input name="oldname" type="hidden"
@@ -677,12 +665,11 @@
</table>
</div>
-<div py:def="tomcat5_resource(res, form_id, parent_id, depth)" name="TOMCAT-5" id="tomcat5_resource" class="row rescfg"
+<div py:def="tomcat5_resource(res, form_id, parent_id, isref)" name="TOMCAT-5" id="tomcat5_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="tomcat-5" />
@@ -733,12 +720,11 @@
</table>
</div>
-<div py:def="sapinstance_resource(res, form_id, parent_id, depth)" name="SAPInstance" id="sapinstance_resource" class="row rescfg"
+<div py:def="sapinstance_resource(res, form_id, parent_id, isref)" name="SAPInstance" id="sapinstance_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="SAPInstance" />
@@ -833,12 +819,11 @@
</table>
</div>
-<div py:def="sapdatabase_resource(res, form_id, parent_id, depth)" name="SAPDatabase" id="sapdatabase_resource" class="row rescfg"
+<div py:def="sapdatabase_resource(res, form_id, parent_id, isref)" name="SAPDatabase" id="sapdatabase_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="SAPDatabase" />
@@ -978,12 +963,11 @@
</table>
</div>
-<div py:def="asehaagent_resource(res, form_id, parent_id, depth)" name="ASEHAagent" id="asehaagent_resource" class="row rescfg"
+<div py:def="asehaagent_resource(res, form_id, parent_id, isref)" name="ASEHAagent" id="asehaagent_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="ASEHAagent" />
@@ -1059,12 +1043,11 @@
</table>
</div>
-<div py:def="oracledb_resource(res, form_id, parent_id, depth)" name="oracledb" id="oracledb_resource" class="row rescfg"
+<div py:def="oracledb_resource(res, form_id, parent_id, isref)" name="oracledb" id="oracledb_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="oracledb" />
@@ -1123,12 +1106,11 @@
</table>
</div>
-<div py:def="named_resource(res, form_id, parent_id, depth)" name="NAMED" id="named_resource" class="row rescfg"
+<div py:def="named_resource(res, form_id, parent_id, isref)" name="NAMED" id="named_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="named" />
@@ -1173,12 +1155,11 @@
</table>
</div>
-<div py:def="drbd_resource(res, form_id, parent_id, depth)" name="DRBD" id="drbd_resource" class="row rescfg"
+<div py:def="drbd_resource(res, form_id, parent_id, isref)" name="DRBD" id="drbd_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}"/>
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="drbd" />
@@ -1208,12 +1189,11 @@
</table>
</div>
-<div py:def="vm_resource(res, form_id, parent_id, depth)" name="VM" id="vm_resource" class="row rescfg"
+<div py:def="vm_resource(res, form_id, parent_id, isref)" name="VM" id="vm_resource" class="row rescfg"
py:attrs="res and {'id': 'global_res_%s' % res.getName(), 'name': res.getName()}">
- <input name="global" type="hidden" value="1" py:if="res and not form_id"/>
+ <input name="global" type="hidden" value="1" py:if="res and isref != 0"/>
<input name="parent_id" type="hidden" value="${parent_id}"/>
<input name="form_id" type="hidden" value="${form_id}"/>
- <input name="tree_level" type="hidden" value="${depth}" />
<input name="oldname" type="hidden"
py:attrs="res and {'value':res.getAttribute('name')} or {}" />
<input name="type" type="hidden" value="vm" />
@@ -1433,7 +1413,7 @@ ${vm_resource(None,None,None,0)}
?>
<py:choose test="cur_res.isRefObject()">
<py:when test="True">
- ${cur_res_fn(cur_res.getObj(), cur_id_str, parentid, 0)}
+ ${cur_res_fn(cur_res.getObj(), cur_id_str, parentid, 1)}
</py:when>
<py:otherwise>
${cur_res_fn(cur_res, cur_id_str, parentid, 0)}
14 years
[luci] Commented out 'Manage Nodes' since it isn't currently hooked up
by Chris Feist
commit 05a423108b3fbf18611642665d47227c356b2166
Author: Chris Feist <cfeist(a)redhat.com>
Date: Fri May 28 15:01:57 2010 -0500
Commented out 'Manage Nodes' since it isn't currently hooked up
luci/templates/fence.html | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/luci/templates/fence.html b/luci/templates/fence.html
index ec38b28..55345b7 100644
--- a/luci/templates/fence.html
+++ b/luci/templates/fence.html
@@ -120,7 +120,7 @@
<!--! DETAILS - nodes section. -->
<div class="details_section">
- <a href="" class="float_button">Manage Nodes</a>
+ <!-- <a href="" class="float_button">Manage Nodes</a> -->
<h4>Nodes</h4>
<div class="details_inner">
<table id="fence_tnodes" class="detailstable">
14 years
[luci] Updated about text to more closely match what is being released
by Chris Feist
commit d5f097da3f5f5fcea30519a6a182405ac88b9a12
Author: Chris Feist <cfeist(a)redhat.com>
Date: Fri May 28 14:56:20 2010 -0500
Updated about text to more closely match what is being released
luci/templates/about.html | 13 +++----------
1 files changed, 3 insertions(+), 10 deletions(-)
---
diff --git a/luci/templates/about.html b/luci/templates/about.html
index c4eb4d5..a81344e 100644
--- a/luci/templates/about.html
+++ b/luci/templates/about.html
@@ -22,8 +22,8 @@
installed on systems. When a system is added to a luci server to be
administered, authentication is done once. No authentication is necessary from
then on (unless the certificate used is revoked by a CA, but in fact, CA
- integration is not complete in version #1 of conga). Through the UI provided
- by luci, users can configure and administer storage and cluster behavior on
+ integration is not complete in this version of conga). Through the UI provided
+ by luci, users can configure and administer cluster behavior on
remote systems. Communication between luci and ricci is done via XML.</p>
<h2>Luci Description</h2>
@@ -38,20 +38,13 @@
provides a means for replication of a luci server instance, as well as an
easier upgrade and testing path.</p>
- <p>Every luci server instance has one user at initial installation time. This
- user is called "admin". Only the admin user may add systems to a luci
- server. The admin user can also create additional user accounts and determine
- which users are allowed to access which systems in the luci server
- database. It is possible to import users as a batch operation in a new luci
- server, just as it is possible to import systems.</p>
-
<h2>Legal</h2>
The
<span>
<a href="http://www.sourceware.org/cluster/conga">
Conga Cluster and Storage Management System</a>
</span>
- is Copyright <acronym title="Copyright">©</acronym> 2006–2009
+ is Copyright <acronym title="Copyright">©</acronym> 2006–2010
<a href="http://www.redhat.com/">Red Hat, Inc.</a>
<p>
14 years
[luci] Removed other hostname shortening parts of the service page.
by Chris Feist
commit f54130bfbb10f6fa9acd7c1ea299444847d2ab16
Author: Chris Feist <cfeist(a)redhat.com>
Date: Fri May 28 14:51:53 2010 -0500
Removed other hostname shortening parts of the service page.
luci/templates/service.html | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/luci/templates/service.html b/luci/templates/service.html
index 11eacef..be65ad1 100644
--- a/luci/templates/service.html
+++ b/luci/templates/service.html
@@ -82,7 +82,7 @@
</td>
<td class="service_tlist_status"
py:with="msg = cluster_status.services[entity_name].failed == 'true' and _('Failed') or _('Disabled')">
- <span title="${msg}">${form_utils.compactString(msg, 18)}</span>
+ <span title="${msg}">${msg}</span>
<!--! TODO: Avoid following nasty hack !-->
<py:if test="name == entity_name">${setattr(tmpl_context, 'current_service_status', msg)}</py:if>
</td>
@@ -98,7 +98,7 @@
</td>
<td class="service_tlist_status"
py:with="msg = _('Unknown')">
- <span title="${msg}">${form_utils.compactString(msg, 18)}</span>
+ <span title="${msg}">${msg}</span>
</td>
</py:otherwise>
</py:choose>
14 years
[luci] Print the entire service name on the services page
by Chris Feist
commit 10d22a40caf97c9a124ce9238faf42455e7603cc
Author: Chris Feist <cfeist(a)redhat.com>
Date: Fri May 28 14:49:23 2010 -0500
Print the entire service name on the services page
- If we don't print the full service name it's too hard to see
which node the actual service is running on. If we're worried
that the page is too wide then we should work with the css/html to
limit the size of the cell.
luci/templates/service.html | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/luci/templates/service.html b/luci/templates/service.html
index 019ab2c..11eacef 100644
--- a/luci/templates/service.html
+++ b/luci/templates/service.html
@@ -65,7 +65,7 @@
</td>
<td class="service_tlist_status"
py:with="msg = _('Running on %s') % cluster_status.services[entity_name].nodename">
- <span title="${msg}">${form_utils.compactString(msg, 18)}</span>
+ <span title="${msg}">${msg}</span>
<!--! TODO: Avoid following nasty hack !-->
<py:if test="name == entity_name">${setattr(tmpl_context, 'current_service_status', msg)}</py:if>
</td>
14 years
[luci] Make sure top menu shows up on QDisk & Configure pages
by Chris Feist
commit 70b7c44669f9008a4b00ef421a2f7999dd3084d8
Author: Chris Feist <cfeist(a)redhat.com>
Date: Fri May 28 14:46:14 2010 -0500
Make sure top menu shows up on QDisk & Configure pages
luci/templates/configure.html | 1 +
luci/templates/qdisk.html | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/luci/templates/configure.html b/luci/templates/configure.html
index 52f7530..7cd12d8 100644
--- a/luci/templates/configure.html
+++ b/luci/templates/configure.html
@@ -15,6 +15,7 @@
form_utils = app_globals.form_utils">
<div class="sectionblock">
+ <xi:include href="submenu.html"/>
<div style="clear:both;"></div>
<!--! OVERVIEW SECTION. -->
diff --git a/luci/templates/qdisk.html b/luci/templates/qdisk.html
index f251ab0..098a5f2 100644
--- a/luci/templates/qdisk.html
+++ b/luci/templates/qdisk.html
@@ -18,6 +18,7 @@
<script type="text/javascript" src="/js/qdisk.js"></script>
<div class="sectionblock">
+ <xi:include href="submenu.html"/>
<div style="clear:both;"></div>
<div id="tabs" py:with="quorumd_ptr = cluster_data and cluster_data.quorumd_ptr">
<form id="qdisk_form" action="${tg.url(qdisk_cmd)}" method="post">
14 years
[luci] Fix error in services display on node pages
by Ryan McCabe
commit 549122d44af3a6f4f8e95f1f21906c8aee42039b
Author: Ryan McCabe <ryan(a)chipotle.numb.lan>
Date: Fri May 28 13:16:26 2010 -0400
Fix error in services display on node pages
luci/templates/node.html | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/luci/templates/node.html b/luci/templates/node.html
index 59faff4..c45ba4c 100644
--- a/luci/templates/node.html
+++ b/luci/templates/node.html
@@ -168,12 +168,12 @@
<div class="details_inner">
<table id="node_tservices" class="detailstable">
<tbody>
- <tr py:for="service in details['services']" class="grid_row">
- <py:with vars="running = service.running == 'true'">
+ <tr py:for="svc_name, svc_obj in details['services'].items()" class="grid_row">
+ <py:with vars="running = svc_obj.running == 'true'">
<td class="icon">
<img py:if="not running" src="${tg.url('/images/exclamation.png')}" alt="Service has a problem." />
</td>
- <td class="node_tservices_service"><span py:attrs="running and {'class': 'entity_ok'} or {'class': 'entity_fail'}">${service}</span></td>
+ <td class="node_tservices_service"><span py:attrs="running and {'class': 'entity_ok'} or {'class': 'entity_fail'}">${svc_name}</span></td>
</py:with>
</tr>
</tbody>
14 years
[luci] Remove "Add a service" link from the failover domain config page because it did nothing and was out
by Ryan McCabe
commit 0c2f99e0bd841add94445817c7c82e065be6f0ab
Author: Ryan McCabe <ryan(a)chipotle.numb.lan>
Date: Fri May 28 12:54:05 2010 -0400
Remove "Add a service" link from the failover domain config page because it did nothing and was out of place, anyway
luci/templates/failover.html | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
---
diff --git a/luci/templates/failover.html b/luci/templates/failover.html
index 0b82578..e21c51c 100644
--- a/luci/templates/failover.html
+++ b/luci/templates/failover.html
@@ -133,7 +133,6 @@
<!--! DETAILS - services section. -->
<div class="details_section">
- <a href="${tg.url('add?failover=' + name)}" class="float_button">Add a Service</a>
<h4>Services</h4>
<div class="details_inner">
<table id="fdom_tservices" class="detailstable">
14 years
[luci] Remove the "Internal Error" substring from the service status shown when we don't have status for a
by Ryan McCabe
commit 70b5708d98d04f75194d0eab04213f8c3b59323e
Author: Ryan McCabe <ryan(a)chipotle.numb.lan>
Date: Fri May 28 11:25:50 2010 -0400
Remove the "Internal Error" substring from the service status shown when we don't have status for a cluster service. This condition can occur immediately after adding a service due to clustermon returning slightly stale data.
luci/templates/service.html | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/luci/templates/service.html b/luci/templates/service.html
index d304f43..019ab2c 100644
--- a/luci/templates/service.html
+++ b/luci/templates/service.html
@@ -97,7 +97,7 @@
</a>
</td>
<td class="service_tlist_status"
- py:with="msg = _('[Unknown - Internal Error]')">
+ py:with="msg = _('Unknown')">
<span title="${msg}">${form_utils.compactString(msg, 18)}</span>
</td>
</py:otherwise>
14 years