handle name resolution errors more gracefully from shell.py

This change will catch socket.gaierror exceptions from shell.py and
return a more friendly message to the user
This commit is contained in:
Peter Sprygada 2016-05-04 11:12:26 -04:00
parent fbec9ce58b
commit 91f67ac37a

View file

@ -101,12 +101,15 @@ class Shell(object):
if not look_for_keys: if not look_for_keys:
look_for_keys = password is None look_for_keys = password is None
self.ssh.connect(host, port=port, username=username, password=password, try:
timeout=timeout, look_for_keys=look_for_keys, pkey=pkey, self.ssh.connect(host, port=port, username=username, password=password,
key_filename=key_filename, allow_agent=allow_agent) timeout=timeout, look_for_keys=look_for_keys, pkey=pkey,
key_filename=key_filename, allow_agent=allow_agent)
self.shell = self.ssh.invoke_shell() self.shell = self.ssh.invoke_shell()
self.shell.settimeout(timeout) self.shell.settimeout(timeout)
except socket.gaierror:
raise ShellError("unable to resolve host name")
if self.kickstart: if self.kickstart:
self.shell.sendall("\n") self.shell.sendall("\n")