CVSROOT: /cvs/cluster
Module name: conga
Changes by: [EMAIL PROTECTED] 2008-04-23 17:33:40
Modified files:
luci/cluster : fence-macros form-macros resource-form-macros
validate_fence.js
luci/init.d : luci
luci/site/luci/Extensions: FenceHandler.py LuciClusterInfo.py
StorageReport.py cluster_adapters.py
homebase_adapters.py
luci/site/luci/var: Data.fs
luci/site/luci/var/certs: cacert.config
luci/utils : luci_admin
ricci/modules/cluster/clumon/src/common: Makefile
ricci/modules/cluster/clumon/src/snmp-agent: Makefile
Log message:
Fixes from RHEL 4 and 5
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/fence-macros.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.222&r2=1.223
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/resource-form-macros.diff?cvsroot=cluster&r1=1.49&r2=1.50
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/validate_fence.js.diff?cvsroot=cluster&r1=1.13&r2=1.14
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/init.d/luci.diff?cvsroot=cluster&r1=1.21&r2=1.22
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/FenceHandler.py.diff?cvsroot=cluster&r1=1.30&r2=1.31
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/LuciClusterInfo.py.diff?cvsroot=cluster&r1=1.19&r2=1.20
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/StorageReport.py.diff?cvsroot=cluster&r1=1.29&r2=1.30
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/cluster_adapters.py.diff?cvsroot=cluster&r1=1.282&r2=1.283
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/homebase_adapters.py.diff?cvsroot=cluster&r1=1.58&r2=1.59
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/var/Data.fs.diff?cvsroot=cluster&r1=1.32&r2=1.33
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/var/certs/cacert.config.diff?cvsroot=cluster&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/utils/luci_admin.diff?cvsroot=cluster&r1=1.58&r2=1.59
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/cluster/clumon/src/common/Makefile.diff?cvsroot=cluster&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/cluster/clumon/src/snmp-agent/Makefile.diff?cvsroot=cluster&r1=1.8&r2=1.9
--- conga/luci/cluster/fence-macros 2008/01/02 20:52:22 1.2
+++ conga/luci/cluster/fence-macros 2008/04/23 17:33:37 1.3
@@ -77,6 +77,9 @@
<h2>Add a Sharable Fence Device</h2>
+ <tal:block tal:define="
+ global clusterinfo python: here.getClusterInfo(modelb,
request)" />
+
<div id="invisible" class="invisible">
<tal:block
metal:use-macro="here/fence-macros/macros/shared-fence-form-list" />
</div>
@@ -136,6 +139,9 @@
<h3>Configure a Fence Device</h3>
+ <tal:block tal:define="
+ global clusterinfo python: here.getClusterInfo(modelb,
request)" />
+
<tal:block tal:define="fencedevs python: here.getFenceInfo(modelb,
None)">
<tal:block tal:condition="exists: fencedevs/fencedevs">
@@ -188,6 +194,10 @@
<tal:block
metal:use-macro="here/fence-macros/macros/fence-form-rsa" />
</tal:block>
+ <tal:block tal:condition="python: cur_fence_type == 'fence_rsb'">
+ <tal:block
metal:use-macro="here/fence-macros/macros/fence-form-rsb" />
+ </tal:block>
+
<tal:block tal:condition="python: cur_fence_type == 'fence_brocade'">
<tal:block
metal:use-macro="here/fence-macros/macros/fence-form-brocade" />
</tal:block>
@@ -329,6 +339,7 @@
<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_rsb" value="fence_rsb">Fujitsu Siemens RSB</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>
@@ -610,6 +621,19 @@
value
cur_fencedev/passwd_script | nothing" />
</td>
</tr>
+ <tr tal:condition="exists:clusterinfo/has_fence_ssh">
+ <td>
+ <span title="Enable SSH operation">Use
SSH</span>
+ </td>
+ <td>
+ <input
tal:condition="exists:cur_fencedev"
+ type="checkbox" name="secure"
+ tal:attributes="
+ checked
python:(cur_fencedev and cur_fencedev.has_key('secure') and
(cur_fencedev['secure'] == '1' or cur_fencedev['secure'].lower() == 'true'))
and 'checked' or ''" />
+ <input
tal:condition="not:exists:cur_fencedev"
+ type="checkbox" name="secure" />
+ </td>
+ </tr>
</table>
<tal:block tal:condition="exists: cur_fencedev">
@@ -670,6 +694,19 @@
value
cur_fencedev/passwd_script | nothing" />
</td>
</tr>
+ <tr tal:condition="exists:clusterinfo/has_fence_ssh">
+ <td>
+ <span title="Enable SSH operation">Use
SSH (DRAC5 only)</span>
+ </td>
+ <td>
+ <input
tal:condition="exists:cur_fencedev"
+ type="checkbox" name="secure"
+ tal:attributes="
+ checked
python:(cur_fencedev and cur_fencedev.has_key('secure') and
(cur_fencedev['secure'] == '1' or cur_fencedev['secure'].lower() == 'true'))
and 'checked' or ''" />
+ <input
tal:condition="not:exists:cur_fencedev"
+ type="checkbox" name="secure" />
+ </td>
+ </tr>
</table>
<tal:block tal:condition="exists: cur_fencedev">
@@ -701,8 +738,8 @@
<tr>
<td>Hostname</td>
<td>
- <input name="hostname" type="text"
- tal:attributes="value
cur_fencedev/hostname | nothing" />
+ <input name="ipaddr" type="text"
+ tal:attributes="value
cur_fencedev/ipaddr | nothing" />
</td>
</tr>
<tr>
@@ -742,6 +779,66 @@
</div>
</div>
+<div metal:define-macro="fence-form-rsb"
+ tal:attributes="id cur_fencedev/name | nothing">
+
+ <div id="fence_rsb" class="fencedev">
+ <table>
+ <tr>
+ <td><strong class="cluster">Fence
Type</strong></td>
+ <td>Fujitsu Siemens RemoteView Service Board
(RSB)</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="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_rsb" />
+ </div>
+</div>
+
<div metal:define-macro="fence-form-brocade"
tal:attributes="id cur_fencedev/name | nothing">
@@ -1321,10 +1418,9 @@
<tr>
<td>Use Lanplus</td>
<td>
- <tal:block tal:condition="exists:
cur_fencedev">
+ <tal:block
tal:condition="exists:cur_fencedev">
<input name="lanplus"
type="checkbox"
- tal:attributes="checked
python: ('lanplus' in cur_fencedev and cur_fencedev['lanplus'] == '1') and
'checked' or ''"
- />
+ tal:attributes="checked
python: (cur_fencedev and cur_fencedev.has_key('lanplus') and
(cur_fencedev['lanplus'] == '1' or cur_fencedev['lanplus'].lower() == 'true'))
and 'checked' or ''" />
</tal:block>
<tal:block
tal:condition="not:exists:cur_fencedev">
<input name="lanplus"
type="checkbox" />
@@ -1376,6 +1472,7 @@
<tal:block metal:use-macro="here/fence-macros/macros/fence-form-ilo" />
<tal:block metal:use-macro="here/fence-macros/macros/fence-form-drac" />
<tal:block metal:use-macro="here/fence-macros/macros/fence-form-rsa" />
+ <tal:block metal:use-macro="here/fence-macros/macros/fence-form-rsb" />
<tal:block
metal:use-macro="here/fence-macros/macros/fence-form-brocade" />
<tal:block
metal:use-macro="here/fence-macros/macros/fence-form-sanbox2" />
<tal:block metal:use-macro="here/fence-macros/macros/fence-form-vixel"
/>
@@ -1466,6 +1563,19 @@
tal:attributes="value
cur_instance/switch | nothing" />
</td>
</tr>
+ <tr tal:condition="exists:clusterinfo/has_fence_ssh">
+ <td>
+ <span title="Enable SSH operation">Use
SSH</span>
+ </td>
+ <td>
+ <input
tal:condition="exists:cur_instance"
+ type="checkbox" name="secure"
+ tal:attributes="
+ checked
python:(cur_instance and cur_instance.has_key('secure') and
(cur_instance['secure'] == '1' or cur_instance['secure'].lower() == 'true'))
and 'checked' or ''" />
+ <input
tal:condition="not:exists:cur_instance"
+ type="checkbox" name="secure" />
+ </td>
+ </tr>
<tr><td colspan="2">
<div class="hbSubmit">
<tal:block
tal:condition="exists:cur_fence_instance_id">
@@ -1549,6 +1659,19 @@
tal:attributes="value
cur_instance/port | nothing" />
</td>
</tr>
+ <tr tal:condition="exists:clusterinfo/has_fence_ssh">
+ <td>
+ <span title="Enable SSH operation">Use
SSH</span>
+ </td>
+ <td>
+ <input
tal:condition="exists:cur_instance"
+ type="checkbox" name="secure"
+ tal:attributes="
+ checked
python:(cur_instance and cur_instance.has_key('secure') and
(cur_instance['secure'] == '1' or cur_instance['secure'].lower() == 'true'))
and 'checked' or ''" />
+ <input
tal:condition="not:exists:cur_instance"
+ type="checkbox" name="secure" />
+ </td>
+ </tr>
<tr><td colspan="2">
<div class="hbSubmit">
<tal:block
tal:condition="exists:cur_fence_instance_id">
@@ -1777,6 +1900,19 @@
tal:attributes="value
cur_instance/blade | nothing" />
</td>
</tr>
+ <tr tal:condition="exists:clusterinfo/has_fence_ssh">
+ <td>
+ <span title="Enable SSH operation">Use
SSH</span>
+ </td>
+ <td>
+ <input
tal:condition="exists:cur_instance"
+ type="checkbox" name="secure"
+ tal:attributes="
+ checked
python:(cur_instance and cur_instance.has_key('secure') and
(cur_instance['secure'] == '1' or cur_instance['secure'].lower() == 'true'))
and 'checked' or ''" />
+ <input
tal:condition="not:exists:cur_instance"
+ type="checkbox" name="secure" />
+ </td>
+ </tr>
<tr><td colspan="2">
<div class="hbSubmit">
<tal:block
tal:condition="exists:cur_fence_instance_id">
@@ -1849,8 +1985,8 @@
<tr>
<td>Node name</td>
<td>
- <input type="text" name="node"
disabled="disabled"
- tal:attributes="value
request/node | nothing" />
+ <input type="text" name="node"
+ tal:attributes="value
cur_instance/node | nothing" />
</td>
</tr>
</table>
--- conga/luci/cluster/form-macros 2008/02/08 21:47:55 1.222
+++ conga/luci/cluster/form-macros 2008/04/23 17:33:37 1.223
@@ -512,6 +512,9 @@
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">
--- conga/luci/cluster/resource-form-macros 2008/03/06 21:27:16 1.49
+++ conga/luci/cluster/resource-form-macros 2008/04/23 17:33:37 1.50
@@ -146,7 +146,10 @@
<option name="TOMCAT-5" value="TOMCAT-5">Tomcat
5</option>
<option name="SAPDatabase" value="SAPDatabase">SAP
Database</option>
<option name="SAPInstance" value="SAPInstance">SAP
Instance</option>
- <option name="ASEHAagent" value="ASEHAagent">Sybase ASE
Failover Instance</option>
+
+ <tal:block tal:condition="python:clusterinfo and
clusterinfo['os_major'] == 5 and clusterinfo['os_minor'] > 1">
+ <option name="ASEHAagent"
value="ASEHAagent">Sybase ASE Failover Instance</option>
+ </tal:block>
<option name="oracledb" value="oracledb">Oracle 10g
Failover Instance</option>
</select>
</form>
@@ -199,7 +202,11 @@
<option name="TOMCAT-5" value="TOMCAT-5">Tomcat
5</option>
<option name="SAPDatabase" value="SAPDatabase">SAP
Database</option>
<option name="SAPInstance" value="SAPInstance">SAP
Instance</option>
- <option name="ASEHAagent" value="ASEHAagent">Sybase ASE
Failover Instance</option>
+
+ <tal:block tal:condition="python:clusterinfo and
clusterinfo['os_major'] == 5 and clusterinfo['os_minor'] > 1">
+ <option name="ASEHAagent"
value="ASEHAagent">Sybase ASE Failover Instance</option>
+ </tal:block>
+
<option name="oracledb" value="oracledb">Oracle 10g
Failover Instance</option>
</select>
</form>
@@ -387,11 +394,12 @@
</tr>
<tr class="systemsTable">
<td class="systemsTable">Monitor link</td>
- <td class="systemsTable">
+ <td class="systemsTable"
+ tal:define="monitor_link res/attrs/monitor_link
| nothing">
<input type="checkbox" name="monitorLink"
tal:attributes="
disabled python: editDisabled;
- checked res/attrs/monitor_link
| string: checked" />
+ checked python:(monitor_link
and monitor_link.lower() == 'true' or monitor_link== '1') and 'checked' or ''"
/>
</td>
</tr>
</table>
--- conga/luci/cluster/validate_fence.js 2008/01/02 20:52:22 1.13
+++ conga/luci/cluster/validate_fence.js 2008/04/23 17:33:37 1.14
@@ -8,17 +8,17 @@
*/
var fence_inst_validator = [];
-fence_inst_validator['apc'] = [ 'port', 'switch' ];
-fence_inst_validator['bladecenter'] = [ 'blade' ];
+fence_inst_validator['apc'] = [ 'port', 'switch', 'secure' ];
+fence_inst_validator['bladecenter'] = [ 'blade', 'secure' ];
fence_inst_validator['brocade'] = [ 'port' ];
fence_inst_validator['bullpap'] = [ 'domain' ];
fence_inst_validator['egenera'] = [ 'lpan', 'pserver' ];
-fence_inst_validator['gndb'] = [ 'ipaddress' ];
+fence_inst_validator['gnbd'] = [ 'ipaddress' ];
fence_inst_validator['mcdata'] = [ 'port' ];
fence_inst_validator['sanbox2'] = [ 'port' ];
fence_inst_validator['scsi'] = [ 'nodename' ];
fence_inst_validator['vixel'] = [ 'port' ];
-fence_inst_validator['wti'] = [ 'port' ];
+fence_inst_validator['wti'] = [ 'port', 'secure' ];
fence_inst_validator['xvm'] = [ 'domain' ];
var fence_validator = [];
@@ -26,15 +26,16 @@
fence_validator['bladecenter'] = [ 'ipaddr', 'login', 'passwd',
'passwd_script' ];
fence_validator['brocade'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
fence_validator['bullpap'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
-fence_validator['drac'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
+fence_validator['drac'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script',
'secure' ];
fence_validator['egenera'] = [ 'cserver' ];
fence_validator['gnbd'] = [ 'servers' ];
-fence_validator['ilo'] = [ 'hostname', 'login', 'passwd', 'passwd_script' ];
+fence_validator['ilo'] = [ 'hostname', 'login', 'passwd', 'passwd_script',
'secure' ];
fence_validator['ipmilan'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script',
'lanplus', 'auth' ];
fence_validator['manual'] = [];
fence_validator['mcdata'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
fence_validator['rps10'] = [ 'device', 'port'];
-fence_validator['rsa'] = [ 'hostname', 'login', 'passwd', 'passwd_script' ];
+fence_validator['rsa'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
+fence_validator['rsb'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
fence_validator['sanbox2'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
fence_validator['scsi'] = [];
fence_validator['unknown'] = [];
@@ -76,7 +77,8 @@
return (errors);
}
- if (errors && errors.length > 0 && form.passwd_script &&
!str_is_blank(form.passwd_script.value))
+ if (errors && errors.length > 0 &&
+ form.passwd_script && !str_is_blank(form.passwd_script.value))
{
clr_form_err(form_elem);
return (null);
@@ -125,6 +127,9 @@
field_validator['port'] = validate_field_str;
field_validator['passwd_script'] = validate_field_noop;
+/* iLO, DRAC5, WTI, APC, Bladecenter */
+field_validator['secure'] = validate_field_noop;
+
/* IPMI fence device */
field_validator['lanplus'] = validate_field_noop;
field_validator['auth'] = validate_field_ipmilan_auth;
--- conga/luci/init.d/luci 2008/02/05 18:41:46 1.21
+++ conga/luci/init.d/luci 2008/04/23 17:33:37 1.22
@@ -75,7 +75,7 @@
rm -f -- "$HTTPS_PRIVKEY" "$HTTPS_PUBKEY"
/usr/bin/openssl genrsa -out "$HTTPS_PRIVKEY" "$KEY_BITS" >&/dev/null
- /usr/bin/openssl req -new -x509 -key "$HTTPS_PRIVKEY" -out
"$HTTPS_PUBKEY" -days "$KEY_LIFE_DAYS" -config
/var/lib/luci/var/certs/cacert.config
+ /usr/bin/openssl req -new -x509 -key "$HTTPS_PRIVKEY" -out
"$HTTPS_PUBKEY" -days "$KEY_LIFE_DAYS" -set_serial "$(/bin/date +%s)" -config
/var/lib/luci/var/certs/cacert.config
/bin/chmod -- 600 "$HTTPS_PRIVKEY"
/bin/chmod -- 644 "$HTTPS_PUBKEY"
/bin/chown -- $LUCI_USER:$LUCI_GROUP "$HTTPS_PRIVKEY" "$HTTPS_PUBKEY"
--- conga/luci/site/luci/Extensions/FenceHandler.py 2008/01/17 16:36:30
1.30
+++ conga/luci/site/luci/Extensions/FenceHandler.py 2008/04/23 17:33:37
1.31
@@ -543,10 +543,10 @@
errors = list()
try:
- hostname = form['hostname'].strip()
+ hostname = form['ipaddr'].strip()
if not hostname:
raise Exception, 'blank'
- fencedev.addAttribute('hostname', hostname)
+ fencedev.addAttribute('ipaddr', hostname)
except Exception, e:
errors.append(FD_PROVIDE_HOSTNAME)
@@ -654,6 +654,12 @@
except:
pass
+ use_ssh = form.has_key('secure') and (form['secure'] == '1' or
form['secure'].lower() == 'true')
+ if use_ssh:
+ fencedev.addAttribute('secure', '1')
+ else:
+ fencedev.removeAttribute('secure')
+
return errors
def val_rps10_fd(form, fencedev):
@@ -803,6 +809,12 @@
if not has_passwd:
errors.append(FD_PROVIDE_PASSWD)
+ use_ssh = form.has_key('secure') and (form['secure'] == '1' or
form['secure'].lower() == 'true')
+ if use_ssh:
+ fencedev.addAttribute('secure', '1')
+ else:
+ fencedev.removeAttribute('secure')
+
return errors
FD_VALIDATE = {
@@ -822,6 +834,7 @@
'fence_ipmilan': val_ipmilan_fd,
'fence_drac': val_drac_fd,
'fence_rsa': val_rsa_fd,
+ 'fence_rsb': val_rsa_fd, # same params as rsa
'fence_rps10': val_rps10_fd,
'fence_manual': val_noop_fd
}
@@ -902,6 +915,12 @@
except Exception, e:
errors.append(FI_PROVIDE_SWITCH)
+ use_ssh = form.has_key('secure') and (form['secure'] == '1' or
form['secure'].lower() == 'true')
+ if use_ssh:
+ fenceinst.addAttribute('secure', '1')
+ else:
+ fenceinst.removeAttribute('secure')
+
return errors
def val_wti_fi(form, fenceinst):
@@ -915,6 +934,12 @@
except Exception, e:
errors.append(FI_PROVIDE_PORT)
+ use_ssh = form.has_key('secure') and (form['secure'] == '1' or
form['secure'].lower() == 'true')
+ if use_ssh:
+ fenceinst.addAttribute('secure', '1')
+ else:
+ fenceinst.removeAttribute('secure')
+
return errors
def val_brocade_fi(form, fenceinst):
@@ -980,6 +1005,12 @@
except Exception, e:
errors.append(FI_PROVIDE_BLADE)
+ use_ssh = form.has_key('secure') and (form['secure'] == '1' or
form['secure'].lower() == 'true')
+ if use_ssh:
+ fenceinst.addAttribute('secure', '1')
+ else:
+ fenceinst.removeAttribute('secure')
+
return errors
def val_mcdata_fi(form, fenceinst):
@@ -1082,6 +1113,7 @@
'fence_ipmilan': val_noop_fi,
'fence_drac': val_noop_fi,
'fence_rsa': val_noop_fi,
+ 'fence_rsb': val_noop_fi,
'fence_rps10': val_noop_fi
}
--- conga/luci/site/luci/Extensions/LuciClusterInfo.py 2008/01/15 04:41:40
1.19
+++ conga/luci/site/luci/Extensions/LuciClusterInfo.py 2008/04/23 17:33:37
1.20
@@ -575,14 +575,24 @@
return {}
clumap = {}
+
try:
cluster_os = model.getClusterOS()
- if cluster_os.find('Tikanga'):
+ if cluster_os.find('Tikanga') != -1:
+ clumap['os_major'] = 5
os_minor = int(cluster_os[cluster_os.find('5.') + 2])
+ clumap['os_minor'] = os_minor
if os_minor > 1:
clumap['vm_migration_choice'] = True
- except:
- pass
+ elif cluster_os.find('Nahant') != -1:
+ clumap['os_major'] = 4
+ os_minor = int(cluster_os[cluster_os.find('Update ') +
7])
+ clumap['os_minor'] = os_minor
+ if os_minor > 6:
+ clumap['has_fence_ssh'] = True
+ except Exception, e:
+ if LUCI_DEBUG_MODE is True:
+ luci_log.debug_verbose('GCI0a: %r %s' % (e, str(e)))
if not model:
try:
@@ -1626,7 +1636,9 @@
clu_map = {}
try:
- os_str = resolveOSType(rc.os())
+ os_str = rc.os()
+ clu_map['os_full'] = os_str
+ os_str = resolveOSType(os_str)
clu_map['os'] = os_str
clu_map['isVirtualized'] = rc.dom0()
except:
--- conga/luci/site/luci/Extensions/StorageReport.py 2007/11/06 19:29:15
1.29
+++ conga/luci/site/luci/Extensions/StorageReport.py 2008/04/23 17:33:37
1.30
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2007 Red Hat, Inc.
+# Copyright (C) 2006-2008 Red Hat, Inc.
#
# This program is free software; you can redistribute
# it and/or modify it under the terms of version 2 of the
--- conga/luci/site/luci/Extensions/cluster_adapters.py 2008/03/05 23:08:58
1.282
+++ conga/luci/site/luci/Extensions/cluster_adapters.py 2008/04/23 17:33:37
1.283
@@ -1017,7 +1017,7 @@
luci_log.debug_verbose('validateFdom0: no model')
return (False, { 'errors': [ 'Unable to retrieve the cluster
configuration for %s. The configuration XML may contain errors' % clustername
]})
- ret = validate_fdom(self, request)
+ ret = validate_fdom(model, request)
if ret[0] is not True:
return ret
--- conga/luci/site/luci/Extensions/homebase_adapters.py 2008/02/05
20:59:38 1.58
+++ conga/luci/site/luci/Extensions/homebase_adapters.py 2008/04/23
17:33:37 1.59
@@ -206,6 +206,12 @@
except:
cur_host_trusted = not check_certs
+ trust_shown = False
+ try:
+ trust_shown = request.form.has_key('trust_shown')
+ except:
+ trust_shown = False
+
cur_host_fp = None
try:
cur_host_fp = request.form['host_fingerprint'].strip()
@@ -399,6 +405,12 @@
% (e, str(e)))
errors.append('The number of systems entered could not be
determined.')
+ trust_shown = False
+ try:
+ trust_shown = request.form.has_key('trust_shown')
+ except:
+ trust_shown = False
+
incomplete = False
i = 0
while i < num_storage:
@@ -617,29 +629,29 @@
luci_log.debug_verbose('VAC5: %s' %
err_msg)
continue
- cur_os = resolveOSType(rc.os())
- if cur_os != cluster_os:
- if LUCI_DEBUG_MODE is True:
- luci_log.debug_verbose('VAC5a: "%s" /
"%s" -> "%s"' \
- % (cluster_os, rc.os(), cur_os))
- incomplete = True
- cur_system['errors'] = True
-
- if not prev_auth:
- try:
- rc.unauth()
- except Exception, e:
- if LUCI_DEBUG_MODE is True:
-
luci_log.debug_verbose('VAC6: %s: %r %s' \
- % (cur_host, e,
str(e)))
-
- err_msg = 'Node %s reports its cluster version
is %s and we expect %s' \
- % (cur_host, cur_os, cluster_os)
-
- errors.append(err_msg)
- if LUCI_DEBUG_MODE is True:
- luci_log.debug_verbose('VAC7: %s' %
err_msg)
- continue
+ #cur_os = resolveOSType(rc.os())
+ #if cur_os != cluster_os:
+ # if LUCI_DEBUG_MODE is True:
+ # luci_log.debug_verbose('VAC5a: "%s" /
"%s" -> "%s"' \
+ # % (cluster_os, rc.os(), cur_os))
+ # incomplete = True
+ # cur_system['errors'] = True
+
+ # if not prev_auth:
+ # try:
+ # rc.unauth()
+ # except Exception, e:
+ # if LUCI_DEBUG_MODE is True:
+ #
luci_log.debug_verbose('VAC6: %s: %r %s' \
+ # % (cur_host, e,
str(e)))
+
+ # err_msg = 'Node %s reports its cluster version
is %s and we expect %s' \
+ # % (cur_host, cur_os, cluster_os)
+
+ # errors.append(err_msg)
+ # if LUCI_DEBUG_MODE is True:
+ # luci_log.debug_verbose('VAC7: %s' %
err_msg)
+ # continue
else:
incomplete = True
Binary files /cvs/cluster/conga/luci/site/luci/var/Data.fs 2008/03/24
23:22:09 1.32 and /cvs/cluster/conga/luci/site/luci/var/Data.fs 2008/04/23
17:33:37 1.33 differ
rcsdiff: /cvs/cluster/conga/luci/site/luci/var/Data.fs: diff failed
--- conga/luci/site/luci/var/certs/cacert.config 2006/06/02 00:14:28
1.1
+++ conga/luci/site/luci/var/certs/cacert.config 2008/04/23 17:33:39
1.2
@@ -6,10 +6,10 @@
[ req_distinguished_name ]
C = US
ST = State or Province
-L = Locality
-O = Organization Name
-OU = Organizational Unit Name
-CN = Common Name
-emailAddress = [EMAIL PROTECTED]
+L = Conga
+O = Conga
+OU = Conga
+CN = luci server
+emailAddress = [EMAIL PROTECTED]
[ req_attributes ]
--- conga/luci/utils/luci_admin 2008/01/02 20:52:24 1.58
+++ conga/luci/utils/luci_admin 2008/04/23 17:33:39 1.59
@@ -10,6 +10,7 @@
import sys, os, pwd
from select import select
from stat import S_ISREG
+from time import time
import types
import xml
import xml.dom
@@ -1051,7 +1052,7 @@
# /usr/bin/openssl req -new -x509 -key
/var/lib/luci/var/certs/privkey.pem -out /var/lib/luci/var/certs/cacert.pem
-days 1825 -config /var/lib/luci/var/certs/cacert.config
command = '/usr/bin/openssl'
- args = [ command, 'req', '-new', '-x509', '-key', SSL_PRIVKEY_PATH,
'-out', SSL_PUBKEY_PATH, '-days', '1825', '-config', SSL_KEYCONFIG_PATH ]
+ args = [ command, 'req', '-new', '-x509', '-key', SSL_PRIVKEY_PATH,
'-out', SSL_PUBKEY_PATH, '-days', '1825', '-set_serial', str(int(time())),
'-config', SSL_KEYCONFIG_PATH ]
exec_cmd(command, args)
# take ownership and restrict access
--- conga/ricci/modules/cluster/clumon/src/common/Makefile 2008/01/02
20:47:36 1.6
+++ conga/ricci/modules/cluster/clumon/src/common/Makefile 2008/04/23
17:33:39 1.7
@@ -18,7 +18,7 @@
OBJECTS = Cluster.o Node.o Service.o ClusterMonitor.o
INCLUDE += -I ../include
-CXXFLAGS += -DPARANOIA=$(PARANOID)
+CXXFLAGS += -DPARANOIA=$(PARANOID) -fPIC
all: ${TARGET}
--- conga/ricci/modules/cluster/clumon/src/snmp-agent/Makefile 2008/01/02
20:47:36 1.8
+++ conga/ricci/modules/cluster/clumon/src/snmp-agent/Makefile 2008/04/23
17:33:39 1.9
@@ -17,15 +17,16 @@
SNMP_LDLAGS = `net-snmp-config --libs`
INCLUDE += -I ../include
-CFLAGS += $(SNMP_CFLAGS) -DPARANOIA=$(PARANOID)
-CXXFLAGS += $(SNMP_CFLAGS) -DPARANOIA=$(PARANOID)
-LDFLAGS += -shared $(SNMP_LDLAGS)
+CFLAGS += -fPIC $(SNMP_CFLAGS) -DPARANOIA=$(PARANOID)
+CXXFLAGS += -fPIC $(SNMP_CFLAGS) -DPARANOIA=$(PARANOID)
+LDFLAGS += -fPIC -shared $(SNMP_LDLAGS)
ifeq ($(PARANOID), 1)
LDFLAGS += ${top_srcdir}/common/paranoid/*.o
else
LDFLAGS += ${top_srcdir}/common/*.o
endif
+LDFLAGS += ../common/*.o
LDFLAGS += -lcman