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

» Linux Archive

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


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Cluster Development

 
 
LinkBack Thread Tools
 
Old 02-25-2011, 02:54 PM
 
Default conga/luci cluster/cluster_svc-macros cluster/ ...

CVSROOT: /cvs/cluster
Module name: conga
Branch: RHEL5
Changes by: rmccabe@sourceware.org 2011-02-25 15:54:34

Modified files:
luci/cluster : cluster_svc-macros fence-macros
resource-form-macros resource_form_handlers.js
validate_fence.js
luci/site/luci/Extensions: FenceHandler.py LuciClusterInfo.py
ResourceHandler.py
luci/site/luci/Extensions/ClusterModel: FenceDeviceAttr.py
ModelBuilder.py
Added files:
luci/site/luci/Extensions/ClusterModel: OracleInstance.py
OracleListener.py

Log message:
Sync up with upstream

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/cluster_svc-macros.diff?cvsroot=cluster&only_with_tag=RHEL5&r1 =1.3.2.12&r2=1.3.2.13
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/fence-macros.diff?cvsroot=cluster&only_with_tag=RHEL5&r1 =1.2.2.18&r2=1.2.2.19
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/resource-form-macros.diff?cvsroot=cluster&only_with_tag=RHEL5&r1 =1.21.2.18&r2=1.21.2.19
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/resource_form_handlers.js.diff?cvsroot=cluster&onl y_with_tag=RHEL5&r1=1.20.2.19&r2=1.20.2.20
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/validate_fence.js.diff?cvsroot=cluster&only_with_t ag=RHEL5&r1=1.1.2.14&r2=1.1.2.15
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/FenceHandler.py.diff?cvsroot=cluster&only_with_tag =RHEL5&r1=1.4.2.23&r2=1.4.2.24
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/LuciClusterInfo.py.diff?cvsroot=cluster&only_with_ tag=RHEL5&r1=1.1.4.20&r2=1.1.4.21
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ResourceHandler.py.diff?cvsroot=cluster&only_with_ tag=RHEL5&r1=1.1.4.10&r2=1.1.4.11
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ClusterModel/OracleInstance.py.diff?cvsroot=cluster&only_with_t ag=RHEL5&r1=NONE&r2=1.1.2.1
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ClusterModel/OracleListener.py.diff?cvsroot=cluster&only_with_t ag=RHEL5&r1=NONE&r2=1.1.2.1
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ClusterModel/FenceDeviceAttr.py.diff?cvsroot=cluster&only_with_ tag=RHEL5&r1=1.5.2.5&r2=1.5.2.6
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py.diff?cvsroot=cluster&only_with_tag =RHEL5&r1=1.1.4.16&r2=1.1.4.17

--- conga/luci/cluster/cluster_svc-macros 2009/05/21 13:32:04 1.3.2.12
+++ conga/luci/cluster/cluster_svc-macros 2011/02/25 15:54:33 1.3.2.13
@@ -554,6 +554,12 @@
<tal:block tal:condition="python: type == 'oracledb'">
<div metal:use-macro="here/resource-form-macros/macros/oracledb_macro" />
</tal:block>
+ <tal:block tal:condition="python: type == 'oralistener'">
+ <div metal:use-macro="here/resource-form-macros/macros/oralistener_macro" />
+ </tal:block>
+ <tal:block tal:condition="python: type == 'orainstance'">
+ <div metal:use-macro="here/resource-form-macros/macros/orainstance_macro" />
+ </tal:block>
</div>

<div metal:define-macro="failover-prefs-macro" talmit-tag="">
--- conga/luci/cluster/fence-macros 2010/09/29 17:08:24 1.2.2.18
+++ conga/luci/cluster/fence-macros 2011/02/25 15:54:33 1.2.2.19
@@ -266,8 +266,12 @@
<tal:block metal:use-macro="here/fence-macros/macros/fence-form-ifmib" />
</tal:block>

- <tal:block tal:condition="python: cur_fence_type == 'fence_ucs'">
- <tal:block metal:use-macro="here/fence-macros/macros/fence-form-ucs" />
+ <tal:block tal:condition="python: cur_fence_type == 'fence_cisco_ucs'">
+ <tal:block metal:use-macro="here/fence-macros/macros/fence-form-cisco_ucs" />
+ </tal:block>
+
+ <tal:block tal:condition="python: cur_fence_type == 'fence_rhevm'">
+ <tal:block metal:use-macro="here/fence-macros/macros/fence-form-rhevm" />
</tal:block>

