[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Cluster-devel] conga luci/cluster/fence-macros luci/cluster/f ...



CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe sourceware org	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           = root localhost
+L                      = Conga
+O                      = Conga
+OU                     = Conga
+CN                     = luci server
+emailAddress           = luci localhost
 
 [ 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
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]