From a90a90cf56f713be9a4064a02c0f630425b2091c Mon Sep 17 00:00:00 2001 From: Ondrej Mular Date: Fri, 7 Mar 2014 09:43:00 -0500 Subject: [PATCH] fencing: fixed pexpect TypeError exception, when using identity file for login via ssh Previously, fence-agent failed to log in (ssh) using identity file. This caused fence-agent failure because of uncaught exception. Resolves: rhbz#1073947 Signed-off-by: Marek 'marx' Grac --- fence/agents/lib/fencing.py.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py index 2006f0d..76855e1 100644 --- a/fence/agents/lib/fencing.py.py +++ b/fence/agents/lib/fencing.py.py @@ -1022,13 +1022,12 @@ def fence_login(options, re_login_string = "(login\s*: )|(Login Name: )|(userna "are not in the spec file and must be installed separately." + "\n") sys.exit(EC_GENERIC_ERROR) - result = conn.log_expect(options, [ options["--command-prompt"], \ - "Are you sure you want to continue connecting (yes/no)?", \ - "Enter passphrase for key '" + options["--identity-file"] + "':" ], int(options["--login-timeout"])) + result = conn.log_expect(options, [ "Enter passphrase for key '" + options["--identity-file"] + "':",\ + "Are you sure you want to continue connecting (yes/no)?" ] + options["--command-prompt"], int(options["--login-timeout"])) if result == 1: conn.sendline("yes") - conn.log_expect(options, [ options["--command-prompt"], "Enter passphrase for key '"+options["--identity-file"]+"':"] , int(options["--login-timeout"])) - if result != 0: + result = conn.log_expect(options, [ "Enter passphrase for key '"+options["--identity-file"]+"':"] + options["--command-prompt"], int(options["--login-timeout"])) + if result == 0: if options.has_key("--password"): conn.sendline(options["--password"]) conn.log_expect(options, options["--command-prompt"], int(options["--login-timeout"])) -- 1.8.5.3