What’s new in dCache 10.2
Release notes
Highlights
- Expose user/group quotas via remote quota protocol
- Java 21 is supported as runtime environment
- PoC support for firefly network markers
- Support of Label-based virtual read-only directories
Incompatibilities
- Pool Manager partitions by default allowed to stage
- Dropped gPlazma ARGUS plugin
- A stage request canceled in the poolmanager will propagate the cancel to pool
- Pool internal health check is disabled if an external check command is configured.
- Access to files with QoS ‘HSM’-only will be denied, even if they are still available on disks.
Acknowledgments
- Anton Schwarz, Heidelberg University, DESY Summer Stutent Programm
Release 10.2.2
bulk
This fix has reduced the number 0f stack traces in logs.
tape
Users reported 2 day pin lifetime on staged files (which is a default) despite specifying different values. This is now fixed.
Changelog 10.2.1..10.2.2
- df5eb3b5c7
- [maven-release-plugin] prepare release 10.2.2
- a1b2a95b69
- tape REST api: additional fix tohandling of prefixed paths
- cac439eebe
- bulk/qos: shutdown executor services when stopped
- 92c11c94d3
- [maven-release-plugin] prepare for next development iteration
Release 10.2.1
xroot
Return destination address (that is, the haproxy address) if xrootd.enable.proxy-protocol=true
is set, instead of the actual door address.
Changelog 10.2.0..10.2.1
- 81a63e36cd
- [maven-release-plugin] prepare release 10.2.1
- 93c5074d95
- xroot: handle haproxy and checksum command
- 2aa172f661
- [maven-release-plugin] prepare for next development iteration
Release 10.2.0
Cleaner
Cleaner-hsm’s admin info
command now shows information about which pools have currently been instructed to delete files from an attached HSM. These pools are still expected to send a reply concerning success or failure of the deletion.
Additionally, the pool selection behaviour was changed to only select not already waited for pools for hsm-cleaning.
Frontend
Logic was updated. None existent QOS name will now longer throw a 500, it will return a 400. QOS of type “tape+disk” will no longer throw a 400, it will return the same as “disk+tape”.
Chimera
Traditional file systems organize data in directories. Directories are typically a collection of files whose grouping is based on some of the above mentioned criteria. However, each file in a directory can belong to several logical groups, such as a special event type or experiment condition.
With our previous releases releases in dCache, we had have implemented user metadata handling, so that any short string label describing raw data, calibrated data or detector telemetry can be attached to a file via the RESTful API, or via graphical dCache-view interface.
With the latest changes in dCache, it is now possible to populate virtual read-only directories with files as soon as they get the corresponding label.
These virtual directories are exposed through NFS and WebDAV protocols via the commands ls -1 /mnt/.(collection)(labelName)
and http://localhost:portnumber/.(collection)(labelName)
, respectively.
For example, the following command returns the list of all files labeled by blue-bird:
$ ls -1 /mnt/".(collection)(blue-bird)"/
file_large_bird_1.log-7
file_large_bird_2.log-7
file_large_bird_3.log-2
file_large_bird_3.log-7
file_large_bird_4.log-7
file_large_bird_5.log-7
file_large_bird_6.log-2
file_large_bird_6.log-7
$
To access the file a simple cat /mnt/".(collection)(yellow)"/file_large_bird_4.log-7
should be used.
gplazma
The gPlazma’ argus’ plugin was removed due to a lack of usage and the decommissioning of the corresponding EGI-managed infrastructure.
Added the possibility of prototyping auth
and map
plugins in Python.
httpd
Fixed PoolManager web representation to generate valid HTML. Updated PoolSelection configuration section to use common css. Update the color palette to match (more modern) dcache.org colors.
NFS
The NFS door has been updated to expose the REPLICA-ONLINE quota via the remote quota protocol, which uses
UDP protocol. The nfs.net.rquota.port
property can specify the UDP port number used by the service.
Pool
Fixed invalid logging format by NFS write operation.
The sweeper purge
command accepts the optional -storageClass=<class>
option to purge only files of the specified storage class.
Added configuration option pool.mover.nfs.multipath
to specify which IP addresses should be advertised to pNFS clients.
Removed obsolete/test code.
dCache provides a possibility to specify a command that the pool can use to perform repository checks. This check runs parallel to the internal repository health check. Starting from dcache–10.2, an internal check is skipped if the command is specified.
Added optional network fireflies to allow network traffic monitoring by WLHC and ES-Net. The fireflies can be enabled by pool.enable.firefly=true
configuration property. To exclude local traffic from reporting, pool.firefly.excludes
can be used. Example:
pool.firefly.excludes = a.b.c.d/16, aa:bb:cc:dd:ee:ff/64, v.x.w.z
Where a.b.c.d/16
, aa:bb:cc:dd:ee:ff/64
and v.x.w.z
are site local IP addresses or subnets.
Poolmanager
The stage-allowed
option in the pool manager is now on yes
by default.
When a request in PoolManager that has triggered the stage is canceled, PoolManager will cancel the stage in the pool.
If a pool with the file is offline and a tape copy is available, dCache will trigger the stage and wait until the file is restored on disk. However, if the pool becomes available again, the stage request is not interrupted, and the client will wait for the tape. With 10.2 the PoolManager will use the online replica to serve the request.
NOTE: The on-going stage will not be interrupted.
QoS
The QoS service database name is now configurable.
Access to files with QoS ‘HSM’-only will be denied, even if they are still available on disks.
Zookeeper
Suppress non-fatal errors in the logs
Updated zookeeper and curator to versions 3.8.4 and 5.7.0
Changelog from 10.1.0 to 10.2.0
- 2aa172f661
- [maven-release-plugin] prepare for next development iteration
- 9f6b619b6b
- [maven-release-plugin] prepare release 10.2.0
- e334fb04c0
- http(old): modernize color palette
- 53173e10a8
- build(deps): bump org.eclipse.jetty:jetty-server
- 9d3eb6e108
- build(deps): bump org.eclipse.jetty:jetty-servlets
- 1e916a95a9
- dcache: reject access to files with nearline QoS
- 2423686780
- pool manager: retry request on pool up
- ae3fd77003
- [maven-release-plugin] prepare branch @{releaseLabel}
- 2de64addb2
- webdav: adding listing for files tagged by labels
- daad2ab76f
- pool: fix double decrement of hsm requests
- d0c4ad74df
- nfs: add remote quota protocol support
- 4b7dbd4f28
- pool: add network traffic flow markers
- fb734fb6c6
- pool: don’t treat InterruptedIOException as a disk IO error
- f745948d53
- pool: skip internal repository check if external command provided
- 4d7e0de505
- qos: make database name configurable
- 84c3d0be26
- ci: split container image registry and repository
- 4a9305c028
- pool: remove fault-injection in dcap mover
- 17b79d521b
- pool: add property to specity IP addresses exposed to NFS clients
- d3dbba97bc
- dcache-vehicles: remove obsolete comments
- 9954491560
- logback: suppress zookeeper warnings
- e1e086ea60
- ci: use latest helm chart for postgresql
- d350f45c8d
- Revert “Create dependabot.yml”
- a212817054
- Create dependabot.yml
- cfeed0cc3c
- migration: provide default copy behavior per #7623
- be9d1c7ff5
- pool: update
sweeper purge
command to accept option storage class - 7b2f1a34a8
- cells: update CellStub#send to return CompletableFuture
- 2400de1d01
- scripts: accept java 17–21
- 6885af34b1
- libs: update aspectj to java–21 compatible version
- 6381cc6568
- ci: run spotbugs only on master branch
- f260a34c50
- poolgroup: error code update
- c2406da578
- ci: tests to verify a successful migration request
- b6a528ca20
- poolmanager: cancel stage when restore is canceled
- f1ba73bc3c
- ci:workaround oidc-agent bug
- 92e1c67ec3
- ci: print oidc agent stats
- 561e3bf2b0
- pool: include source pool name into
pp ls output
- ebae424a0d
- libs: use nfs4j–0.26.0
- c165794462
- ci: split current/old dcache deployments
- d99c031355
- bulk: fix broken command
activities
- d84682eb5a
- Corrected a few typos
- a0ba728fa8
- ci: add keycloack and dummy token test
- 83297e934e
- gplazma: multimap fix op regression
- 6fe3676e57
- ci: use llm to generate release notes
- d74fd8a8af
- ci: add minio s3 as tape
- 45a6cc15ec
- bulk: check targets for empty strings
- 345edefb8c
- gitlab: trigger mirroring on pull_request
- d981ebc160
- nearline-storage: allow retrying of request cancelation
- bb836bef2d
- gplazma2-oidc-te: fix invalid initialization of plugin
- 12c8fef0f4
- github: add action for atumatic github-release
- 09919b7750
- ci: verify file location and migration p2p
- d4c2c75d73
- maven: ensure that we have unique file names to conflicting jars
- 60292c7687
- http-old: use common CSS for pool manager configuration section
- 8ea0efc76e
- namespace: skip files/directories from listings on bad storageinfo
- 25412a1c0e
- docs: clarify OIDC provider ID and issue claim
- 494063afbc
- build(deps): bump org.webjars:swagger-ui from 3.1.7 to 3.23.11
- ad395dd2f5
- github: pull gitlab CI pipeline status every 60s
- 10abac183b
- gplazma alise initial version of plugin
- ef2dc1e0e5
- common: add issuer URI to OAuthProviderPrincipal
- 3cdddc0d01
- ci: use installed packages dependencies to detect duplicates
- 7ba5b8fffd
- libs: drop XACML leftover dependency saxon:saxon
- d6cb3f15f2
- ci: update webdaav-door path to run in kubernetes
- 2ad55888ef
- ci: option means allow_failure: true :)
- 2dde22eb22
- ci: add optional (for now) test to catch multiple versions of dependencies
- 12a86d520f
- core: reformat pinmanager spring xml file
- 5faa6359b2
- build(deps): bump org.springframework:spring-expression
- 8fc469086e
- ci: drop CVMFS leftovers
- b1c05399ca
- gplazma-pyscript: add mapping functionality (#7639)
- d147cbcba3
- chimera: remove unused code
- 44efb5c1ac
- WLG TAPE REST API: fix handling of frontend.root in release API
- e57606532f
- test: add test case for adding and querying labels via rest api
- 591e361d2b
- Improved Pyscript Auth Module
- 7b2b3dfd10
- gplazma: add gplazma2-jython module for auth using Python (#7627)
- f7796051de
- gitlab: mirror tags
- 61a75dcea5
- frontend: change tests to use updated variables
- 82bf63868c
- qos: add tests, rename tests and clean up
- db160657c4
- qos: bad request update and additional qos target
- b772cd54a1
- gplazma2-argus: drop obsolete plugin
- 83d591f0a2
- github: change mirroring action
- 5658a7a889
- ci: use shorter k8s namespace names
- 3ada526bf4
- ci: more robust collection of billing logs
- 183e99fb88
- ci: don’t explicitly delete kafka collector
- 725b3a6523
- ci: don’t start kafka collector in interactive mode
- 94b0bb65eb
- CONTRIBUTING.md: typos, formatting fixes
- 8eee558bf4
- Add
CONTRIBUTING.md
- 29ab1b54aa
- poolmanager: enable staging by default
- 2cdef22064
- pool manager: log when stage request disallowed by partition configuration
- 3fee4baf6a
- dcache-chimera: add active pools to
info
- 6b4ebad205
- docs: describe min version ov postgresql
- df1233d40d
- ci: drop centos–7 based wn. drop cvmfs
- d8d934cf52
- ci: use ZCG for containers
- 4043dd3a35
- libs: update mina-sshd to version 2.13.1
- fb1d797962
- libs: bump zookeeper and curator versions to 3.8.4 and 5.7.0
- 0d2629a3a4
- http(old): fix generated html for pool manager
- fa8a90b80b
- pool: fix missing logging placeholder for nfs write OP
- cce2da5a98
- ci: split el9 wn initialization from s2 tests
- aea6edec50
- Reapply “Fix issue with infinite replicas when replicas > 1”
- cfcc172b3d
- ci: remove localhost property
- 7c4f2f673d
- ci: remove comment out command
- 3619ce9b9f
- ci: refactor files
- 0b72715fa3
- ci: delete unused file
- d5868b69aa
- ci: frontend test classes.
- 8b2a8e1c0c
- ci: rename test suite
- 7f2c24adff
- ci: make gitlab happy
- 8fc59673bb
- ci: make gitlab happy
- 7dd7c4358b
- ci: make gitlab happy
- 1fcad4a132
- ci: make gitlab happy
- 3ddca9abdd
- ci: renaming and commente back in
- a414f3a2bf
- ci: renaming and commente back in.
- d2dac63028
- ci: 101
- 8d0ff6ca4b
- ci: 100th time is the charm.. (for gitlab-ci just in case)
- 1806d01690
- ci: add qos tests and junit report. rename endpoints.
- 66a8eb3234
- ci: add junit report one last time again 4
- 1a2c562496
- ci: add junit report one last time again 3
- c5f774f226
- ci: add junit report one last time again 2
- 6e2e17f494
- ci: add junit report one last time again
- 87afb895b5
- ci: add junit report one last time
- 52efe7db55
- ci: add junit report one more time yet again
- aea948c922
- ci: add junit report one more time
- 99eba2c3b7
- ci: add junit report yet again
- f7f2fbbcda
- ci: add junit report again
- 2b5916229e
- ci: add junit report
- dadbc54d20
- ci: variable name change and update to test classes.
- 0d37a3ba53
- ci: comment in gitlab-ci sections
- 2ce31ab468
- ci: add flag for report.
- f1004535cd
- ci: add flag for report.
- 274b300731
- ci: replacing correct variable in poolEndpoint test
- 9efa0424e7
- ci: copy readme file to container. Add more variables. Get rid of migrationTest txt file.
- 2f5c1e2016
- Revert “Fix issue with infinite replicas when replicas > 1”
- 20d9c78e59
- ci: fix comments for qos-policy tests
- 2d7350e93d
- ci: add upload file capability and check for it. Fix other migration tests.
- 069c9388da
- ci: add qos-policy http file and variables for pool and qos-policy inside private var client.
- 986913c561
- ci: comment out value pair tests for GET request for migration endpoint
- fd9a7ef8d9
- ci: fix titles and tests for migration endpoint
- a974d8bfae
- ci: include variables
- eb6d644da7
- ci: Update name yet again
- 4a9cc4caee
- ci: Update correct name of file
- ad439bfe94
- ci: Add stage in ci for pool endpoint request to run in. Add variables, pool http file, migration yml file.
- 7ae7109f41
- github: trigger sync on PR
- 03a27be538
- nfs: add functionallity to do ls on file labels
- 9655c37c45
- [maven-release-plugin] prepare for next development iteration
- 526c419366
- ci: refactor files
- 0b68e41cb6
- ci: delete unused file
- c84ed9fc4c
- ci: frontend test classes.
- ab742aea5c
- ci: rename test suite
- fedf87976e
- ci: make gitlab happy
- d27d9e6aba
- ci: make gitlab happy
- e0534ea46a
- ci: make gitlab happy
- 29f1006ab5
- ci: make gitlab happy
- c411d312fa
- ci: renaming and commente back in
- 37e77d7ab6
- ci: renaming and commente back in.
- a5bf0749a3
- ci: 101
- 51705c90ca
- ci: 100th time is the charm.. (for gitlab-ci just in case)
- 61caee3182
- ci: add qos tests and junit report. rename endpoints.
- 9b993dc0d5
- ci: add junit report one last time again 4
- 465ab125bb
- ci: add junit report one last time again 3
- f824f720b8
- ci: add junit report one last time again 2
- e75eed331c
- ci: add junit report one last time again
- 406467ab9e
- ci: add junit report one last time
- 6ad655939d
- ci: add junit report one more time yet again
- 76051acd41
- ci: add junit report one more time
- 7ee17d93ef
- ci: add junit report yet again
- b59a8d6cc8
- ci: add junit report again
- 589d1d3ef4
- ci: add junit report
- 9d8471d6e5
- ci: variable name change and update to test classes.
- 0733143bc5
- ci: comment in gitlab-ci sections
- f73544b111
- ci: add flag for report.
- 17c1bb33ab
- ci: add flag for report.
- 959945e1c6
- ci: replacing correct variable in poolEndpoint test
- 6dd4058bf6
- ci: copy readme file to container. Add more variables. Get rid of migrationTest txt file.
- f4a5f4cc2b
- Revert “Fix issue with infinite replicas when replicas > 1”
- 0c1d688c45
- Fix issue with infinite replicas when replicas > 1
- 513157afab
- ci: fix comments for qos-policy tests
- 4e5cbf9acd
- ci: add upload file capability and check for it. Fix other migration tests.
- 42bab8322f
- ci: add qos-policy http file and variables for pool and qos-policy inside private var client.
- f740e3f27f
- ci: comment out value pair tests for GET request for migration endpoint
- a5ed3cb4a3
- ci: fix titles and tests for migration endpoint
- fcc8a53134
- ci: include variables
- 30ca379910
- ci: Update name yet again
- 8120fbb037
- ci: Update correct name of file
- e80ad235ee
- ci: Add stage in ci for pool endpoint request to run in. Add variables, pool http file, migration yml file.
(tbd as soon as the branching is done)