WMCore 2.4.1 production WMAgent release
This is the first release of WMAgent running python 3.12.
Moreover, this release includes a new way to monitor status of components and worker threads, based on psutils library and standard Linux mechanisms.
Lastly, Local WorkQueue is expected to be smaller, since the multiplies factor has been reduced from .75 to .50
Release date: Jun 18, 2025.
Changes since release: 2.3.11.1.
WMAgent
Software Stack
- python 3.12 - necessary requirements.txt upgrades (Dario Mapelli) #12336
- python 3.12 - do not use codecs (Dario Mapelli) #12338
this release also required the following changes to the dmwm/CMSKubernetes repository:
- wmcore - switch to py3.12 for pypi docker images dmwm/CMSKubernetes#1611
- cmsweb/exporters - build a new version dmwm/CMSKubernetes#1613
- dmwm-base - remove pycurl from OS && add procps: dmwm/CMSKubernetes#1622, dmwm/CMSKubernetes#1621
Features and/or feature changes
- [monitoring] add thread info status to WMAgent info pushed to CouchDB (Valentin Kuznetsov) #12302
- [monitoring] fix issues with WMagent start; and couple of major warnings reported by pylint (Valentin Kuznetsov) #12362
- [monitoring] Change look-up states for process status (Valentin Kuznetsov) #12372
- [monitoring] setup default value for cycle_time (Valentin Kuznetsov) #12372
- [monitoring] provide necessary checks to look-up valid process ID status (Valentin Kuznetsov) #12387
- Decrease site slot multiplier factor from .75 to .50 (Alan Malta Rodrigues) #12365
- Add getCodes method to fetch all dbs2go codes from its error JSON response (Valentin Kuznetsov) #12312
bug fixes
- Force cherrypy to set content-length=0 before request body if FE does not provide it (Valentin Kuznetsov) #12371
- fix issue with restartComponent.sh script (Valentin Kuznetsov) #12352
- [stageout] Default first stage out to X509 in case bearer token is not set (Alan Malta Rodrigues) #12380
- [stageout] Do not hang on unset BEARER_TOKEN_FILE env var (Alan Malta Rodrigues) #12380
- [stageout] Avoid token-based file deletion in GFAL2, unless environ is defined (Alan Malta Rodrigues) #12377
Enhancements
- Update checkProxy script to use valid domain name (Alan Malta Rodrigues) #12392
- Add Oracle DatabaseError DPI-1080 as a soft error (Alan Malta Rodrigues) #12379
- Make JobAccountant output module evaluation more verbose (Alan Malta Rodrigues) #12351
- Avoid crashing ErrorHandler on failed DNS resolution (Alan Malta Rodrigues) #12369
- [venv] Split patch files by source files edited && Apply them separately (Todor Ivanov) #12346
- [venv] Add option to chose custom built python (Todor Ivanov) #12381