diff --git a/lib/cmdlib.py b/lib/cmdlib.py index bc46ba4f16bc8f4b82f96fe85098b3e2578df1ac..3914435455883045de5f9cac347459da0387e3ef 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -2431,7 +2431,8 @@ class LUAddNode(LogicalUnit): " for remote verification" % verifier) if result[verifier].data['nodelist']: for failed in result[verifier].data['nodelist']: - feedback_fn("ssh/hostname verification failed %s -> %s" % + feedback_fn("ssh/hostname verification failed" + " (checking from %s): %s" % (verifier, result[verifier].data['nodelist'][failed])) raise errors.OpExecError("ssh/hostname verification failed.") diff --git a/lib/ssh.py b/lib/ssh.py index f0362b4b81933a3939d0f2975def532948be2ea2..e89131422586eb532d4ee4240eec9b50a4cfbd4f 100644 --- a/lib/ssh.py +++ b/lib/ssh.py @@ -227,7 +227,12 @@ class SshRunner: remotehostname = retval.stdout.strip() if not remotehostname or remotehostname != node: - return False, "hostname mismatch, got %s" % remotehostname + if node.startswith(remotehostname + "."): + msg = "hostname not FQDN" + else: + msg = "hostname mistmatch" + return False, ("%s: expected %s but got %s" % + (msg, node, remotehostname)) return True, "host matches"