Changelog¶
Transfer Module¶
- Version 3.4 - 2021-xx-xx
- enhancement
downloads are performed asynchronously, using only one protocol (http) and under the control of asyncio
std.conf new entries : big_file_size, big_file_chunksize
internal.conf entry : transfer_protocol
- tests :
remove subcommand : new data file embedded is ten times smaller than previous one
- deprecated features
gridftp protocol
wget http client
std.conf entries : gridftp_opt
internal.conf entry : transfer_protocols
documentation update
- Version 3.35 - 2021-05-07
- bug correction :
init-env subcommand now provides empty default selection files (see conf/default directory)
issue # 185 : ‘synda remove’ fails to import sdsimplefilter
- Version 3.34 - 2021-04-02
- bug correction :
Default selection file for CMIP6 project is now delivered empty. It can be customized under user control (issue # 178 : Dataset not found but available on ESGF web interface)
Documentation update
- Version 3.33 - 2021-03-31
- bug correction :
issue # 177 : synda now allows that ESGF openIDs are case sensitive
- Version 3.32 - 2021-03-24 - (PYTHON 3)
- enhancement
code migration : third attempt to migrate synda from python 2 to python 3 (success)
- bug correction :
issue # 176 (conda channel changed : now : conda-forge [ipsl channel has been removed])
- Version 3.31 - 2021-03-22
- enhancement
code migration : second attempt to migrate synda from python 2 to python 3 (failure)
- bug correction :
issue # 168 (Master branch update broke sdnexturl.py)
- Version 3.30 - 2021-03-22
- enhancement
code migration : first attempt to migrate synda from python 2 to python 3 (failure)
- bugs correction :
synda -h and synda -V sub-commands are now operational
- deprecated features
‘open’ subcommand
packages : sdpoodlefix, sdxml, sdhtmlbasic, sdselectionfile, sdview
- Version 3.2 - 2021-01-11
config parameters externalisation
‘sdt.conf’ file has new customizable parameters
New ‘internal.conf’ file, for advanced parameters (not customizable, located into the /conf directory)
enhancements
init-env subcommand is enabled to build user environment
synda raises on the command line the problems encountered by esgf_search api service
In sdparam.get_name_from_value method, if more than one match, the print message has now a ‘info’ level
store stacktrace log files in /log directory.
bugs correction :
help subcommand can be used even if user has not built yet any environment
deprecated features
‘pexec’ subcommand
‘thredds_catalog’ & ‘apache_default_listing’ APIS (synda operates only the ‘esgf_search’ API)
synda ihm
packages : sdevent, sdeventdao, sddatasetpattern, sdoperation
- Version 3.15 - 2020-11-17
cleaning & packages reorganization
issue #158 - bug correction - daemon stopping without reporting errors
- Version 3.14 - 2020-10-29
new files encoding : ISO-8859-1 => utf8
- Version 3.13 - 2020-10-28
entry point moved to setup.py instead of meta.yaml file
- Version 3.9 - 2017-02-19
add gridftp_opt option in sdt.conf.
dataset attributes can be used in ‘local_path_drs_template’.
use decimal prefix instead of binary prefix in ‘synda metrics’ command.
do not include checksum computation time in download time metric.
enable supplementary groups support if available.
- Version 3.8 - 2017-02-19
add
info
action tosynda certificate
commandadd security_dir_mode option
add subfolder to the ESGF certificate path (named after the user UID)
all deletions now occurs synchronously (deferred mode is disabled)
follow symlinks during
synda remove
operationadd manual routines to refresh dataset status
new cleanup algo for
synda remove
command (run faster)add full path support in
local_path_drs_template
varadd write test in sddaemon module
store stacktrace file in /tmp
add uuid to stacktrace file name
move try/except block upstream to enclose the daemon context
fix permission in sys-pkg for
/srv/synda/sdt
folder (g+sw)
- Version 3.7 - 2017-01-15
ESGF certificate path set to $HOME/sdt/tmp/.esg for source install.
disable sdfilepermission module.
add user personal env (SDT_USER_ENV).
synda group can be used instead of sudo (system package).
set specific version for pillow package.
bugfixes.
- Version 3.6 - 2016-12-04
use search-api json format instead of xml
add end-of-transfer events replay mode (trigger all EOT events in batch mode)
add
synda count
subcommandadd
synda config
subcommandadd incremental mode for discovery operation
add dataset version consistency check
- Version 3.5 - 2016-09-19
use requests (pypi) to resolve openid
add
~/.sdt/conf/credentials.conf
add
~/.sdt/conf/sdt.conf
remove
~/.syndarc
add
open
subcommandadd
check
subcommand for selectionadd
check
subcommand for file’s variableuse myproxyclient latest version
add
default_path
option in sdt.confuse sdpyproxy python module to renew X509 certificate (replace obsolete sdlogon.sh script)
change tarball location for source installation (use install.sh latest version)
replace argparse RawTextHelpFormatter with RawDescriptionHelpFormatter
set
metadata_parallel_download
to Falseadd support for lowmem machine
add sdsqlitedict module
add sdmts module
add
ignorecase
filter forupgrade
andfacet
subcommandsremove
-n
option fromsynda facet
subcommanddo not stop daemon anymore when error occurs during download (except for certificate renewal error)
always print stacktrace when error occurs (ST_DEBUG env. var. is not used anymore)
write yes/no confirmation message on stderr
prevent adding predefined values for
version
facet in local cacheadd checksum type normalization routine
add
url_replace
selection file parameteradd
http_fallback
option (switch protocol on error)add
default_listing_size
configuration optionadd
-m
option tosynda remove
subcommandergonomy improvements
- Version 3.4 - 2016-05-04
add
synda variable
subcommandadd
synda get
subcommandremove
synda test
subcommand (synda test
is replaced bysynda get
)add urllib2 based download impl
add sandbox folder for untracked data
set data folder default value to /srv/synda/sdt/data (system package installation only)
disable parameter checking by default
insert event in db even if post-processing module is disabled
improve obs4MIPs project support
user documentation reorganization
add parameter reference documentation
add commands reference documentation
add selection file documentation
- Version 3.3 - 2016-04-04
localpath DRS can be customized by user in configuration file (local_path_drs_template)
add hpss configuration parameter to retry transfer on error
add index_host and project options to the
synda update
subcommandadd examples for each subcommands
use argparse.RawTextHelpFormatter in subcommand help
add globus online support
set gridftp port range to 50000-51000
in sdget.sh and sdgetg.sh,
-v
option replace-d
option (verbose replace debug_level)add new
value
format for synda dump-F
optionenable debug mode when using synda test <url> subcommand
synda list
now list everything by defaultadd missing initialization in install.sh (g__transfer=0)
add configuration file documentation
move post_processing parameter from daemon section to module section
rename configuration file
[path]
section to[core]
sectiondo not remove ca certs when using
synda certificate renew
optionadd
force_renew_ca_certficates
option to remove ca certsremove
cache
subcommandremove
sdreducecol
filter from sdfilepipeline modulefix
pkg_resources.DistributionNotFound: setuptools>=1.0
bugmove common method from Dataset and File class to BaseType class
set
prevent_daemon_and_modification
to false for source installationmove
max_parallel_download
from[daemon]
to[download]
sectionuntar ihm_pid_file only if mutually exclusive lock is enabled
increase daemon sqlite timeout from 120s to 12000s
do not parse wget output by default and increase wget
--tries
to prevent hpss failuredefault indexes set to dkrz
daemon non-privileged mode
- Version 3.2 - 2016-02-03
DEB package
retrieve dataset timestamp in batch mode
modify Synda scheduler to ease Globus Online integration
prevent normal user to run admin commands in multi-user mode
set model attribute as optional
improve documentation
- Version 3.1 - 2015-12-29
multi-user
daemon integrated in systemd
RPM package
per-user config file (~/.syndarc)
online help
parameter discovery (list parameter based on other parameters)
support for free syntax in template (e.g. [realm experiment frequency]=v1 v2)
default indexes set to pcmdi9
add inline tutorial
-z
option replace-y
option-y
option replace-N
option--yes
option replace--non-interactive
optionopenid/passwd moved from sdt.conf to credentials.conf
add check to prevent normal user from running synda in write mode
add ignorecase filter
- Version 3.0 - 2015-03-25
add new local search filter (status, error_msg)
add
--version
option to print version in synda commandimprove external files support
add
next replica
action (batch mode)move default selection files in
sdt/conf/default
move configuration file in
sdt/conf
folderadd
history
subcommandmove lfae_mode into sdt.conf
gridftp support
- Version 2.9 - 2014-11-03
several template parameters names changed (e.g. tablename is now named cmor_table). See sdconvert.sh for more info
new synda command (apt-get like front-end)
support for most search-API parameters
“not” operation support (e.g. all models but one)
multi-DRS support
new formatting keyword
only localpath is mutable
support for different name for the same model (e.g. GFDL-CM2p1, GFDL-CM2.1 et GFDL-CM2-1)
default values per project
new
searchapi_host
parameter to specify which index to usespace are supported (e.g. “ISI-MIP Fasttrack”)
replica support
wildcard (all/_*) supported in all facets
local database reorganization
- Version 2.8 - 2013-12-20
set CHUNKSIZE (search-API limit parameter) to 10000 (was 1000)
add time coverage filter
add support for
sha256
checksum type
- Version 2.7 - 2013-08-20
fix B0039 bug
fix B0034 bug
fix B0033 bug
add EUCLIPSE project
XML parsing module rewriting
add “timeout/retry” mechanism in the discovery process
models discovery module improvement
move tuning parameters into configuration file
increase thredds-catalog timeout from 10 to 100
add second logger for domain/functional messages
load readonly tables in memory to speed up the discovery process
add CMOR tables cache system
add orphan transfer detection (without selection match)
stat
subcommand rewritingadd db_path option in configuration file
- Version 2.6 - 2013-04-18
add
search-api-nocache
discovery engineadd support for “obs4MIPs” project
add wild card support for realm and frequency
fix B0032 bug
- Version 2.5 - 2012-12-18
add
url
column in dataset tmp tablesadd
-G
option (remove tmp tables)set
MyProxyClient
as default myproxy clientset search-API as default search-engine
add selection based statistics
add new
-E
option to retrieve model list from search-APIfix B0031 bug
replace PCMDI3 with PCMDI9 in get_data.sh script (myproxy server)
add search-API multithreading to run several search in parallel
add search-API call metrics (to trace time spent in each call)
add search-API pagination
fix B0030 bug
fix B0029 bug
fix B0028 bug
fix B0027 bug
fix B0026 bug
- Version 2.4 - 2012-06-19
add
-x
option to run discovery process and print ESGF checksumsadd
-X
option to control if local checksum match remote checksumfix B0025 bug
add “latest” symlink creation routine (last version identifier)
add old versions suppression routine
add search API mode
add
-L
option (setlatest
flag)fix B0024 bug
mark CSTE_TRANSFERT_STATUS_DELETED status as deprecated
- Version 2.3 - 2012-04-20
add PROC0001 method to list obsolete version
add new columns latest_date and last_done_transfer_date
fix B0023 bug
fix B0022 bug (MIGR0001() method broken)
fix B0021 bug. (variable missing when retrieving transfert from database)
add
-y
option (dataset-info)
- Version 2.2 - 2012-04-07
fix B0020 bug. (fix 2.2 at 20120410)
fix B0019 bug. (fix 2.2 at 20120407)
add ESGF MyProxyLogon (MyProxy Java client)
replace
ps fax
withps ax
(Mac port)add dependencies check in install.sh
add transfer_helper modules
add dataset in transfer queue (eot_queue)
fix B0018 bug
fix B0017 bug
fix “[Error 98] address already in use”
use wget tries and timeout parameters from conf. file
fix B0016 bug
add
-r
option (exec proc)use transfert_id instead of local_image as primary key (for update)
add new table
dataset
add new column
dataset_id
in transfer table
- Version 2.1 - 2012-03-12
fix B0015 bug
add
-V
option in start.shadd
-b
to myproxy-logon options (only if myproxy-logon >= 5.0)set wget tries option to 1
fix B0014 bug
fix B0013 bug
add abnormal termination recovery routine
add ignore checksum option
fix B0012 bug
set SQLite lock timeout to 120s
improve scheduler (increase queue and dequeue performance)
frozen wget watchdog reactivation
- Version 2.0 - 2012-02-14
add new synchronisation mode (retrieve dataset last version only)
fix B0011 bug (remove local files when checksum doesn’t match)
add list-local-files action
fix B0007 bug (replace urllib with urllib2 and set timeout to 10)
fix B0006 bug (add missing env. var. in stop.sh)
fix B0009 bug (catch exception and process others datasets)
remove non-working models from models table
- Version 1.9 - 2012-01-30
fix B0005 bug
- Version 1.8 - 2012-01-28
add
-w
option (shutdown immediate)improve errors handling
fix B0003 bug
fix start.sh
-e
option (B0004 bug)
- Version 1.7 - 2012-01-27
add start.sh
-u
option (refresh ESGF metadata)add start.sh
-q
option (stop daemon)add start.sh
-l
option (list selections)
- Version 1.6 - 2012-01-26
fix B0001 and B0002 bugs
remove one-file-per-model logging
add metadata caching system
merge all logs in one file
add model in tmp tables (dataset_version and file_timeslice)
- Version 1.5 - 2012-01-18
move models loop inside the feeder
add CMOR tablename forcing in template
add stat subcommand
add syncmode check in start.sh
move product out of local_image column
- Version 1.4 - 2012-01-14
set myproxy-logon as default (change procedure in README to use
install.sh -a
)add delete subcommand
add cancel subcommand
add retry subcommand
add info subcommand
merge output1 and output2 into output
improve installation process
use synchronous events to control the daemon
- Version 1.3 - 2012-01-02
automatic update of model/datanode list
add remote and local checksum
unset X509_USER_PROXY variable (in get_data.sh script)
fix selection overlapping bug
fix product bug (check to prevent
output
value for product)add license information
add svn properties in header
ignore blank lines in selection files
- Version 1.2 - 2011-10-07
improve
ensemble
supportincrease from 8 to 16 Wget threads
add per model priority
move main loop delay from 3 seconds to 6 seconds
support file ID with non-standard extension (
.nc_0
)add upgrade and archive option in script install.sh
improve HTTP error handling in script get_data.sh
- Version 1.1 - 2011-09-28
improve datanode and model configuration
improve HTTP error code handling
add watchdog to check for frozen wget
fix PCMDI datanode incorrect url
fix incorrect configuration for models GISS-E2-H, GISS-E2-R and inmcm4
add new models (HadCM3,IPSL-CM5A-LR,CanAM4,MIROC5,MIROC4h,CCSM4,MRI-CGCM3,MRI-AGCM3-2S,MRI-AGCM3-2H,MPI-ESM-LR)
- Version 1.0 - 2011-09-09
support for
myproxy-logon
andmyproxyclient
simple data selection with model, experiment, realm and variable
multi threaded downloads (8 tasks by default)
manage datasets version following new drs
incremental process (download only what’s new)
download history stored in a database
Post-Processing Module¶
- Version 1.3 - 2017-01-15
synda group can be used instead of
sudo
(system package)
- Version 1.2 - 2016-12-04
move hard-coded pipeline dependencies into configuration files
add
credentials.conf
fileadd pipeline samples
bugfixes
- Version 1.1 - 2016-09-19
add CORDEX support
add pexec support
add multivalues support for
job_class
optionadd conf folder
add pipeline_path
improve worker log routines
- Version 1.0 - 2014-12-25
pipeline engine
Jsonrpc server
database environment
worker script