<tal:block tal:condition="python: cur_fence_type == 'fence_manual'">
@@ -356,7 +360,8 @@
<option name="fence_vmware" value="fence_vmware">VMware Fencing</option>
<option name="fence_lpar" value="fence_lpar">LPAR Fencing</option>
<option name="fence_cisco_mds" value="fence_cisco_mds">Cisco MDS</option>
- <option name="fence_ucs" value="fence_ucs">Cisco UCS</option>
+ <option name="fence_cisco_ucs" value="fence_cisco_ucs">Cisco UCS</option>
+ <option name="fence_rhevm" value="fence_rhevm">RHEV-M Fencing</option>
<option name="fence_ifmib" value="fence_ifmib">IF MIB</option>
</div>

@@ -384,7 +389,8 @@
<option name="fence_vmware" value="fence_vmware">VMware Fencing</option>
<option name="fence_lpar" value="fence_lpar">LPAR Fencing</option>
<option name="fence_cisco_mds" value="fence_cisco_mds">Cisco MDS</option>
- <option name="fence_ucs" value="fence_ucs">Cisco UCS</option>
+ <option name="fence_cisco_ucs" value="fence_cisco_ucs">Cisco UCS</option>
+ <option name="fence_rhevm" value="fence_rhevm">RHEV-M Fencing</option>
<option name="fence_ifmib" value="fence_ifmib">IF MIB</option>
<option name="fence_manual" value="fence_manual">Manual Fencing</option>
</div>
@@ -1844,10 +1850,98 @@
</div>
</div>

-<div metal:define-macro="fence-form-ucs"
+<div metal:define-macro="fence-form-rhevm"
tal:attributes="id cur_fencedev/name | nothing">

- <div id="fence_ucs" class="fencedev">
+ <div id="fence_rhevm" class="fencedev">
+ <table>
+ <tr>
+ <td><strong class="cluster">Fence Type</strong></td>
+ <td>RHEV-M</td>
+ </tr>
+ <tr>
+ <td>Name</td>
+ <td>
+ <input name="name" type="text"
+ tal:attributes="value cur_fencedev/name | nothing" />
+ </td>
+ </tr>
+ <tr>
+ <td>IP Address</td>
+ <td>
+ <input name="ipaddr" type="text"
+ tal:attributes="value cur_fencedev/ipaddr | nothing" />
+ </td>
+ </tr>
+ <tr>
+ <td>IP port (optional)</td>
+ <td>
+ <input name="ipport" type="text" class="text"
+ tal:attributes="value cur_fencedev/ipport | 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 cur_fencedev/passwd | 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>
+ <tr>
+ <td>Use SSL connections</td>
+ <td>
+ <input tal:condition="exists:cur_fencedev"
+ type="checkbox" name="ssl"
+ tal:attributes="
+ checked pythoncur_fencedev and cur_fencedev.has_key('ssl') and (cur_fencedev['ssl'] == '1' or cur_fencedev['ssl'].lower() == 'true')) and 'checked' or '" />
+ <input tal:condition="not:exists:cur_fencedev"
+ type="checkbox" name="ssl" />
+ </td>
+ </tr>
+ <tr>
+ <td>Power wait (seconds)</td>
+ <td>
+ <input type="text" name="power_wait"
+ tal:attributes="
+ disabled cur_fencedev/isShared | nothing;
+ value cur_fencedev/power_wait | 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_rhevm" />
+ <input type="hidden" name="sharable" value="1" />
+ </div>
+</div>
+
+<div metal:define-macro="fence-form-cisco_ucs"
+ tal:attributes="id cur_fencedev/name | nothing">
+
+ <div id="fence_cisco_ucs" class="fencedev">
<table>
<tr>
<td><strong class="cluster">Fence Type</strong></td>
@@ -1927,7 +2021,7 @@
tal:attributes="value cur_fencedev/name | nothing" />
</tal:block>

- <input type="hidden" name="fence_type" value="fence_ucs" />
+ <input type="hidden" name="fence_type" value="fence_cisco_ucs" />
<input type="hidden" name="sharable" value="1" />
</div>
</div>
@@ -2362,7 +2456,8 @@
<tal:block metal:use-macro="here/fence-macros/macros/fence-form-vmware" />
<tal:block metal:use-macro="here/fence-macros/macros/fence-form-ifmib" />
<tal:block metal:use-macro="here/fence-macros/macros/fence-form-cisco_mds" />
- <tal:block metal:use-macro="here/fence-macros/macros/fence-form-ucs" />
+ <tal:block metal:use-macro="here/fence-macros/macros/fence-form-cisco_ucs" />
+ <tal:block metal:use-macro="here/fence-macros/macros/fence-form-rhevm" />
<tal:block metal:use-macro="here/fence-macros/macros/fence-form-manual" />
</div>

