From 4afa653da77f9b9ea25a530efb91f1158560a246 Mon Sep 17 00:00:00 2001 From: Jeffrey Farrar Painter Date: Tue, 2 Mar 2021 13:52:01 -0800 Subject: [PATCH 1/2] Allow Synda to continue after an exception getting a certificate. Usually it works. This feature is disabled by default, but the user can turn it on by setting "continue_on_cert_errrors=true" in the download section of the configuration file. --- synda/sdt/sddmdefault.py | 9 ++++++++- .../config/file/user/preferences/dao/create/models.py | 2 +- synda/source/config/file/user/preferences/models.py | 4 ++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/synda/sdt/sddmdefault.py b/synda/sdt/sddmdefault.py index 19d3aeaf..926e548e 100755 --- a/synda/sdt/sddmdefault.py +++ b/synda/sdt/sddmdefault.py @@ -344,7 +344,14 @@ def transfers_begin(transfers): "Exception occured while retrieving certificate ({})".format(e), ) - raise + sdlog.error("SDDMDEFA-503"," continue_on_cert_errors=%s"% + preferences.is_download_continue_on_cert_errors ) + if preferences.is_download_continue_on_cert_errors: + sdlog.error("SDDMDEFA-504","Ignoring exception") + pass # Try to keep on going, probably a certificate isn't needed. + else: + sdlog.error("SDDMDEFA-505","Re-raising exception") + raise for tr in transfers: start_transfer_thread(tr) diff --git a/synda/source/config/file/user/preferences/dao/create/models.py b/synda/source/config/file/user/preferences/dao/create/models.py index b6e31469..b1ff4dde 100755 --- a/synda/source/config/file/user/preferences/dao/create/models.py +++ b/synda/source/config/file/user/preferences/dao/create/models.py @@ -110,7 +110,7 @@ def __init__(self, full_filename): config.set('download', 'http_fallback', 'false') config.set('download', 'gridftp_opt', '') # config.set('download', 'incremental_mode_for_datasets', 'false') - # config.set('download', 'continue_on_cert_errors', 'false') + config.set('download', 'continue_on_cert_errors', 'false') config.set('download', 'url_max_buffer_size', '3500') # nouvelles variables diff --git a/synda/source/config/file/user/preferences/models.py b/synda/source/config/file/user/preferences/models.py index c5598153..77396e1c 100755 --- a/synda/source/config/file/user/preferences/models.py +++ b/synda/source/config/file/user/preferences/models.py @@ -169,6 +169,10 @@ def download_max_parallel_download_per_datanode(self): def download_url_max_buffer_size(self): return self.get_data().getint('download', 'url_max_buffer_size') + @property + def continue_on_cert_errors(self): + return self.get_data().getboolean('download', 'continue_on_cert_errors') + @property def download_gridftp_opt(self): return self.get_data().get('download', 'gridftp_opt') From af79b8b28b586922ecc911e3c9a056d27debd480 Mon Sep 17 00:00:00 2001 From: Jeffrey Farrar Painter Date: Tue, 2 Mar 2021 16:27:42 -0800 Subject: [PATCH 2/2] Use the correct function name to provide access to continue_on_cert_errors. --- synda/source/config/file/user/preferences/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/synda/source/config/file/user/preferences/models.py b/synda/source/config/file/user/preferences/models.py index 77396e1c..d2d34929 100755 --- a/synda/source/config/file/user/preferences/models.py +++ b/synda/source/config/file/user/preferences/models.py @@ -170,7 +170,7 @@ def download_url_max_buffer_size(self): return self.get_data().getint('download', 'url_max_buffer_size') @property - def continue_on_cert_errors(self): + def is_download_continue_on_cert_errors(self): return self.get_data().getboolean('download', 'continue_on_cert_errors') @property