Description
Plug the read adapter (sub-issue B) into the ResourceStatus and SiteStatus singletons, gated by a feature flag so deployments can switch between the legacy RPC backend and diracx without a code change. Verify behavior end-to-end against a diracx backend.
Writes continue to go through the legacy RPC service in this phase. This wiring is deliberately temporary: once phase 3 ships the write API, it will be replaced by a standard legacy adapter.
Scope
- Route
ResourceStatus and SiteStatus read operations through the adapter from sub-issue B when the feature flag is enabled.
- Feature flag (CS toggle) to switch between the DIRAC and diracx backends at runtime.
- Interaction with the existing 300s
RSSCache on top of the adapter, and with diracx's server-side CacheableSource. The double-caching layout mirrors the current architecture and should not require changes.
- Integration tests that exercise the singletons end-to-end against a diracx backend, covering the main consumer patterns: element status for SEs / CEs / FTS, and the site queries (
getSiteStatuses, getUsableSites, getSites).
Non-goals
- No changes to the write path — writes still go to the legacy RPC service.
- No removal of the legacy RSS RPC service; that happens in phase 3.
Reference
- Phase 2 main issue (this phase)
- Sub-issue A (binary model adaptation)
- Sub-issue B (read adapter)
Acceptance criteria
Description
Plug the read adapter (sub-issue B) into the
ResourceStatusandSiteStatussingletons, gated by a feature flag so deployments can switch between the legacy RPC backend and diracx without a code change. Verify behavior end-to-end against a diracx backend.Writes continue to go through the legacy RPC service in this phase. This wiring is deliberately temporary: once phase 3 ships the write API, it will be replaced by a standard legacy adapter.
Scope
ResourceStatusandSiteStatusread operations through the adapter from sub-issue B when the feature flag is enabled.RSSCacheon top of the adapter, and with diracx's server-sideCacheableSource. The double-caching layout mirrors the current architecture and should not require changes.getSiteStatuses,getUsableSites,getSites).Non-goals
Reference
Acceptance criteria
getElementStatusfor SEs / CEs / FTS andgetSiteStatuses/getUsableSites/getSites.