Skip to content

Tool deployment modes#756

Merged
k-rister merged 7 commits intomasterfrom
tool-deployment-modes
Feb 27, 2026
Merged

Tool deployment modes#756
k-rister merged 7 commits intomasterfrom
tool-deployment-modes

Conversation

@k-rister
Copy link
Contributor

No description provided.

…sting on one other than the first

- previously it was assumed the profilers would be created on the
  first instance of a remote to a system

- if a profiler is created on a remote that doesn't have any other
  engines and it is not the first instance of that remote then that
  remote would not end up with any engines attached to and crash the
  endpoint

- ensure that only one profiler is specified and find which remote it
  is one and use it to avoid this bug
- the available modes are 'auto' (the default and what we currently
  have where tools are deployed everywhere), 'opt-in' (an endpoint has
  to be specifically configured to deploy the tool by "opting in"),
  'opt-out' (an endpoint can be configured to disable the tool by
  "opting out")

- when 'opt-in' or 'opt-out' are chosen a tag is specified which is
  used to identify the tool(s) that is being used or not used
k-rister and others added 4 commits February 23, 2026 18:43
- this allows tool opt-in/opt-out requests to be made at an endpoint
  wide level -- this means you can use the opt-in and opt-out
  functionality to either disable or enable a tool on all profiled
  cluster nodes
…/opt-out

- previously this was only possibly at the endpoint level which meant
  the settings affected all aspects of the endpoint.  this degree of
  control continues on as scope==endpoint

- a new level of control is being defined which is scope=engine.  in
  this mode tools can be specified as opt-in or opt-out relative to
  one or more engines.  what this means is that if a specific engine
  (<role>-<id>) is configured to opt-in to a specific tool that tool
  will be enabled on the node where that engine is provisioned,
  similarly if an engine is configured to opt-out of a tool that tool
  will not be enabled on the node where that engine is provisioned

  since this can be configured on a per-engine basis and there is the
  potential for many engines to be provisioned on many nodes there is
  going to be a fair amount of complexity in determining what the
  final tool configuration actually is.  for example, if a node ends
  up having no tools deployed on it then when need to be sure that we
  don't actually build a tool pod for that node.
Implement 'endpoint' and 'engine' scopes for tool deployment. The
'endpoint' scope applies tool opt-in/opt-out uniformly across all nodes.
The 'engine' scope allows per-engine tag control, aggregating tags by
node so each node gets its own tool list based on the engines running
on it. Nodes with no tools to deploy are skipped entirely.

Introduces determine_tools_for_node() to centralize the opt-in/opt-out
tag evaluation logic, and extends create_pod_crd() with a node_tools
parameter to filter profiler containers per node.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@k-rister k-rister marked this pull request as ready for review February 27, 2026 14:32
@k-rister k-rister requested a review from a team February 27, 2026 15:59
@k-rister k-rister merged commit daad33f into master Feb 27, 2026
846 of 875 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in Crucible Tracking Feb 27, 2026
@k-rister k-rister deleted the tool-deployment-modes branch February 27, 2026 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants