From a90a90cf56f713be9a4064a02c0f630425b2091c Mon Sep 17 00:00:00 2001
From: Ondrej Mular <omular@redhat.com>
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 <mgrac@redhat.com>
---
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