@@ -2383,7 +2478,8 @@
<tal:block metal:use-macro="here/fence-macros/macros/fence-form-vmware" />
<tal:block metal:use-macro="here/fence-macros/macros/fence-form-ifmib" />
<tal:block metal:use-macro="here/fence-macros/macros/fence-form-cisco_mds" />
- <tal:block metal:use-macro="here/fence-macros/macros/fence-form-ucs" />
+ <tal:block metal:use-macro="here/fence-macros/macros/fence-form-cisco_ucs" />
+ <tal:block metal:use-macro="here/fence-macros/macros/fence-form-rhevm" />
</div>

<div metal:define-macro="shared-fence-device-list">
@@ -2995,9 +3091,47 @@
</div>
</div>

-<div metal:define-macro="fence-instance-form-ucs"
+<div metal:define-macro="fence-instance-form-rhevm"
+ talmit-tag="exists: cur_fence_dev_id">
+ <div id="fence_rhevm_instance" name="fence_rhevm" class="fencedev_instance"
+ talmit-tag="exists: cur_fence_dev_id">
+ <table>
+ <tr>
+ <td>Port</td>
+ <td>
+ <input name="port" type="text"
+ tal:attributes="value cur_instance/port | nothing" />
+ </td>
+ </tr>
+ <tr><td colspan="2">
+ <div class="hbSubmit">
+ <tal:block tal:condition="exists:cur_fence_instance_id">
+ <input type="button" name="remove_fence"
+ value="Remove this instance"
+ tal:attributes="onclick python: 'del_fence_instance(' + cur_fence_instance_id + ')'" />
+ </tal:block>
+ <tal:block tal:condition="not:exists:cur_fence_instance_id">
+ <input type="button" name="remove_fence"
+ value="Remove this instance" />
+ </tal:block>
+ </div>
+ </td></tr>
+ </table>
+
+ <input type="hidden" name="option" tal:condition="exists:cur_instance"
+ tal:attributes="value cur_instance/option |nothing" />
+ <input type="hidden" name="fence_type" value="fence_rhevm" />
+ <input type="hidden" name="fence_instance" value="1" />
+ <input tal:condition="exists: cur_instance"
+ type="hidden" name="existing_instance" value="1" />
+ <input type="hidden" name="parent_fencedev"
+ tal:attributes="value cur_fence_dev_id | nothing" />
+ </div>
+</div>
+
+<div metal:define-macro="fence-instance-form-cisco_ucs"
talmit-tag="exists: cur_fence_dev_id">
- <div id="fence_ucs_instance" name="fence_ucs" class="fencedev_instance"
+ <div id="fence_cisco_ucs_instance" name="fence_cisco_ucs" class="fencedev_instance"
talmit-tag="exists: cur_fence_dev_id">
<table>
<tr>
@@ -3024,7 +3158,7 @@

<input type="hidden" name="option" tal:condition="exists:cur_instance"
tal:attributes="value cur_instance/option |nothing" />
- <input type="hidden" name="fence_type" value="fence_ucs" />
+ <input type="hidden" name="fence_type" value="fence_cisco_ucs" />
<input type="hidden" name="fence_instance" value="1" />
<input tal:condition="exists: cur_instance"
type="hidden" name="existing_instance" value="1" />
@@ -3144,7 +3278,9 @@
metal:use-macro="here/fence-macros/macros/fence-instance-form-ifmib" />

<tal:block
- metal:use-macro="here/fence-macros/macros/fence-instance-form-ucs" />
+ metal:use-macro="here/fence-macros/macros/fence-instance-form-cisco_ucs" />
+ <tal:block
+ metal:use-macro="here/fence-macros/macros/fence-instance-form-rhevm" />
</div>

<div metal:define-macro="fencedev-instance-cond-ladder"
@@ -3230,9 +3366,14 @@
metal:use-macro="here/fence-macros/macros/fence-instance-form-ifmib" />
</tal:block>

- <tal:block tal:condition="python: cur_fence_type == 'fence_ucs'">
+ <tal:block tal:condition="python: cur_fence_type == 'fence_cisco_ucs'">
+ <tal:block
+ metal:use-macro="here/fence-macros/macros/fence-instance-form-cisco_ucs" />
+ </tal:block>
+
+ <tal:block tal:condition="python: cur_fence_type == 'fence_rhevm'">
<tal:block
- metal:use-macro="here/fence-macros/macros/fence-instance-form-ucs" />
+ metal:use-macro="here/fence-macros/macros/fence-instance-form-rhevm" />
</tal:block>
</div>

