From fbfeff5df705145bcd2c1bb0a458f55bf46220ee Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Feb 21 2020 11:40:47 +0000 Subject: PR#1916: replace xmlrpc_client exception with requests Merges #1916 https://pagure.io/koji/pull-request/1916 Fixes: #1914 https://pagure.io/koji/issue/1914 kojid doesn't fail correctly during the startup problems --- diff --git a/builder/kojid b/builder/kojid index dc0faba..0648d33 100755 --- a/builder/kojid +++ b/builder/kojid @@ -47,6 +47,7 @@ from gzip import GzipFile from optparse import SUPPRESS_HELP, OptionParser import Cheetah.Template +import requests import rpm import six import six.moves.xmlrpc_client @@ -6335,7 +6336,7 @@ if __name__ == "__main__": options.serverca) except koji.AuthError as e: quit("Error: Unable to log in: %s" % e) - except six.moves.xmlrpc_client.ProtocolError: + except requests.exceptions.ConnectionError: quit("Error: Unable to connect to server %s" % (options.server)) elif options.user: try: @@ -6343,7 +6344,7 @@ if __name__ == "__main__": session.login() except koji.AuthError: quit("Error: Unable to log in. Bad credentials?") - except six.moves.xmlrpc_client.ProtocolError: + except requests.exceptions.ConnectionError: quit("Error: Unable to connect to server %s" % (options.server)) elif krbV or requests_kerberos: krb_principal = options.krb_principal @@ -6369,7 +6370,7 @@ if __name__ == "__main__": #make sure it works try: ret = session.echo("OK") - except six.moves.xmlrpc_client.ProtocolError: + except requests.exceptions.ConnectionError: quit("Error: Unable to connect to server %s" % (options.server)) if ret != ["OK"]: quit("Error: incorrect server response: %r" % (ret)) diff --git a/cli/koji_cli/lib.py b/cli/koji_cli/lib.py index 2243960..f6fceba 100644 --- a/cli/koji_cli/lib.py +++ b/cli/koji_cli/lib.py @@ -108,7 +108,7 @@ def get_usage_str(usage): def ensure_connection(session): try: ret = session.getAPIVersion() - except six.moves.xmlrpc_client.ProtocolError: + except requests.exceptions.ConnectionError: error(_("Error: Unable to connect to server")) if ret != koji.API_VERSION: warn(_("WARNING: The server is at API version %d and the client is at %d" % (ret, koji.API_VERSION))) diff --git a/util/koji-gc b/util/koji-gc index 8a40a84..a94d02f 100755 --- a/util/koji-gc +++ b/util/koji-gc @@ -19,9 +19,10 @@ import sys import time from string import Template +import requests import six import six.moves.configparser -import six.moves.xmlrpc_client # for ProtocolError and Fault +import six.moves.xmlrpc_client # for Fault from six.moves import email_mime_text as MIMEText import koji @@ -349,7 +350,7 @@ def warn(msg): def ensure_connection(session): try: ret = session.getAPIVersion() - except six.moves.xmlrpc_client.ProtocolError: + except requests.exceptions.ConnectionError: error(_("Error: Unable to connect to server")) if ret != koji.API_VERSION: warn(_("WARNING: The server is at API version %d and the client is at %d" % (ret, koji.API_VERSION))) diff --git a/util/koji-shadow b/util/koji-shadow index f8e8300..ea3d56a 100755 --- a/util/koji-shadow +++ b/util/koji-shadow @@ -35,9 +35,10 @@ import sys import time import urllib2 +import requests import rpm import six -import six.moves.xmlrpc_client # for ProtocolError and Fault +import six.moves.xmlrpc_client # for Fault from six.moves import range import koji @@ -283,7 +284,7 @@ def warn(msg): def ensure_connection(session): try: ret = session.getAPIVersion() - except six.moves.xmlrpc_client.ProtocolError: + except requests.exceptions.ConnectionError: error(_("Error: Unable to connect to server")) if ret != koji.API_VERSION: warn(_("WARNING: The server is at API version %d and the client is at " diff --git a/vm/kojivmd b/vm/kojivmd index ff616d8..c926fa2 100755 --- a/vm/kojivmd +++ b/vm/kojivmd @@ -1107,7 +1107,7 @@ if __name__ == "__main__": options.serverca) except koji.AuthError as e: quit("Error: Unable to log in: %s" % e) - except six.moves.xmlrpc_client.ProtocolError: + except requests.exceptions.ConnectionError: quit("Error: Unable to connect to server %s" % (options.server)) elif options.user: try: @@ -1115,7 +1115,7 @@ if __name__ == "__main__": session.login() except koji.AuthError: quit("Error: Unable to log in. Bad credentials?") - except six.moves.xmlrpc_client.ProtocolError: + except requests.exceptions.ConnectionError: quit("Error: Unable to connect to server %s" % (options.server)) elif krbV: krb_principal = options.krb_principal @@ -1141,7 +1141,7 @@ if __name__ == "__main__": #make sure it works try: ret = session.echo("OK") - except six.moves.xmlrpc_client.ProtocolError: + except requests.exceptions.ConnectionError: quit("Error: Unable to connect to server %s" % (options.server)) if ret != ["OK"]: quit("Error: incorrect server response: %r" % (ret))