From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15798 invoked by alias); 21 Jul 2009 12:53:32 -0000 Received: (qmail 15792 invoked by alias); 21 Jul 2009 12:53:31 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Check-By: sourceware.org X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bastion2.fedora.phx.redhat.com Subject: cluster: STABLE2 - fencing.py: Adds device option login_eol_lf To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: cluster.git X-Git-Refname: refs/heads/STABLE2 X-Git-Reftype: branch X-Git-Oldrev: 2e6f9172df430a052bc2ac79aa81809d693cf347 X-Git-Newrev: 5914d7c1d984b5e8352474ca0950be2c533000a4 From: =?utf-8?q?Marek_Gr=C3=A1c?= Message-Id: <20090721125251.B46841201B5@lists.fedorahosted.org> Date: Tue, 21 Jul 2009 12:53:00 -0000 X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 Mailing-List: contact cluster-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cluster-cvs-owner@sourceware.org X-SW-Source: 2009-q3/txt/msg00062.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=5914d7c1d984b5e8352474ca0950be2c533000a4 Commit: 5914d7c1d984b5e8352474ca0950be2c533000a4 Parent: 2e6f9172df430a052bc2ac79aa81809d693cf347 Author: Marek 'marx' Grac AuthorDate: Tue Jul 21 14:48:51 2009 +0200 Committer: Marek 'marx' Grac CommitterDate: Tue Jul 21 14:48:51 2009 +0200 fencing.py: Adds device option login_eol_lf This option is used for login method using telnet. By default most of the fence agents work with username\r\n but on some devices (e.g. HP iLO MP, sanbox2) it is interpreted as there is empty password. --- fence/agents/lib/fencing.py.py | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py index 25d1e14..57bc246 100644 --- a/fence/agents/lib/fencing.py.py +++ b/fence/agents/lib/fencing.py.py @@ -111,6 +111,11 @@ all_opt = { "getopt" : "r:", "help" : "-r Force ribcl version to use", "order" : 1 }, + "login_eol_lf" : { + "getopt" : "", + "help" : "", + "order" : 1 + }, "cmd_prompt" : { "getopt" : "c:", "help" : "-c Force command prompt", @@ -451,6 +456,11 @@ def fence_action(tn, options, set_power_fn, get_power_fn): print "Status: " + status.upper() def fence_login(options): + if (options["device_opt"].count("login_eol_lf")): + login_eol = "\n" + else: + login_eol = "\r\n" + try: re_login = re.compile("(login: )|(Login Name: )|(username: )|(User Name :)", re.IGNORECASE) re_pass = re.compile("password", re.IGNORECASE) @@ -526,9 +536,9 @@ def fence_login(options): sys.exit(EC_GENERIC_ERROR) conn.log_expect(options, re_login, LOGIN_TIMEOUT) - conn.send(options["-l"]+"\r\n") + conn.send(options["-l"] + login_eol) conn.log_expect(options, re_pass, SHELL_TIMEOUT) - conn.send(options["-p"]+"\r\n") + conn.send(options["-p"] + login_eol) conn.log_expect(options, options["-c"], SHELL_TIMEOUT) except pexpect.EOF: fail(EC_LOGIN_DENIED)