From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25524 invoked by alias); 21 Jul 2009 13:49:29 -0000 Received: (qmail 25513 invoked by alias); 21 Jul 2009 13:49:29 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Status: No, hits=-2.3 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: fence-agents: master - fencing.py: Adds device option login_eol_lf To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: fence-agents.git X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 06a1e2735127c38b5d28875f881ec8f8cac47879 X-Git-Newrev: 0b2b6e5f5ccae39d5f8931ee6d222164198534ec From: =?utf-8?q?Marek_Gr=C3=A1c?= Message-Id: <20090721134902.867EF1201B5@lists.fedorahosted.org> Date: Tue, 21 Jul 2009 13:49: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/msg00065.txt.bz2 Gitweb: http://git.fedorahosted.org/git/fence-agents.git?p=fence-agents.git;a=commitdiff;h=0b2b6e5f5ccae39d5f8931ee6d222164198534ec Commit: 0b2b6e5f5ccae39d5f8931ee6d222164198534ec Parent: 06a1e2735127c38b5d28875f881ec8f8cac47879 Author: Marek 'marx' Grac AuthorDate: Tue Jul 21 15:44:07 2009 +0200 Committer: Marek 'marx' Grac CommitterDate: Tue Jul 21 15:44:07 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 6a2e8b3..2d0205d 100644 --- a/fence/agents/lib/fencing.py.py +++ b/fence/agents/lib/fencing.py.py @@ -157,6 +157,11 @@ all_opt = { "required" : "0", "shortdesc" : "Force ribcl version to use", "order" : 1 }, + "login_eol_lf" : { + "getopt" : "", + "help" : "", + "order" : 1 + }, "cmd_prompt" : { "getopt" : "c:", "longopt" : "command-prompt", @@ -701,6 +706,11 @@ def fence_login(options): if (options.has_key("-4")): force_ipvx="-4 " + 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) @@ -776,9 +786,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)