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