[Cluster-devel] Cluster Project branch, master, updated. cluster-2.99.00-18-gf47515e

mgrac at sourceware.org mgrac at sourceware.org
Tue May 6 15:15:14 UTC 2008


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Cluster Project".

http://sources.redhat.com/git/gitweb.cgi?p=cluster.git;a=commitdiff;h=f47515ef985da41de67f7f5c4158371bb13d44c9

The branch, master has been updated
       via  f47515ef985da41de67f7f5c4158371bb13d44c9 (commit)
      from  4b49aac718e1c8d703d4c4de6dd9fa9bfe83c932 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f47515ef985da41de67f7f5c4158371bb13d44c9
Author: Marek 'marx' Grac <mgrac at redhat.com>
Date:   Tue May 6 16:50:00 2008 +0200

    [FENCE] Fix #435154: Support for 24 port APC fencing device
    
    Fixed in the new version of python fencing agent. But there was still a problem
    because there is major change of interface between firmware v2.7.x and v3.5.x.
    After this patch both types of firmware version should work.

-----------------------------------------------------------------------

Summary of changes:
 fence/agents/apc/fence_apc.py |   34 ++++++++++++++++++++++++++++++++--
 1 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/fence/agents/apc/fence_apc.py b/fence/agents/apc/fence_apc.py
index 59c5083..80ee471 100755
--- a/fence/agents/apc/fence_apc.py
+++ b/fence/agents/apc/fence_apc.py
@@ -8,6 +8,7 @@
 ##  Model       Firmware
 ## +---------------------------------------------+
 ##  AP7951	AOS v2.7.0, PDU APP v2.7.3
+##  AP7941      AOS v3.5.7, PDU APP v3.5.6
 ##
 ## @note: ssh is very slow on AP7951 device
 #####
@@ -27,7 +28,20 @@ def get_power_status(conn, options):
 	try:
 		conn.send("1\r\n")
 		conn.log_expect(options, options["-c"], SHELL_TIMEOUT)
-		conn.send("2\r\n")
+
+		version = 0
+		if (None == re.compile('.*Outlet Management.*', re.IGNORECASE | re.S).match(conn.before)):
+			version = 2
+		else:
+			version = 3
+
+		if version == 2:
+			conn.send("2\r\n")
+		else:
+			conn.send("2\r\n")
+			conn.log_expect(options, options["-c"], SHELL_TIMEOUT)
+			conn.send("1\r\n")
+
 		while 1 == conn.log_expect(options, [ options["-c"],  "Press <ENTER>" ], SHELL_TIMEOUT):
 			result += conn.before
 			conn.send("\r\n")
@@ -52,11 +66,27 @@ def set_power_status(conn, options):
 	try:
 		conn.send("1\r\n")
 		conn.log_expect(options, options["-c"], SHELL_TIMEOUT)
-		conn.send("2\r\n")
+
+		version = 0
+		if (None == re.compile('.*Outlet Management.*', re.IGNORECASE | re.S).match(conn.before)):
+			version = 2
+		else:
+			version = 3
+
+		if version == 2:
+			conn.send("2\r\n")
+		else:
+			conn.send("2\r\n")
+			conn.log_expect(options, options["-c"], SHELL_TIMEOUT)
+			conn.send("1\r\n")
+
 		while 1 == conn.log_expect(options, [ options["-c"],  "Press <ENTER>" ], SHELL_TIMEOUT):
 			conn.send("\r\n")
 		conn.send(options["-n"]+"\r\n")
 		conn.log_expect(options, options["-c"], SHELL_TIMEOUT)
+		if version == 3:
+			conn.send("1\r\n")
+			conn.log_expect(options, options["-c"], SHELL_TIMEOUT)
 		conn.send(action+"\r\n")
 		conn.log_expect(options, "Enter 'YES' to continue or <ENTER> to cancel :", SHELL_TIMEOUT)
 		conn.send("YES\r\n")


hooks/post-receive
--
Cluster Project




More information about the Cluster-devel mailing list