Project

General

Profile

Actions

Feature #23317

closed

Diagnostics container should only run with -internal-client when LocalKeepBlobBuffersPerVCPU > 0

Added by Brett Smith 4 months ago. Updated about 2 months ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Crunch
Target version:
Story points:
-
Release relationship:
Auto

Description

When arvados-client diagnostics builds its own container image, it runs the container with -internal-client unconditionally. However, if compute nodes run their own keepstore service, there is no need for compute containers to be considered internal clients. arvados-client diagnostics should check the cluster configuration and only add -internal-client to the command when LocalKeepBlobBuffersPerVCPU == 0. See #23244#note-7.


Subtasks 1 (1 open0 closed)

Task #23321: Review 23317-internal-client-checkIn ProgressTom Clegg11/20/2025Actions
Actions #2

Updated by Tom Clegg 4 months ago

  • Target version changed from Development 2025-12-10 to Development 2025-11-26
  • Assigned To set to Tom Clegg
  • Status changed from New to In Progress
Actions #3

Updated by Tom Clegg 4 months ago

The LocalKeepBlobBuffersPerVCPU config is not exported, so (unless we change that) we can't use that directly to decide what to check.

But we can check presence/absence of the ARVADOS_KEEP_SERVICES environment variable in the container. This is actually more direct: that env var is how clients decide whether to ask controller for the list of keep services, which is the thing that relies on internal client detection.

Tested on tordo.

New -check-container flag comes with a log message to reveal whether/why internal client detection is being checked.

example tordo-xvhdp-ef7j5lgegd3y5gd

2025-11-20T17:59:37.977435590Z level=info msg=" 60: checking internal/external client detection" 
2025-11-20T17:59:38.000439681Z level=info msg=" ... controller returned only non-proxy services, this host is treated as \"internal\"" 
2025-11-20T17:59:38.000449092Z level=info msg=" ... ARVADOS_KEEP_SERVICES is set, container connectivity does not rely on being treated as \"internal\"" 

23317-internal-client-check @ c83fb143e3852a410130f138bf17322333eb5f0c -- developer-run-tests: #4953

Actions #4

Updated by Tom Clegg 4 months ago

  • Subtask #23321 added
Actions #5

Updated by Brett Smith 4 months ago

Tom Clegg wrote in #note-3:

23317-internal-client-check @ c83fb143e3852a410130f138bf17322333eb5f0c -- developer-run-tests: #4953

Assuming tests pass this LGTM. Thanks for explaining the implementation change, that makes sense and works for me.

Actions #6

Updated by Tom Clegg 4 months ago

  • Status changed from In Progress to Resolved
Actions #7

Updated by Brett Smith about 2 months ago

  • Release set to 84
Actions

Also available in: Atom PDF