Project

General

Profile

Actions

Feature #21773

open

keep-web and keepproxy should use Services.Keepstore.InternalURLs configs directly instead of requesting /arvados/v1/keep_services/accessible

Added by Tom Clegg about 2 months ago. Updated 1 day ago.

Status:
In Progress
Priority:
Normal
Assigned To:
Category:
Keep
Story points:
-
Release:
Release relationship:
Auto

Description

Background:

Currently sdk/go/keepclient polls the /arvados/v1/keep_services/accessible endpoint (which controller proxies through to railsapi) to find keepstore endpoints.

When the client is configured using environment variables, ARVADOS_KEEP_SERVICES can be used to override discovery. However, when the client is configured using /etc/arvados/config.yml, ARVADOS_KEEP_SERVICES is ignored.

This makes it unnecessarily awkward to override only (for example) keep-web's upstream keepstore services for testing/troubleshooting purposes: in order for keep-web to use alternate backends, one would need to also run a controller+railsapi pair using the altered config.

Proposed change:

System services that act as keep clients (i.e., Go programs that use arvados.NewClientFromConfig()) should obey the ARVADOS_KEEP_SERVICES environment variable if set, otherwise use Services.Keepstore.InternalURLs from the config file.

They could also periodically (once an hour?) check the discovery endpoint and log a warning if it doesn't match. OTOH this might be redundant with the existing config-sync approach (system services report in-use config file checksums via metrics, and healthcheck reports if they aren't all equal).


Files


Subtasks 1 (1 open0 closed)

Task #21822: ReviewNewLucas Di PentimaActions
Actions #1

Updated by Tom Clegg about 2 months ago

21773-keep-service-discovery @ 38051951da96557240fa64ffffe33a992f49d46d -- developer-run-tests: #4218

  • Allow ARVADOS_KEEP_SERVICES environment variable to override service discovery in server context.
Actions #2

Updated by Peter Amstutz about 1 month ago

  • Target version changed from Development 2024-05-22 sprint to Development 2024-06-05 sprint
Actions #3

Updated by Peter Amstutz about 1 month ago

  • Target version changed from Development 2024-06-05 sprint to Development 2024-07-03 sprint
Actions #4

Updated by Peter Amstutz 13 days ago

  • Target version changed from Development 2024-07-03 sprint to Development 2024-07-24 sprint
Actions #5

Updated by Peter Amstutz 1 day ago

  • Target version changed from Development 2024-07-24 sprint to Development 2024-08-07 sprint
Actions

Also available in: Atom PDF