PR#1172: make timeout of authentication configurable
Merges #1172 https://pagure.io/koji/pull-request/1172 Fixes: #1171 https://pagure.io/koji/issue/1171 GSSAPI authentication timeout should be able to be configured
This commit is contained in:
commit
a05478e22c
2 changed files with 22 additions and 7 deletions
|
|
@ -39,3 +39,9 @@
|
|||
|
||||
;enabled plugins for CLI, runroot and save_failed_tree are available
|
||||
;plugins =
|
||||
|
||||
;timeout of XMLRPC requests by seconds, default: 60 * 60 * 12 = 43200
|
||||
;timeout = 43200
|
||||
|
||||
;timeout of GSSAPI/SSL authentication by seconds, default: 60
|
||||
;auth_timeout = 60
|
||||
|
|
|
|||
|
|
@ -268,6 +268,10 @@ BASEDIR = '/mnt/koji'
|
|||
# default task priority
|
||||
PRIO_DEFAULT = 20
|
||||
|
||||
# default timeouts
|
||||
DEFAULT_REQUEST_TIMEOUT = 60 * 60 * 12
|
||||
DEFAULT_AUTH_TIMEOUT = 60
|
||||
|
||||
## BEGIN kojikamid dup
|
||||
|
||||
#Exceptions
|
||||
|
|
@ -1647,7 +1651,8 @@ def read_config(profile_name, user_config=None):
|
|||
'offline_retry' : None,
|
||||
'offline_retry_interval' : None,
|
||||
'keepalive' : True,
|
||||
'timeout' : None,
|
||||
'timeout' : DEFAULT_REQUEST_TIMEOUT,
|
||||
'auth_timeout' : DEFAULT_AUTH_TIMEOUT,
|
||||
'use_fast_upload': False,
|
||||
'upload_blocksize': 1048576,
|
||||
'poll_interval': 6,
|
||||
|
|
@ -1719,7 +1724,8 @@ def read_config(profile_name, user_config=None):
|
|||
'debug', 'debug_xmlrpc', 'krb_canon_host'):
|
||||
result[name] = config.getboolean(profile_name, name)
|
||||
elif name in ('max_retries', 'retry_interval',
|
||||
'offline_retry_interval', 'poll_interval', 'timeout',
|
||||
'offline_retry_interval', 'poll_interval',
|
||||
'timeout', 'auth_timeout',
|
||||
'upload_blocksize', 'pyver'):
|
||||
try:
|
||||
result[name] = int(value)
|
||||
|
|
@ -2037,6 +2043,7 @@ def grab_session_options(options):
|
|||
'anon_retry',
|
||||
'keepalive',
|
||||
'timeout',
|
||||
'auth_timeout',
|
||||
'use_fast_upload',
|
||||
'upload_blocksize',
|
||||
'krb_rdns',
|
||||
|
|
@ -2074,7 +2081,7 @@ class ClientSession(object):
|
|||
self.logger = logging.getLogger('koji')
|
||||
self.rsession = None
|
||||
self.new_session()
|
||||
self.opts.setdefault('timeout', 60 * 60 * 12)
|
||||
self.opts.setdefault('timeout', DEFAULT_REQUEST_TIMEOUT)
|
||||
|
||||
|
||||
def new_session(self):
|
||||
|
|
@ -2233,13 +2240,14 @@ class ClientSession(object):
|
|||
# Force a new session
|
||||
self.new_session()
|
||||
|
||||
# 60 second timeout during login
|
||||
sinfo = None
|
||||
old_env = {}
|
||||
old_opts = self.opts
|
||||
self.opts = old_opts.copy()
|
||||
try:
|
||||
self.opts['timeout'] = 60
|
||||
# temporary timeout value during login
|
||||
self.opts['timeout'] = self.opts.get('auth_timeout',
|
||||
DEFAULT_AUTH_TIMEOUT)
|
||||
kwargs = {}
|
||||
if keytab:
|
||||
old_env['KRB5_CLIENT_KTNAME'] = os.environ.get('KRB5_CLIENT_KTNAME')
|
||||
|
|
@ -2301,10 +2309,11 @@ class ClientSession(object):
|
|||
# Force a new session
|
||||
self.new_session()
|
||||
|
||||
# 60 second timeout during login
|
||||
old_opts = self.opts
|
||||
self.opts = old_opts.copy()
|
||||
self.opts['timeout'] = 60
|
||||
# temporary timeout value during login
|
||||
self.opts['timeout'] = self.opts.get('auth_timeout',
|
||||
DEFAULT_AUTH_TIMEOUT)
|
||||
self.opts['cert'] = cert
|
||||
self.opts['serverca'] = serverca
|
||||
try:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue