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
 

Reply via email to