--- conga/luci/cluster/resource-form-macros 2010/09/29 17:08:24 1.21.2.18
+++ conga/luci/cluster/resource-form-macros 2011/02/25 15:54:33 1.21.2.19
@@ -173,6 +173,10 @@
<option name="ASEHAagent" value="ASEHAagent">Sybase ASE Failover Instance</option>
</tal:block>
<option name="oracledb" value="oracledb">Oracle 10g Failover Instance</option>
+ <tal:block tal:condition="python:clusterinfo and clusterinfo.get('has_split_oracle_agents') == True">
+ <option name="orainstance" value="orainstance">Oracle DB Agent</option>
+ <option name="oralistener" value="oralistener">Oracle Listener Agent</option>
+ </tal:block>
</select>
</form>

@@ -196,6 +200,8 @@
<div metal:use-macro="here/resource-form-macros/macros/SAPDatabase_macro" />
<div metal:use-macro="here/resource-form-macros/macros/ASEHAagent_macro" />
<div metal:use-macro="here/resource-form-macros/macros/oracledb_macro" />
+ <div metal:use-macro="here/resource-form-macros/macros/orainstance_macro" />
+ <div metal:use-macro="here/resource-form-macros/macros/oralistener_macro" />
</div>
</div>

@@ -230,6 +236,10 @@
</tal:block>

<option name="oracledb" value="oracledb">Oracle 10g Failover Instance</option>
+ <tal:block tal:condition="python:clusterinfo and clusterinfo.get('has_split_oracle_agents') == True">
+ <option name="orainstance" value="orainstance">Oracle DB Agent</option>
+ <option name="oralistener" value="oralistener">Oracle Listener Agent</option>
+ </tal:block>
</select>
</form>

@@ -277,6 +287,8 @@
<div metal:use-macro="here/resource-form-macros/macros/SAPDatabase_macro" />
<div metal:use-macro="here/resource-form-macros/macros/ASEHAagent_macro" />
<div metal:use-macro="here/resource-form-macros/macros/oracledb_macro" />
+ <div metal:use-macro="here/resource-form-macros/macros/orainstance_macro" />
+ <div metal:use-macro="here/resource-form-macros/macros/oralistener_macro" />
</div>
</div>

@@ -1559,6 +1571,168 @@
</form>
</div>

