config: Add a new option connect_timeout
connect_timeout can be used to increase the time Spack waits for the server to answer. This can be used to work around slow connections or servers. Fixes #14700
This commit is contained in:
parent
ffb9591dc9
commit
7325c20794
4 changed files with 14 additions and 2 deletions
|
@ -75,6 +75,12 @@ config:
|
||||||
misc_cache: ~/.spack/cache
|
misc_cache: ~/.spack/cache
|
||||||
|
|
||||||
|
|
||||||
|
# Timeout in seconds used for downloading sources etc. This only applies
|
||||||
|
# to the connection phase and can be increased for slow connections or
|
||||||
|
# servers. 0 means no timeout.
|
||||||
|
connect_timeout: 10
|
||||||
|
|
||||||
|
|
||||||
# If this is false, tools like curl that use SSL will not verify
|
# If this is false, tools like curl that use SSL will not verify
|
||||||
# certifiates. (e.g., curl will use use the -k option)
|
# certifiates. (e.g., curl will use use the -k option)
|
||||||
verify_ssl: true
|
verify_ssl: true
|
||||||
|
|
|
@ -97,6 +97,7 @@
|
||||||
config_defaults = {
|
config_defaults = {
|
||||||
'config': {
|
'config': {
|
||||||
'debug': False,
|
'debug': False,
|
||||||
|
'connect_timeout': 10,
|
||||||
'verify_ssl': True,
|
'verify_ssl': True,
|
||||||
'checksum': True,
|
'checksum': True,
|
||||||
'dirty': False,
|
'dirty': False,
|
||||||
|
|
|
@ -326,11 +326,15 @@ def _fetch_from_url(self, url):
|
||||||
'-D',
|
'-D',
|
||||||
'-', # print out HTML headers
|
'-', # print out HTML headers
|
||||||
'-L', # resolve 3xx redirects
|
'-L', # resolve 3xx redirects
|
||||||
# Timeout if can't establish a connection after 10 sec.
|
|
||||||
'--connect-timeout', '10',
|
|
||||||
url,
|
url,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
connect_timeout = spack.config.get('config:connect_timeout')
|
||||||
|
|
||||||
|
if connect_timeout > 0:
|
||||||
|
# Timeout if can't establish a connection after n sec.
|
||||||
|
curl_args.extend(['--connect-timeout', str(connect_timeout)])
|
||||||
|
|
||||||
if not spack.config.get('config:verify_ssl'):
|
if not spack.config.get('config:verify_ssl'):
|
||||||
curl_args.append('-k')
|
curl_args.append('-k')
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,7 @@
|
||||||
},
|
},
|
||||||
'source_cache': {'type': 'string'},
|
'source_cache': {'type': 'string'},
|
||||||
'misc_cache': {'type': 'string'},
|
'misc_cache': {'type': 'string'},
|
||||||
|
'connect_timeout': {'type': 'integer', 'minimum': 0},
|
||||||
'verify_ssl': {'type': 'boolean'},
|
'verify_ssl': {'type': 'boolean'},
|
||||||
'suppress_gpg_warnings': {'type': 'boolean'},
|
'suppress_gpg_warnings': {'type': 'boolean'},
|
||||||
'install_missing_compilers': {'type': 'boolean'},
|
'install_missing_compilers': {'type': 'boolean'},
|
||||||
|
|
Loading…
Reference in a new issue