* [Cluster-devel] cluster/fence/agents/apc fence_apc.py
@ 2007-02-27 15:53 kupcevic
0 siblings, 0 replies; 10+ messages in thread
From: kupcevic @ 2007-02-27 15:53 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: kupcevic at sourceware.org 2007-02-27 15:53:15
Modified files:
fence/agents/apc: fence_apc.py
Log message:
Fix for bz230134 (can't fence port 1:1 with fence_apc)
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/apc/fence_apc.py.diff?cvsroot=cluster&r1=1.3&r2=1.4
--- cluster/fence/agents/apc/fence_apc.py 2007/02/14 15:42:26 1.3
+++ cluster/fence/agents/apc/fence_apc.py 2007/02/27 15:53:15 1.4
@@ -718,7 +718,7 @@
for l in ls:
words = l.strip().split()
if len(words) > 3:
- if words[3].strip() == portval:
+ if '----' not in words[0] and words[3].strip() == portval:
outlet_str = words[0]
dex = outlet_str.find("-")
if dex <= (0):
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Cluster-devel] cluster/fence/agents/apc fence_apc.py
@ 2007-02-27 16:07 kupcevic
0 siblings, 0 replies; 10+ messages in thread
From: kupcevic @ 2007-02-27 16:07 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL4
Changes by: kupcevic at sourceware.org 2007-02-27 16:07:59
Modified files:
fence/agents/apc: fence_apc.py
Log message:
Fix for bz230134 (can't fence port 1:1 with fence_apc)
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/apc/fence_apc.py.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.2&r2=1.1.2.3
--- cluster/fence/agents/apc/fence_apc.py 2007/02/14 17:03:01 1.1.2.2
+++ cluster/fence/agents/apc/fence_apc.py 2007/02/27 16:07:59 1.1.2.3
@@ -718,7 +718,7 @@
for l in ls:
words = l.strip().split()
if len(words) > 3:
- if words[3].strip() == portval:
+ if '----' not in words[0] and words[3].strip() == portval:
outlet_str = words[0]
dex = outlet_str.find("-")
if dex <= (0):
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Cluster-devel] cluster/fence/agents/apc fence_apc.py
@ 2007-06-27 15:03 jparsons
0 siblings, 0 replies; 10+ messages in thread
From: jparsons @ 2007-06-27 15:03 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL5
Changes by: jparsons at sourceware.org 2007-06-27 15:03:45
Modified files:
fence/agents/apc: fence_apc.py
Log message:
fix for new firmware
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/apc/fence_apc.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.4.1&r2=1.1.4.2
--- cluster/fence/agents/apc/fence_apc.py 2007/01/31 20:33:54 1.1.4.1
+++ cluster/fence/agents/apc/fence_apc.py 2007/06/27 15:03:44 1.1.4.2
@@ -58,6 +58,7 @@
CONTROL_CONSOLE = "Control Console -----"
DEVICE_MANAGER = "Device Manager -----"
OUTLET_CONTROL = "- Outlet Control/Configuration -----"
+OUTLET_MANAGE = "- Outlet Management -----"
CONTROL_OUTLET = "- Control Outlet -----"
CONTROL_OUTLET_2 = "- Outlet Control "
COMMAND_SUCCESS = "Command successfully issued."
@@ -592,7 +593,7 @@
elif i == outlet_search_str5:
return (NOT_COMPLETE, "1\r")
- elif i.find(OUTLET_CONTROL) != (-1):
+ elif i.find(OUTLET_CONTROL) != (-1) or i.find(OUTLET_MANAGE) != (-1):
ls = buffer.splitlines()
portval = port.strip()
portval = " " + portval + " "
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Cluster-devel] cluster/fence/agents/apc fence_apc.py
@ 2007-06-27 15:10 jparsons
0 siblings, 0 replies; 10+ messages in thread
From: jparsons @ 2007-06-27 15:10 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL5
Changes by: jparsons at sourceware.org 2007-06-27 15:10:27
Modified files:
fence/agents/apc: fence_apc.py
Log message:
passwd script capable
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/apc/fence_apc.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.4.2&r2=1.1.4.3
--- cluster/fence/agents/apc/fence_apc.py 2007/06/27 15:03:44 1.1.4.2
+++ cluster/fence/agents/apc/fence_apc.py 2007/06/27 15:10:27 1.1.4.3
@@ -47,6 +47,7 @@
address = ""
login = ""
passwd = ""
+passwd_script = ""
port = ""
switchnum = ""
action = POWER_REBOOT #default action
@@ -89,6 +90,7 @@
print " -l [login] login name"
print " -n [port] switch port"
print " -p [password] password"
+ print " -S [path] script to run to retrieve password"
print " -o [action] Reboot (default), Off, On, or Status"
print " -v Verbose Verbose mode - writes file to /tmp/apclog"
print " -V Print Version, then exit"
@@ -102,16 +104,16 @@
def main():
- global address, login, passwd, port, action, verbose, logfile, switchnum
+ global address, login, passwd, passwd_script, port, action, verbose, logfile, switchnum
if len(sys.argv) > 1:
try:
- opts, args = getopt.getopt(sys.argv[1:], "a:hl:o:n:p:vV", ["help", "output="])
+ opts, args = getopt.getopt(sys.argv[1:], "a:hl:o:n:p:S:vV", ["help", "output="])
except getopt.GetoptError:
#print help info and quit
usage()
sys.exit(2)
-
+
for o, a in opts:
if o == "-v":
verbose = True
@@ -124,6 +126,8 @@
login = a
if o == "-p":
passwd = a
+ if o == "-S":
+ passwd_script = a
if o == "-n":
dex = a.find(":")
if dex == (-1):
@@ -145,16 +149,17 @@
sys.exit()
if o == "-a":
address = a
- if address == "" or login == "" or passwd == "" or port == "":
+ if address == "" or login == "" or (passwd == "" and passwd_script == "") or port == "":
usage()
sys.exit()
-
+
else: #Take args from stdin...
params = {}
#place params in dict
for line in sys.stdin:
val = line.split("=")
- params[val[0]] = val[1]
+ if len(val) == 2:
+ params[val[0].strip()] = val[1].strip()
try:
address = params["ipaddr"]
@@ -167,9 +172,14 @@
sys.stderr.write("FENCE: Missing login param for fence_apc...exiting")
sys.exit(1)
try:
- passwd = params["passwd"]
- except KeyError, e:
- sys.stderr.write("FENCE: Missing passwd param for fence_apc...exiting")
+ if 'passwd' in params:
+ passwd = params["passwd"]
+ if 'passwd_script' in params:
+ passwd_script = params['passwd_script']
+ if passwd == "" and passwd_script == "":
+ raise "missing password"
+ except:
+ sys.stderr.write("FENCE: Missing passwd for fence_apc...exiting")
sys.exit(1)
try:
port = params["port"]
@@ -196,9 +206,67 @@
action = POWER_REBOOT
except KeyError, e:
action = POWER_REBOOT
-
+
#### End of stdin section
-
+
+
+ # retrieve passwd from passwd_script (if specified)
+ passwd_scr = ''
+ if len(passwd_script):
+ try:
+ if not os.access(passwd_script, os.X_OK):
+ raise 'script not executable'
+ p = os.popen(passwd_script, 'r', 1024)
+ passwd_scr = p.readline().strip()
+ if p.close() != None:
+ raise 'script failed'
+ except:
+ sys.stderr.write('password-script "%s" failed\n' % passwd_script)
+ passwd_scr = ''
+
+ if passwd == "" and passwd_scr == "":
+ sys.stderr.write('password not available, exiting...')
+ sys.exit(1)
+ elif passwd == passwd_scr:
+ pass
+ elif passwd and passwd_scr:
+ # execute self, with password_scr as passwd,
+ # if that fails, continue with "passwd" argument as password
+ if len(sys.argv) > 1:
+ comm = sys.argv[0]
+ skip_next = False
+ for w in sys.argv[1:]:
+ if skip_next:
+ skip_next = False
+ elif w in ['-p', '-S']:
+ skip_next = True
+ else:
+ comm += ' ' + w
+ comm += ' -p ' + passwd_scr
+ ret = os.system(comm)
+ if ret != -1 and os.WIFEXITED(ret) and os.WEXITSTATUS(ret) == 0:
+ # success
+ sys.exit(0)
+ else:
+ sys.stderr.write('Use of password from "passwd_script" failed, trying "passwd" argument\n')
+ else: # use stdin
+ p = os.popen(sys.argv[0], 'w', 1024)
+ for par in params:
+ if par not in ['passwd', 'passwd_script']:
+ p.write(par + '=' + params[par] + '\n')
+ p.write('passwd=' + passwd_scr + '\n')
+ p.flush()
+ if p.close() == None:
+ # success
+ sys.exit(0)
+ else:
+ sys.stderr.write('Use of password from "passwd_script" failed, trying "passwd" argument\n')
+ elif passwd_scr:
+ passwd = passwd_scr
+ # passwd all set
+
+
+
### Order of events
# 0) If verbose, prepare log file handle
# 1) Open socket
@@ -651,7 +719,7 @@
for l in ls:
words = l.strip().split()
if len(words) > 3:
- if words[3].strip() == portval:
+ if '----' not in words[0] and words[3].strip() == portval:
outlet_str = words[0]
dex = outlet_str.find("-")
if dex <= (0):
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Cluster-devel] cluster/fence/agents/apc fence_apc.py
@ 2007-07-11 6:37 jparsons
0 siblings, 0 replies; 10+ messages in thread
From: jparsons @ 2007-07-11 6:37 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL5
Changes by: jparsons at sourceware.org 2007-07-11 06:37:14
Modified files:
fence/agents/apc: fence_apc.py
Log message:
Fix for bz238106 - new firmware version delta
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/apc/fence_apc.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.4.3&r2=1.1.4.4
--- cluster/fence/agents/apc/fence_apc.py 2007/06/27 15:10:27 1.1.4.3
+++ cluster/fence/agents/apc/fence_apc.py 2007/07/11 06:37:14 1.1.4.4
@@ -71,9 +71,12 @@
USERNAME = "User Name :"
PASSWORD = "Password :"
MASTER = "------- MasterSwitch"
+FIRMWARE_STR = "Rack PDU APP"
CONTINUE_INDEX = 0
+FIRMWARE_REV = 2
+
regex_list = list()
regex_list.append(CONTINUE)
regex_list.append(SCREEN_END)
@@ -469,6 +472,7 @@
sys.exit(1)
def log_in(buffer):
+ global FIRMWARE_REV
lines = buffer.splitlines()
for i in lines:
@@ -481,6 +485,17 @@
logit("Sending password: %s\n" % passwd)
return (NOT_COMPLETE, passwd + "\r")
elif i.find(CONTROL_CONSOLE) != (-1):
+ #while we are here, grab the firmware revision
+ rev_search_lines = buffer.splitlines()
+ for rev_search_line in rev_search_lines: #search screen again
+ rev_dex = rev_search_line.find(FIRMWARE_STR)
+ if rev_dex != (-1): #found revision line
+ scratch_rev = rev_search_line[rev_dex:]
+ v_dex = scratch_rev.find("v")
+ if v_dex != (-1):
+ if scratch_rev[v_dex + 1] == "3": #format is v3.3.4
+ FIRMWARE_REV = 3
+ break
return (COMPLETE, "1\r")
def do_status_check(sock):
@@ -538,7 +553,12 @@
if switchnum != "":
res = switchnum + "\r"
else:
- res = "3\r"
+ if FIRMWARE_REV == 2:
+ res = "3\r"
+ elif FIRMWARE_REV == 3:
+ res = "2\r1\r"
+ else: #placeholder for future revisions
+ res = "3\r"
return (NOT_COMPLETE, res, "Status Unknown")
elif i.find(OUTLET_CONTROL) != (-1):
ls = buffer.splitlines()
@@ -640,7 +660,12 @@
if switchnum != "":
res = switchnum + "\r"
else:
- res = "3\r"
+ if FIRMWARE_REV == 2:
+ res = "3\r"
+ elif FIRMWARE_REV == 3:
+ res = "2\r1\r"
+ else: #placeholder for future revisions - sheesh
+ res = "3\r"
return (NOT_COMPLETE, res)
elif (i.find(master_search_str1) != (-1)):
@@ -661,7 +686,12 @@
elif i == outlet_search_str5:
return (NOT_COMPLETE, "1\r")
- elif i.find(OUTLET_CONTROL) != (-1) or i.find(OUTLET_MANAGE) != (-1):
+ elif i.find(OUTLET_MANAGE) != (-1):
+ #return (NOT_COMPLETE, "1\r")
+ return (NOT_COMPLETE, "\r")
+
+ #elif i.find(OUTLET_CONTROL) != (-1) or i.find(OUTLET_MANAGE) != (-1):
+ elif i.find(OUTLET_CONTROL) != (-1):
ls = buffer.splitlines()
portval = port.strip()
portval = " " + portval + " "
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Cluster-devel] cluster/fence/agents/apc fence_apc.py
@ 2007-07-12 3:39 jparsons
0 siblings, 0 replies; 10+ messages in thread
From: jparsons @ 2007-07-12 3:39 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL51
Changes by: jparsons at sourceware.org 2007-07-12 03:39:19
Modified files:
fence/agents/apc: fence_apc.py
Log message:
Fix for bz238106, new firmware version issues
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/apc/fence_apc.py.diff?cvsroot=cluster&only_with_tag=RHEL51&r1=1.1.4.3&r2=1.1.4.3.2.1
--- cluster/fence/agents/apc/fence_apc.py 2007/06/27 15:10:27 1.1.4.3
+++ cluster/fence/agents/apc/fence_apc.py 2007/07/12 03:39:19 1.1.4.3.2.1
@@ -71,9 +71,12 @@
USERNAME = "User Name :"
PASSWORD = "Password :"
MASTER = "------- MasterSwitch"
+FIRMWARE_STR = "Rack PDU APP"
CONTINUE_INDEX = 0
+FIRMWARE_REV = 2
+
regex_list = list()
regex_list.append(CONTINUE)
regex_list.append(SCREEN_END)
@@ -469,6 +472,7 @@
sys.exit(1)
def log_in(buffer):
+ global FIRMWARE_REV
lines = buffer.splitlines()
for i in lines:
@@ -481,6 +485,17 @@
logit("Sending password: %s\n" % passwd)
return (NOT_COMPLETE, passwd + "\r")
elif i.find(CONTROL_CONSOLE) != (-1):
+ #while we are here, grab the firmware revision
+ rev_search_lines = buffer.splitlines()
+ for rev_search_line in rev_search_lines: #search screen again
+ rev_dex = rev_search_line.find(FIRMWARE_STR)
+ if rev_dex != (-1): #found revision line
+ scratch_rev = rev_search_line[rev_dex:]
+ v_dex = scratch_rev.find("v")
+ if v_dex != (-1):
+ if scratch_rev[v_dex + 1] == "3": #format is v3.3.4
+ FIRMWARE_REV = 3
+ break
return (COMPLETE, "1\r")
def do_status_check(sock):
@@ -538,7 +553,12 @@
if switchnum != "":
res = switchnum + "\r"
else:
- res = "3\r"
+ if FIRMWARE_REV == 2:
+ res = "3\r"
+ elif FIRMWARE_REV == 3:
+ res = "2\r1\r"
+ else: #placeholder for future revisions
+ res = "3\r"
return (NOT_COMPLETE, res, "Status Unknown")
elif i.find(OUTLET_CONTROL) != (-1):
ls = buffer.splitlines()
@@ -640,7 +660,12 @@
if switchnum != "":
res = switchnum + "\r"
else:
- res = "3\r"
+ if FIRMWARE_REV == 2:
+ res = "3\r"
+ elif FIRMWARE_REV == 3:
+ res = "2\r1\r"
+ else: #placeholder for future revisions - sheesh
+ res = "3\r"
return (NOT_COMPLETE, res)
elif (i.find(master_search_str1) != (-1)):
@@ -661,7 +686,12 @@
elif i == outlet_search_str5:
return (NOT_COMPLETE, "1\r")
- elif i.find(OUTLET_CONTROL) != (-1) or i.find(OUTLET_MANAGE) != (-1):
+ elif i.find(OUTLET_MANAGE) != (-1):
+ #return (NOT_COMPLETE, "1\r")
+ return (NOT_COMPLETE, "\r")
+
+ #elif i.find(OUTLET_CONTROL) != (-1) or i.find(OUTLET_MANAGE) != (-1):
+ elif i.find(OUTLET_CONTROL) != (-1):
ls = buffer.splitlines()
portval = port.strip()
portval = " " + portval + " "
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Cluster-devel] cluster/fence/agents/apc fence_apc.py
@ 2007-07-12 3:45 jparsons
0 siblings, 0 replies; 10+ messages in thread
From: jparsons @ 2007-07-12 3:45 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: jparsons at sourceware.org 2007-07-12 03:45:44
Modified files:
fence/agents/apc: fence_apc.py
Log message:
Fix for bz238106, new firmware version issues
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/apc/fence_apc.py.diff?cvsroot=cluster&r1=1.4&r2=1.5
--- cluster/fence/agents/apc/fence_apc.py 2007/02/27 15:53:15 1.4
+++ cluster/fence/agents/apc/fence_apc.py 2007/07/12 03:45:44 1.5
@@ -59,6 +59,7 @@
CONTROL_CONSOLE = "Control Console -----"
DEVICE_MANAGER = "Device Manager -----"
OUTLET_CONTROL = "- Outlet Control/Configuration -----"
+OUTLET_MANAGE = "- Outlet Management -----"
CONTROL_OUTLET = "- Control Outlet -----"
CONTROL_OUTLET_2 = "- Outlet Control "
COMMAND_SUCCESS = "Command successfully issued."
@@ -70,9 +71,12 @@
USERNAME = "User Name :"
PASSWORD = "Password :"
MASTER = "------- MasterSwitch"
+FIRMWARE_STR = "Rack PDU APP"
CONTINUE_INDEX = 0
+FIRMWARE_REV = 2
+
regex_list = list()
regex_list.append(CONTINUE)
regex_list.append(SCREEN_END)
@@ -468,6 +472,7 @@
sys.exit(1)
def log_in(buffer):
+ global FIRMWARE_REV
lines = buffer.splitlines()
for i in lines:
@@ -480,6 +485,17 @@
logit("Sending password: %s\n" % passwd)
return (NOT_COMPLETE, passwd + "\r")
elif i.find(CONTROL_CONSOLE) != (-1):
+ #while we are here, grab the firmware revision
+ rev_search_lines = buffer.splitlines()
+ for rev_search_line in rev_search_lines: #search screen again
+ rev_dex = rev_search_line.find(FIRMWARE_STR)
+ if rev_dex != (-1): #found revision line
+ scratch_rev = rev_search_line[rev_dex:]
+ v_dex = scratch_rev.find("v")
+ if v_dex != (-1):
+ if scratch_rev[v_dex + 1] == "3": #format is v3.3.4
+ FIRMWARE_REV = 3
+ break
return (COMPLETE, "1\r")
def do_status_check(sock):
@@ -537,7 +553,12 @@
if switchnum != "":
res = switchnum + "\r"
else:
- res = "3\r"
+ if FIRMWARE_REV == 2:
+ res = "3\r"
+ elif FIRMWARE_REV == 3:
+ res = "2\r1\r"
+ else: #placeholder for future revisions
+ res = "3\r"
return (NOT_COMPLETE, res, "Status Unknown")
elif i.find(OUTLET_CONTROL) != (-1):
ls = buffer.splitlines()
@@ -639,7 +660,12 @@
if switchnum != "":
res = switchnum + "\r"
else:
- res = "3\r"
+ if FIRMWARE_REV == 2:
+ res = "3\r"
+ elif FIRMWARE_REV == 3:
+ res = "2\r1\r"
+ else: #placeholder for future revisions - sheesh
+ res = "3\r"
return (NOT_COMPLETE, res)
elif (i.find(master_search_str1) != (-1)):
@@ -660,6 +686,11 @@
elif i == outlet_search_str5:
return (NOT_COMPLETE, "1\r")
+ elif i.find(OUTLET_MANAGE) != (-1):
+ #return (NOT_COMPLETE, "1\r")
+ return (NOT_COMPLETE, "\r")
+
+ #elif i.find(OUTLET_CONTROL) != (-1) or i.find(OUTLET_MANAGE) != (-1):
elif i.find(OUTLET_CONTROL) != (-1):
ls = buffer.splitlines()
portval = port.strip()
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Cluster-devel] cluster/fence/agents/apc fence_apc.py
@ 2007-07-17 18:34 rmccabe
0 siblings, 0 replies; 10+ messages in thread
From: rmccabe @ 2007-07-17 18:34 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL4
Changes by: rmccabe at sourceware.org 2007-07-17 18:34:28
Modified files:
fence/agents/apc: fence_apc.py
Log message:
Committing for Jim to address bz246675
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/apc/fence_apc.py.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
--- cluster/fence/agents/apc/fence_apc.py 2007/02/27 16:07:59 1.1.2.3
+++ cluster/fence/agents/apc/fence_apc.py 2007/07/17 18:34:28 1.1.2.4
@@ -59,6 +59,7 @@
CONTROL_CONSOLE = "Control Console -----"
DEVICE_MANAGER = "Device Manager -----"
OUTLET_CONTROL = "- Outlet Control/Configuration -----"
+OUTLET_MANAGE = "- Outlet Management -----"
CONTROL_OUTLET = "- Control Outlet -----"
CONTROL_OUTLET_2 = "- Outlet Control "
COMMAND_SUCCESS = "Command successfully issued."
@@ -70,9 +71,12 @@
USERNAME = "User Name :"
PASSWORD = "Password :"
MASTER = "------- MasterSwitch"
+FIRMWARE_STR = "Rack PDU APP"
CONTINUE_INDEX = 0
+FIRMWARE_REV = 2
+
regex_list = list()
regex_list.append(CONTINUE)
regex_list.append(SCREEN_END)
@@ -468,6 +472,7 @@
sys.exit(1)
def log_in(buffer):
+ global FIRMWARE_REV
lines = buffer.splitlines()
for i in lines:
@@ -480,6 +485,17 @@
logit("Sending password: %s\n" % passwd)
return (NOT_COMPLETE, passwd + "\r")
elif i.find(CONTROL_CONSOLE) != (-1):
+ #while we are here, grab the firmware revision
+ rev_search_lines = buffer.splitlines()
+ for rev_search_line in rev_search_lines: #search screen again
+ rev_dex = rev_search_line.find(FIRMWARE_STR)
+ if rev_dex != (-1): #found revision line
+ scratch_rev = rev_search_line[rev_dex:]
+ v_dex = scratch_rev.find("v")
+ if v_dex != (-1):
+ if scratch_rev[v_dex + 1] == "3": #format is v3.3.4
+ FIRMWARE_REV = 3
+ break
return (COMPLETE, "1\r")
def do_status_check(sock):
@@ -537,7 +553,12 @@
if switchnum != "":
res = switchnum + "\r"
else:
- res = "3\r"
+ if FIRMWARE_REV == 2:
+ res = "3\r"
+ elif FIRMWARE_REV == 3:
+ res = "2\r1\r"
+ else: #placeholder for future revisions
+ res = "3\r"
return (NOT_COMPLETE, res, "Status Unknown")
elif i.find(OUTLET_CONTROL) != (-1):
ls = buffer.splitlines()
@@ -639,7 +660,12 @@
if switchnum != "":
res = switchnum + "\r"
else:
- res = "3\r"
+ if FIRMWARE_REV == 2:
+ res = "3\r"
+ elif FIRMWARE_REV == 3:
+ res = "2\r1\r"
+ else: #placeholder for future revisions - sheesh
+ res = "3\r"
return (NOT_COMPLETE, res)
elif (i.find(master_search_str1) != (-1)):
@@ -660,6 +686,11 @@
elif i == outlet_search_str5:
return (NOT_COMPLETE, "1\r")
+ elif i.find(OUTLET_MANAGE) != (-1):
+ #return (NOT_COMPLETE, "1\r")
+ return (NOT_COMPLETE, "\r")
+
+ #elif i.find(OUTLET_CONTROL) != (-1) or i.find(OUTLET_MANAGE) != (-1):
elif i.find(OUTLET_CONTROL) != (-1):
ls = buffer.splitlines()
portval = port.strip()
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Cluster-devel] cluster/fence/agents/apc fence_apc.py
@ 2007-07-17 18:38 rmccabe
0 siblings, 0 replies; 10+ messages in thread
From: rmccabe @ 2007-07-17 18:38 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL45
Changes by: rmccabe at sourceware.org 2007-07-17 18:38:34
Modified files:
fence/agents/apc: fence_apc.py
Log message:
Fix for 246675
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/apc/fence_apc.py.diff?cvsroot=cluster&only_with_tag=RHEL45&r1=1.1.2.3&r2=1.1.2.3.2.1
--- cluster/fence/agents/apc/fence_apc.py 2007/02/27 16:07:59 1.1.2.3
+++ cluster/fence/agents/apc/fence_apc.py 2007/07/17 18:38:33 1.1.2.3.2.1
@@ -59,6 +59,7 @@
CONTROL_CONSOLE = "Control Console -----"
DEVICE_MANAGER = "Device Manager -----"
OUTLET_CONTROL = "- Outlet Control/Configuration -----"
+OUTLET_MANAGE = "- Outlet Management -----"
CONTROL_OUTLET = "- Control Outlet -----"
CONTROL_OUTLET_2 = "- Outlet Control "
COMMAND_SUCCESS = "Command successfully issued."
@@ -70,9 +71,12 @@
USERNAME = "User Name :"
PASSWORD = "Password :"
MASTER = "------- MasterSwitch"
+FIRMWARE_STR = "Rack PDU APP"
CONTINUE_INDEX = 0
+FIRMWARE_REV = 2
+
regex_list = list()
regex_list.append(CONTINUE)
regex_list.append(SCREEN_END)
@@ -468,6 +472,7 @@
sys.exit(1)
def log_in(buffer):
+ global FIRMWARE_REV
lines = buffer.splitlines()
for i in lines:
@@ -480,6 +485,17 @@
logit("Sending password: %s\n" % passwd)
return (NOT_COMPLETE, passwd + "\r")
elif i.find(CONTROL_CONSOLE) != (-1):
+ #while we are here, grab the firmware revision
+ rev_search_lines = buffer.splitlines()
+ for rev_search_line in rev_search_lines: #search screen again
+ rev_dex = rev_search_line.find(FIRMWARE_STR)
+ if rev_dex != (-1): #found revision line
+ scratch_rev = rev_search_line[rev_dex:]
+ v_dex = scratch_rev.find("v")
+ if v_dex != (-1):
+ if scratch_rev[v_dex + 1] == "3": #format is v3.3.4
+ FIRMWARE_REV = 3
+ break
return (COMPLETE, "1\r")
def do_status_check(sock):
@@ -537,7 +553,12 @@
if switchnum != "":
res = switchnum + "\r"
else:
- res = "3\r"
+ if FIRMWARE_REV == 2:
+ res = "3\r"
+ elif FIRMWARE_REV == 3:
+ res = "2\r1\r"
+ else: #placeholder for future revisions
+ res = "3\r"
return (NOT_COMPLETE, res, "Status Unknown")
elif i.find(OUTLET_CONTROL) != (-1):
ls = buffer.splitlines()
@@ -639,7 +660,12 @@
if switchnum != "":
res = switchnum + "\r"
else:
- res = "3\r"
+ if FIRMWARE_REV == 2:
+ res = "3\r"
+ elif FIRMWARE_REV == 3:
+ res = "2\r1\r"
+ else: #placeholder for future revisions - sheesh
+ res = "3\r"
return (NOT_COMPLETE, res)
elif (i.find(master_search_str1) != (-1)):
@@ -660,6 +686,11 @@
elif i == outlet_search_str5:
return (NOT_COMPLETE, "1\r")
+ elif i.find(OUTLET_MANAGE) != (-1):
+ #return (NOT_COMPLETE, "1\r")
+ return (NOT_COMPLETE, "\r")
+
+ #elif i.find(OUTLET_CONTROL) != (-1) or i.find(OUTLET_MANAGE) != (-1):
elif i.find(OUTLET_CONTROL) != (-1):
ls = buffer.splitlines()
portval = port.strip()
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Cluster-devel] cluster/fence/agents/apc fence_apc.py
@ 2007-10-09 14:56 jparsons
0 siblings, 0 replies; 10+ messages in thread
From: jparsons @ 2007-10-09 14:56 UTC (permalink / raw)
To: cluster-devel.redhat.com
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL4
Changes by: jparsons at sourceware.org 2007-10-09 14:56:15
Modified files:
fence/agents/apc: fence_apc.py
Log message:
Fix for bz299191
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/apc/fence_apc.py.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.4&r2=1.1.2.5
--- cluster/fence/agents/apc/fence_apc.py 2007/07/17 18:34:28 1.1.2.4
+++ cluster/fence/agents/apc/fence_apc.py 2007/10/09 14:56:15 1.1.2.5
@@ -663,7 +663,9 @@
if FIRMWARE_REV == 2:
res = "3\r"
elif FIRMWARE_REV == 3:
- res = "2\r1\r"
+ #Changed for bz299191
+ #res = "2\r1\r"
+ res = "2\r"
else: #placeholder for future revisions - sheesh
res = "3\r"
return (NOT_COMPLETE, res)
@@ -687,8 +689,9 @@
return (NOT_COMPLETE, "1\r")
elif i.find(OUTLET_MANAGE) != (-1):
- #return (NOT_COMPLETE, "1\r")
- return (NOT_COMPLETE, "\r")
+ #Changed for bz299191
+ #return (NOT_COMPLETE, "\r")
+ return (NOT_COMPLETE, "1\r")
#elif i.find(OUTLET_CONTROL) != (-1) or i.find(OUTLET_MANAGE) != (-1):
elif i.find(OUTLET_CONTROL) != (-1):
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2007-10-09 14:56 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-17 18:38 [Cluster-devel] cluster/fence/agents/apc fence_apc.py rmccabe
-- strict thread matches above, loose matches on Subject: below --
2007-10-09 14:56 jparsons
2007-07-17 18:34 rmccabe
2007-07-12 3:45 jparsons
2007-07-12 3:39 jparsons
2007-07-11 6:37 jparsons
2007-06-27 15:10 jparsons
2007-06-27 15:03 jparsons
2007-02-27 16:07 kupcevic
2007-02-27 15:53 kupcevic
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).