+<div class="rescfg" name="orainstance"
+ tal:attributes="id res/name | nothing" metal:define-macro="orainstance_macro">
+ <p class="reshdr">Oracle 10g Failover Instance</p>
+
+ <form method="post"
+ tal:attributes="name res/parent_uuid | nothing"
+ tal:define="editDisabled resourceIsRef | nothing">
+
+ <input name="immutable" type="hidden" value="true"
+ tal:condition="editDisabled" />
+
+ <input name="edit" type="hidden" value="true"
+ tal:condition="python: ptype == '33' and True or False" />
+
+ <input name="pagetype" type="hidden"
+ tal:attributes="value python: ptype" />
+
+ <input name="global" type="hidden"
+ tal:attributes="value resourceIsRef | nothing" />
+
+ <input name="parent_uuid" type="hidden"
+ tal:attributes="value res/parent_uuid | nothing" />
+
+ <input name="uuid" type="hidden"
+ tal:attributes="value res/uuid | nothing" />
+
+ <input name="tree_level" type="hidden"
+ tal:attributes="value res/indent_ctr | string:0" />
+
+ <input name="clustername" type="hidden"
+ tal:attributes="
+ value request/clustername | request/form/clustername | nothing" />
+
+ <input name="oldname" type="hidden"
+ tal:attributes="value res/name | nothing" />
+
+ <input name="type" type="hidden" value="orainstance" />
+
+ <table class="systemsTable">
+ <tr class="systemsTable">
+ <td class="systemsTable">Instance name (SID) of Oracle instance</td>
+ <td class="systemsTable">
+ <input type="text" size="20" name="resourcename"
+ tal:attributes="
+ disabled python: editDisabled;
+ value res/name | nothing" />
+ </td>
+ </tr>
+ <tr class="systemsTable">
+ <td class="systemsTable">Oracle user name</td>
+ <td class="systemsTable">
+ <input type="text" size="20" name="user"
+ tal:attributes="
+ disabled python: editDisabled;
+ value res/attrs/user | nothing" />
+ </td>
+ </tr>
+ <tr class="systemsTable">
+ <td class="systemsTable">Oracle application home directory</td>
+ <td class="systemsTable">
+ <input type="text" size="20" name="home"
+ tal:attributes="
+ disabled python: editDisabled;
+ value res/attrs/home | nothing" />
+ </td>
+ </tr>
+ <tr class="systemsTable">
+ <td class="systemsTable">List of Oracle listeners (optional, separated by spaces)</td>
+ <td class="systemsTable">
+ <input type="text" size="20" name="listeners"
+ tal:attributes="
+ disabled python: editDisabled;
+ value res/attrs/listeners | nothing" />
+ </td>
+ </tr>
+ <tr class="systemsTable">
+ <td class="systemsTable">Path to lock file (optional)</td>
+ <td class="systemsTable">
+ <input type="text" size="20" name="lockfile"
+ tal:attributes="
+ disabled python: editDisabled;
+ value res/attrs/lockfile | nothing" />
+ </td>
+ </tr>
+ </table>
+
+ <div metal:use-macro="here/resource-form-macros/macros/res_form_footer" />
+ </form>
+</div>
+
+<div class="rescfg" name="oralistener"
+ tal:attributes="id res/name | nothing" metal:define-macro="oralistener_macro">
+ <p class="reshdr">Oracle 10g Listener Instance</p>
+
+ <form method="post"
+ tal:attributes="name res/parent_uuid | nothing"
+ tal:define="editDisabled resourceIsRef | nothing">
+
+ <input name="immutable" type="hidden" value="true"
+ tal:condition="editDisabled" />
+
+ <input name="edit" type="hidden" value="true"
+ tal:condition="python: ptype == '33' and True or False" />
+
+ <input name="pagetype" type="hidden"
+ tal:attributes="value python: ptype" />
+
+ <input name="global" type="hidden"
+ tal:attributes="value resourceIsRef | nothing" />
+
+ <input name="parent_uuid" type="hidden"
+ tal:attributes="value res/parent_uuid | nothing" />
+
+ <input name="uuid" type="hidden"
+ tal:attributes="value res/uuid | nothing" />
+
+ <input name="tree_level" type="hidden"
+ tal:attributes="value res/indent_ctr | string:0" />
+
+ <input name="clustername" type="hidden"
+ tal:attributes="
+ value request/clustername | request/form/clustername | nothing" />
+
+ <input name="oldname" type="hidden"
+ tal:attributes="value res/name | nothing" />
+
+ <input name="type" type="hidden" value="oralistener" />
+
+ <table class="systemsTable">
+ <tr class="systemsTable">
+ <td class="systemsTable">Listener Name</td>
+ <td class="systemsTable">
+ <input type="text" size="20" name="resourcename"
+ tal:attributes="
+ disabled python: editDisabled;
+ value res/name | nothing" />
+ </td>
+ </tr>
+ <tr class="systemsTable">
+ <td class="systemsTable">Oracle user name</td>
+ <td class="systemsTable">
+ <input type="text" size="20" name="user"
+ tal:attributes="
+ disabled python: editDisabled;
+ value res/attrs/user | nothing" />
+ </td>
+ </tr>
+ <tr class="systemsTable">
+ <td class="systemsTable">Oracle application home directory</td>
+ <td class="systemsTable">
+ <input type="text" size="20" name="home"
+ tal:attributes="
+ disabled python: editDisabled;
+ value res/attrs/home | nothing" />
+ </td>
+ </tr>
+ </table>
+
+ <div metal:use-macro="here/resource-form-macros/macros/res_form_footer" />
+ </form>
+</div>
+
<div class="rescfg" name="ASEHAagent"
tal:attributes="id res/name | nothing" metal:define-macro="ASEHAagent_macro">
<p class="reshdr">Sybase ASE Failover Instance Configuration</p>
--- conga/luci/cluster/resource_form_handlers.js 2010/08/07 02:39:59 1.20.2.19
+++ conga/luci/cluster/resource_form_handlers.js 2011/02/25 15:54:33 1.20.2.20
@@ -307,6 +307,8 @@
form_validators['SAPDatabase'] = validate_sapdatabase;
form_validators['ASEHAagent'] = validate_sybase;
form_validators['oracledb'] = validate_oracle;
+form_validators['orainstance'] = validate_oracle;
+form_validators['oralistener'] = validate_oracle;

