public inbox for cluster-cvs@sourceware.org help / color / mirror / Atom feed
From: mgrac@sourceware.org To: cluster-cvs@sources.redhat.com, cluster-devel@redhat.com Subject: Cluster Project branch, master, updated. gfs-kernel_0_1_22-104-g4a91131 Date: Fri, 28 Mar 2008 16:23:00 -0000 [thread overview] Message-ID: <20080328162337.8866.qmail@sourceware.org> (raw) 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=4a91131c548a5127431255f47ad96889cb1f4d07 The branch, master has been updated via 4a91131c548a5127431255f47ad96889cb1f4d07 (commit) from 2c60eddf3d7bedfd452c9583a7e957103e1eaa16 (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 4a91131c548a5127431255f47ad96889cb1f4d07 Author: Marek 'marx' Grac <mgrac@redhat.com> Date: Fri Mar 28 17:18:42 2008 +0100 fence/agents: WTI agents merged Fencing devices from WTI can use password or login/password for loging in. This patch merge two fencing agents together so it will be same as old agent. ----------------------------------------------------------------------- Summary of changes: fence/agents/lib/fencing.py | 6 ++- fence/agents/wti/wti-ips.py | 100 ------------------------------- fence/agents/wti/{wti-rsm.py => wti.py} | 22 ++++++- 3 files changed, 24 insertions(+), 104 deletions(-) delete mode 100755 fence/agents/wti/wti-ips.py rename fence/agents/wti/{wti-rsm.py => wti.py} (76%) diff --git a/fence/agents/lib/fencing.py b/fence/agents/lib/fencing.py index 56c89a7..f0fe163 100644 --- a/fence/agents/lib/fencing.py +++ b/fence/agents/lib/fencing.py @@ -59,6 +59,10 @@ all_opt = { "getopt" : "l:", "help" : "-l <name> Login name", "order" : 1 }, + "no_login" : { + "getopt" : "", + "help" : "", + "order" : 1 }, "passwd" : { "getopt" : "p:", "help" : "-p <password> Login password", @@ -204,7 +208,7 @@ def check_input(device_opt, opt): if 0 == ["on", "off", "reboot", "status"].count(options["-o"].lower()): fail_usage("Failed: Unrecognised action '" + options["-o"] + "'") - if (0 == options.has_key("-l")) and (device_opt.count("login")): + if (0 == options.has_key("-l")) and device_opt.count("login") and (device_opt.count("no_login") == 0): fail_usage("Failed: You have to set login name") if 0 == options.has_key("-a"): diff --git a/fence/agents/wti/wti-ips.py b/fence/agents/wti/wti-ips.py deleted file mode 100755 index 16d8db2..0000000 --- a/fence/agents/wti/wti-ips.py +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/python - -## -## Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. -## -## The Following Agent Has Been Tested On: -## -## Version Firmware -## +-----------------+---------------------------+ -## WTI IPS-800-CE v1.40h -## -##### - -import sys, re, pexpect -sys.path.append("../lib/") -from fencing import * - -def get_power_status(conn, options): - try: - conn.send("/S"+"\r\n") - conn.log_expect(options, options["-c"], SHELL_TIMEOUT) - except pexpect.EOF: - fail(EC_CONNECTION_LOST) - except pexpect.TIMEOUT: - fail(EC_TIMED_OUT) - - plug_section = 0 - for line in conn.before.splitlines(): - if (plug_section == 2) and line.find("|") >= 0: - plug_line = [x.strip().lower() for x in line.split("|")] - if len(plug_line) < len(plug_header): - plug_section = -1 - pass - if options["-n"] == plug_line[plug_index]: - return plug_line[status_index] - elif (plug_section == 1): - plug_section = 2 - pass - elif (line.upper().startswith("PLUG")): - plug_section = 1 - plug_header = [x.strip().lower() for x in line.split("|")] - plug_index = plug_header.index("plug") - status_index = plug_header.index("status") - - return "PROBLEM" - -def set_power_status(conn, options): - action = { - 'on' : "/on", - 'off': "/off" - }[options["-o"]] - - try: - conn.send(action + " " + options["-n"] + ",y\r\n") - conn.log_expect(options, options["-c"], POWER_TIMEOUT) - except pexcept.EOF: - fail(EC_CONNECTION_LOST) - except pexcept.TIMEOUT: - fail(EC_TIMED_OUT) - -def main(): - device_opt = [ "help", "version", "agent", "quiet", "verbose", "debug", - "action", "ipaddr", "passwd", "passwd_script", - "cmd_prompt", "port" ] - - options = check_input(device_opt, process_input(device_opt)) - - ## - ## Fence agent specific defaults - ##### - if 0 == options.has_key("-c"): - options["-c"] = "IPS>" - - ## - ## Login to system - ## @note: there is no username so we can't use fence_login() - #### - try: - conn = fspawn ('telnet ' + options["-a"]) - conn.log_expect(options, "Password: ", SHELL_TIMEOUT) - conn.send(options["-p"]+"\r\n") - conn.log_expect(options, options["-c"], SHELL_TIMEOUT) - except pexpect.EOF: - fail(EC_LOGIN_DENIED) - except pexpect.TIMEOUT: - fail(EC_LOGIN_DENIED) - - ## - ## Operate the fecing device - ###### - fence_action(conn, options, set_power_status, get_power_status) - - ## - ## Logout from system - ###### - conn.send("/X,Y"+"\r\n") - conn.close() - -if __name__ == "__main__": - main() diff --git a/fence/agents/wti/wti-rsm.py b/fence/agents/wti/wti.py similarity index 76% rename from fence/agents/wti/wti-rsm.py rename to fence/agents/wti/wti.py index 3e40aa2..ccec9dd 100755 --- a/fence/agents/wti/wti-rsm.py +++ b/fence/agents/wti/wti.py @@ -9,6 +9,7 @@ ## +-----------------+---------------------------+ ## WTI RSM-8R4 ?? unable to find out ?? ## WTI MPC-??? ?? unable to find out ?? +## WTI IPS-800-CE v1.40h (no username) ##### import sys, re, pexpect @@ -61,7 +62,7 @@ def set_power_status(conn, options): def main(): device_opt = [ "help", "version", "agent", "quiet", "verbose", "debug", "action", "ipaddr", "login", "passwd", "passwd_script", - "cmd_prompt", "secure", "port" ] + "cmd_prompt", "secure", "port", "no_login" ] options = check_input(device_opt, process_input(device_opt)) @@ -69,12 +70,27 @@ def main(): ## Fence agent specific defaults ##### if 0 == options.has_key("-c"): - options["-c"] = [ "RSM>", "MPC>" ] + options["-c"] = [ "RSM>", "MPC>", "IPS>" ] ## ## Operate the fencing device + ## + ## @note: if there is not a login name then we assume that it is WTI-IPS + ## where no login name is used ##### - conn = fence_login(options) + if (0 == options.has_key("-l")): + try: + conn = fspawn ('telnet ' + options["-a"]) + conn.log_expect(options, "Password: ", SHELL_TIMEOUT) + conn.send(options["-p"]+"\r\n") + conn.log_expect(options, options["-c"], SHELL_TIMEOUT) + except pexpect.EOF: + fail(EC_LOGIN_DENIED) + except pexpect.TIMEOUT: + fail(EC_LOGIN_DENIED) + else: + conn = fence_login(options) + fence_action(conn, options, set_power_status, get_power_status) ## hooks/post-receive -- Cluster Project
reply other threads:[~2008-03-28 16:23 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=20080328162337.8866.qmail@sourceware.org \ --to=mgrac@sourceware.org \ --cc=cluster-cvs@sources.redhat.com \ --cc=cluster-devel@redhat.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).