Sandro Bonazzola has uploaded a new change for review.

Change subject: Add additional exception to prevent socket.gaierror error
......................................................................

Add additional exception to prevent socket.gaierror error

In time of second host, you need to pass FQDN of first host to
receive answer file, but FQDN not pass any validation and can be
incorrect, it will lead to socket.gaierror in socket.getaddrinfo
method.

Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1136015

Change-Id: I92776791af606b6fdb664c9e44ed119a167d15ac
Signed-off-by: Artyom Lukianov <aluki...@redhat.com>
Signed-off-by: Sandro Bonazzola <sbona...@redhat.com>
(cherry picked from commit 38995557e4623003f9dbba5f5ff07063fffe948f)
---
M src/plugins/ovirt-hosted-engine-setup/core/remote_answerfile.py
1 file changed, 10 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-hosted-engine-setup 
refs/changes/88/32588/1

diff --git a/src/plugins/ovirt-hosted-engine-setup/core/remote_answerfile.py 
b/src/plugins/ovirt-hosted-engine-setup/core/remote_answerfile.py
index 1b6b07b..1500902 100644
--- a/src/plugins/ovirt-hosted-engine-setup/core/remote_answerfile.py
+++ b/src/plugins/ovirt-hosted-engine-setup/core/remote_answerfile.py
@@ -25,6 +25,7 @@
 import gettext
 import os
 import paramiko
+import socket
 import tempfile
 
 
@@ -67,12 +68,13 @@
                     prompt=True,
                     caseSensitive=True,
                 )
+            transport = None
             try:
                 transport = paramiko.Transport((self.environment[
                     ohostedcons.FirstHostEnv.FQDN
                 ], 22))
                 valid = True
-            except paramiko.SSHException as e:
+            except (paramiko.SSHException, socket.gaierror) as e:
                 self.logger.debug('exception', exc_info=True)
                 if fqdn_interactive:
                     self.logger.error(
@@ -97,7 +99,8 @@
                         )
                     )
             finally:
-                transport.close()
+                if transport is not None:
+                    transport.close()
 
     def _fetch_answer_file(self):
         self.logger.debug('_fetch_answer_file')
@@ -117,7 +120,7 @@
                     prompt=True,
                     hidden=True,
                 )
-
+            transport = None
             try:
                 transport = paramiko.Transport(
                     (
@@ -141,7 +144,7 @@
                     )
                 finally:
                     sftp.close()
-            except paramiko.AuthenticationException:
+            except paramiko.AuthenticationException as e:
                 self.logger.error(
                     _('Invalid password for host {fqdn}').format(
                         fqdn=fqdn,
@@ -155,7 +158,7 @@
                             'on first host'
                         )
                     )
-            except paramiko.SSHException as e:
+            except (paramiko.SSHException, socket.gaierror) as e:
                 self.logger.debug('exception', exc_info=True)
                 self.logger.error(
                     _('Unable to connect to {fqdn}. Error:{error}').format(
@@ -172,7 +175,8 @@
                         )
                     )
             finally:
-                transport.close()
+                if transport is not None:
+                    transport.close()
         self.logger.info(_('Answer file successfully downloaded'))
 
     def _parse_answer_file(self):


-- 
To view, visit http://gerrit.ovirt.org/32588
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I92776791af606b6fdb664c9e44ed119a167d15ac
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-hosted-engine-setup
Gerrit-Branch: ovirt-hosted-engine-setup-1.2
Gerrit-Owner: Sandro Bonazzola <sbona...@redhat.com>
Gerrit-Reviewer: Artyom Lukianov <aluki...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to