Currently, we envisioned list-rses feature to return all rses (entity RSE) if no rseExpression was provided and provide a subset of RSE entities if an rseExpression was provided..
This is however difficult to do because the Rucio Server's /rses endpoint returns different data structures depending on whether rseExpression filter was provided or not. https://github.com/rucio/rucio/issues/6335
Since the API layer cannot provide consistent view models, we should split the list-rses feature into two features.
list-all-rses: returns a list of all RSEs by querying /rses
list-rses: returns a subset of RSEs filtered by an rseExpression
The former will be a SingleEndpointStreamingUseCase, while the latter will be a SingleEndpointPostProcessingPipelineStreamingUseCase where the post processing pipeline will enrich the responseModel with details like deterministic, staging_area, volatile etc.
Description
Currently, we envisioned
list-rses
feature to return all rses (entityRSE
) if no rseExpression was provided and provide a subset of RSE entities if an rseExpression was provided..This is however difficult to do because the Rucio Server's
/rses
endpoint returns different data structures depending on whether rseExpression filter was provided or not. https://github.com/rucio/rucio/issues/6335Since the API layer cannot provide consistent view models, we should split the
list-rses
feature into two features./rses
rseExpression
The former will be a
SingleEndpointStreamingUseCase
, while the latter will be aSingleEndpointPostProcessingPipelineStreamingUseCase
where the post processing pipeline will enrich the responseModel with details likedeterministic
,staging_area
,volatile
etc.Motivation
No response
Change
No response
Additional Information