All of lore.kernel.org
 help / color / mirror / Atom feed
From: rmccabe@sourceware.org <rmccabe@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] conga luci/cluster/fence-macros luci/cluster/f ...
Date: 23 Apr 2008 17:33:43 -0000	[thread overview]
Message-ID: <20080423173343.6842.qmail@sourceware.org> (raw)

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



                 reply	other threads:[~2008-04-23 17:33 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080423173343.6842.qmail@sourceware.org \
    --to=rmccabe@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.