function check_form(form) {
var valfn = form_validators[form.type.value];
--- conga/luci/cluster/validate_fence.js 2010/09/29 17:08:24 1.1.2.14
+++ conga/luci/cluster/validate_fence.js 2011/02/25 15:54:33 1.1.2.15
@@ -24,7 +24,8 @@
fence_inst_validator['vmware'] = [ 'port' ];
fence_inst_validator['cisco_mds'] = [ 'port' ];
fence_inst_validator['ifmib'] = [ 'port' ];
-fence_inst_validator['ucs'] = [ 'port' ];
+fence_inst_validator['cisco_ucs'] = [ 'port' ];
+fence_inst_validator['rhevm'] = [ 'port' ];

var fence_validator = [];
fence_validator['apc'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
@@ -50,7 +51,8 @@
fence_validator['lpar'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
fence_validator['cisco_mds'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
fence_validator['ifmib'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
-fence_validator['ucs'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
+fence_validator['cisco_ucs'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
+fence_validator['rhevm'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
fence_validator['vmware'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script', 'vmlogin' ];
fence_validator['xvm'] = [];

--- conga/luci/site/luci/Extensions/FenceHandler.py 2010/09/29 17:08:25 1.4.2.23
+++ conga/luci/site/luci/Extensions/FenceHandler.py 2011/02/25 15:54:33 1.4.2.24
@@ -776,7 +776,98 @@

return errors

-def val_ucs_fd(form, fencedev):
+def val_cisco_ucs_fd(form, fencedev):
+ errors = list()
+
+ try:
+ ip = form['ipaddr'].strip()
+ if not ip:
+ raise Exception, 'blank'
+ fencedev.addAttribute('ipaddr', ip)
+ except Exception, e:
+ errors.append(FD_PROVIDE_IP)
+
+ try:
+ log = form['login'].strip()
+ if not log:
+ raise Exception, 'blank'
+ fencedev.addAttribute('login', log)
+ except Exception, e:
+ errors.append(FD_PROVIDE_LOGIN)
+
+ try:
+ power_wait = form['power_wait'].strip()
+ if power_wait:
+ power_wait = int(power_wait)
+ if power_wait < 0:
+ raise ValueError
+ except (KeyError, AttributeError), e:
+ power_wait = None
+ except Exception, e:
+ power_wait = None
+ errors.append('An invalid value for power_wait was given: "%s"' % form['power_wait'])
+ if power_wait:
+ fencedev.addAttribute('power_wait', str(power_wait))
+ else:
+ fencedev.removeAttribute('power_wait')
+
+ try:
+ ipport = form['ipport'].strip()
+ if ipport:
+ ipport = int(ipport)
+ if ipport < 1 or ipport & 0xffff != ipport:
+ raise ValueError
+ except (KeyError, AttributeError), e:
+ ipport = None
+ except Exception, e:
+ ipport = None
+ errors.append('An invalid value for ipport was given: "%s"' % form['ipport'])
+ if ipport:
+ fencedev.addAttribute('ipport', str(ipport))
+ else:
+ fencedev.removeAttribute('ipport')
+
+ use_ssl = form.has_key('ssl') and form['ssl'].lower() in ('1', 'on', 'true')
+ if use_ssl:
+ fencedev.addAttribute('ssl', '1')
+ else:
+ fencedev.removeAttribute('ssl')
+
+ has_passwd = False
+ try:
+ pwd = form['passwd'].strip()
+ if not pwd:
+ # Allow passwords that consist of only spaces.
+ if not form.has_key('passwd') or form['passwd'] == ':
+ raise Exception, 'blank'
+ else:
+ pwd = form['passwd']
+ fencedev.addAttribute('passwd', pwd)
+ has_passwd = True
+ except Exception, e:
+ try:
+ fencedev.removeAttribute('passwd')
+ except:
+ pass
+
+ try:
+ pwd_script = form['passwd_script'].strip()
+ if not pwd_script:
+ raise Exception, 'blank'
+ fencedev.addAttribute('passwd_script', pwd_script)
+ has_passwd = True
+ except Exception, e:
+ try:
+ fencedev.removeAttribute('passwd_script')
+ except:
+ pass
+
+ if not has_passwd:
+ errors.append(FD_PROVIDE_PASSWD)
+
+ return errors
+
+def val_rhevm_fd(form, fencedev):
errors = list()

try:
@@ -1476,7 +1567,8 @@
'fence_egenera': val_egenera_fd,
'fence_bullpap': val_bullpap_fd,
'fence_lpar': val_lpar_fd,
- 'fence_ucs': val_ucs_fd,
+ 'fence_rhevm': val_rhevm_fd,
+ 'fence_cisco_ucs': val_cisco_ucs_fd,
'fence_cisco_mds': val_cisco_mds_fd,
'fence_ifmib': val_cisco_mds_fd,
'fence_vmware': val_vmware_fd,
@@ -1795,7 +1887,20 @@

return errors

-def val_ucs_fi(form, fenceinst):
+def val_cisco_ucs_fi(form, fenceinst):
+ errors = list()
+
+ try:
+ port = form['port'].strip()
+ if not port:
+ raise Exception, 'blank'
+ fenceinst.addAttribute('port', port)
+ except Exception, e:
+ errors.append(FI_PROVIDE_PORT)
+
+ return errors
+
+def val_rhevm_fi(form, fenceinst):
errors = list()

try:
@@ -1832,7 +1937,8 @@
'fence_xvm': val_xvm_fi,
'fence_scsi': val_scsi_fi,
'fence_lpar': val_lpar_fi,
- 'fence_ucs': val_ucs_fi,
+ 'fence_rhevm': val_rhevm_fi,
+ 'fence_cisco_ucs': val_cisco_ucs_fi,
'fence_cisco_mds': val_cisco_mds_fi,
'fence_ifmib': val_cisco_mds_fi,
'fence_vmware': val_vmware_fi,
--- conga/luci/site/luci/Extensions/LuciClusterInfo.py 2010/09/29 17:08:25 1.1.4.20
+++ conga/luci/site/luci/Extensions/LuciClusterInfo.py 2011/02/25 15:54:33 1.1.4.21
@@ -606,6 +606,7 @@
clumap['sap_agent_v19'] = False
clumap['has_qemu'] = False
clumap['has_sybase_agent'] = False
+ clumap['has_split_oracle_agents'] = False
try:
cluster_os = model.getClusterOS()
if cluster_os.find('Tikanga') != -1:
@@ -622,6 +623,8 @@
if os_minor > 3:
clumap['sap_agent_v19'] = True
clumap['has_qemu'] = True
+ if os_minor > 5:
+ clumap['has_split_oracle_agents'] = True
elif cluster_os.find('Nahant') != -1:
clumap['os_major'] = 4
os_minor = int(cluster_os[cluster_os.find('Update ') + 7])
--- conga/luci/site/luci/Extensions/ResourceHandler.py 2010/08/07 03:16:02 1.1.4.10
+++ conga/luci/site/luci/Extensions/ResourceHandler.py 2011/02/25 15:54:33 1.1.4.11
@@ -22,6 +22,8 @@
from ClusterModel.SAPDatabase import SAPDatabase
from ClusterModel.SAPInstance import SAPInstance
from ClusterModel.OracleDB import OracleDB
+from ClusterModel.OracleInstance import OracleInstance
+from ClusterModel.OracleListener import OracleListener
from ClusterModel.SybaseASE import SybaseASE

from LuciZope import GetFormVars
@@ -817,25 +819,45 @@
res.addAttribute('type', dbtype)
return errors

+def addOracleInstance(res, rname, form, model):
+ params = (
+ ('user', 'Oracle User Name', True, None),
+ ('home', 'Oracle Home Directory', True, None),
+ ('listeners', 'Oracle listeners', False, None),
+ ('lockfile', 'Path to lock file', False, None),
+ )
+ errors = config_resource(params, res, rname, form)
+ return errors
+
+def addOracleListener(res, rname, form, model):
+ params = (
+ ('user', 'Oracle User Name', True, None),
+ ('home', 'Oracle Home Directory', True, None),
+ )
+ errors = config_resource(params, res, rname, form)
+ return errors
+
resource_table = {
- 'ip': ( addIp, Ip ),
- 'fs': ( addFs, Fs ),
- 'gfs': ( addClusterfs, Clusterfs ),
- 'nfsm': ( addNetfs, Netfs ),
- 'nfsx': ( addNFSExport, NFSExport ),
- 'nfsc': ( addNFSClient, NFSClient ),
- 'scr': ( addScript, Script ),
- 'smb': ( addSamba, Samba ),
- 'tomcat-5': ( addTomcat5, Tomcat5 ),
- 'postgres-8': ( addPostgres8, Postgres8 ),
- 'apache': ( addApache, Apache ),
- 'openldap': ( addOpenLDAP, OpenLDAP ),
- 'lvm': ( addLVM, LVM ),
- 'mysql': ( addMySQL, MySQL ),
- 'SAPDatabase': ( addSAPDatabase, SAPDatabase ),
- 'SAPInstance': ( addSAPInstance, SAPInstance ),
- 'oracledb': ( addOracleDB, OracleDB ),
- 'ASEHAagent': ( addSybaseASE, SybaseASE )
+ 'ip': ( addIp, Ip ),
+ 'fs': ( addFs, Fs ),
+ 'gfs': ( addClusterfs, Clusterfs ),
+ 'nfsm': ( addNetfs, Netfs ),
+ 'nfsx': ( addNFSExport, NFSExport ),
+ 'nfsc': ( addNFSClient, NFSClient ),
+ 'scr': ( addScript, Script ),
+ 'smb': ( addSamba, Samba ),
+ 'tomcat-5': ( addTomcat5, Tomcat5 ),
+ 'postgres-8': ( addPostgres8, Postgres8 ),
+ 'apache': ( addApache, Apache ),
+ 'openldap': ( addOpenLDAP, OpenLDAP ),
+ 'lvm': ( addLVM, LVM ),
+ 'mysql': ( addMySQL, MySQL ),
+ 'SAPDatabase': ( addSAPDatabase, SAPDatabase ),
+ 'SAPInstance': ( addSAPInstance, SAPInstance ),
+ 'oracledb': ( addOracleDB, OracleDB ),
+ 'orainstance': ( addOracleInstance, OracleInstance ),
+ 'oralistener': ( addOracleListener, OracleListener ),
+ 'ASEHAagent': ( addSybaseASE, SybaseASE )
}

def create_resource(res_type, form, model):
--- conga/luci/site/luci/Extensions/ClusterModel/FenceDeviceAttr.py 2010/09/29 17:08:25 1.5.2.5
+++ conga/luci/site/luci/Extensions/ClusterModel/FenceDeviceAttr.py 2011/02/25 15:54:33 1.5.2.6
@@ -32,8 +32,9 @@
'fence_rps10': 'RPS10 Serial Switch',
'fence_lpar': 'LPAR Fencing',
'fence_vmware': 'VMware Fencing',
+ 'fence_rhevm': 'RHEV-M Fencing',
'fence_cisco_mds': 'Cisco MDS',
- 'fence_ucs': 'Cisco UCS',
+ 'fence_cisco_ucs': 'Cisco UCS',
'fence_ifmib': 'IF MIB',
'fence_manual': 'Manual Fencing'
}
@@ -53,8 +54,9 @@
'fence_scsi': True,
'fence_lpar': True,
'fence_vmware': True,
+ 'fence_rhevm': True,
'fence_cisco_mds': True,
- 'fence_ucs': True,
+ 'fence_cisco_ucs': True,
'fence_ifmib': True,
'fence_ilo': False,
'fence_ilo_mp': False,
@@ -100,8 +102,9 @@
'fence_scsi': ( 'node' ),
'fence_lpar': ( 'partition' ),
'fence_vmware': ( 'port' ),
+ 'fence_rhevm': ( 'port' ),
'fence_cisco_mds': ( 'port' ),
- 'fence_ucs': ( 'port' ),
+ 'fence_cisco_ucs': ( 'port' ),
'fence_ifmib': ( 'port' ),
'fence_ilo': ( ),
'fence_ipmilan': ( ),
@@ -138,9 +141,11 @@
( 'name', 'ipaddr', 'login', 'passwd' ),
'fence_vmware':
( 'name', 'ipaddr', 'login', 'passwd', 'vmlogin', 'vmpasswd' ),
+ 'fence_rhevm':
+ ( 'name', 'ipaddr', 'login', 'passwd' ),
'fence_cisco_mds':
( 'name', 'ipaddr', 'login', 'passwd' ),
- 'fence_ucs':
+ 'fence_cisco_ucs':
( 'name', 'ipaddr', 'login', 'passwd' ),
'fence_ifmib':
( 'name', 'ipaddr', 'login', 'passwd' ),
--- conga/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py 2010/09/29 17:08:25 1.1.4.16
+++ conga/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py 2011/02/25 15:54:33 1.1.4.17
@@ -35,6 +35,8 @@
from SAPInstance import SAPInstance
from SybaseASE import SybaseASE
from OracleDB import OracleDB
+from OracleInstance import OracleInstance
+from OracleListener import OracleListener
from Multicast import Multicast
from FenceDaemon import FenceDaemon
from FenceXVMd import FenceXVMd
@@ -97,6 +99,8 @@
'SAPInstance': SAPInstance,
'ASEHAagent': SybaseASE,
'oracledb': OracleDB,
+ 'orainstance': OracleInstance,
+ 'oralistener': OracleListener,
'device': Device }
 

Thread Tools




All times are GMT. The time now is 11:54 PM.

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