Skip to content

Conversation

benjirewis
Copy link
Member

@benjirewis benjirewis commented Sep 26, 2025

RSDK-11248

Disables restart checking logic (to be added to agent with viamrobotics/agent#153) when viam-agent is running viam-server and sets a particular environment variable. Updates the restart_status endpoint to consistently report does_not_handle_needs_restart: true in the served JSON (to be used by agent to determine whether the running viam-server is new enough to not handle restart checking logic).

@viambot viambot added the safe to test This pull request is marked safe to test from a trusted zone label Sep 26, 2025
@benjirewis benjirewis requested review from cheukt and jmatth September 29, 2025 15:59
@benjirewis benjirewis marked this pull request as ready for review September 29, 2025 15:59
// NOTE(benjirewis): In RSDK-11248, we removed the restart checking logic from
// viam-server and put it in viam-agent. This method used to set a flag used by restart
// checking logic, but since that no longer exists and we have no users of this droid
// code, we no longer support this method.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @abe-winter since we discussed this offline.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sgtm!

Copy link
Member

@jmatth jmatth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember you mentioned one of the cases we had to consider was a newer server running under an older agent that doesn't support restarts. From the looks of this we decided not to support that case? That seems totally reasonable, and if so then LGTM.

@benjirewis
Copy link
Member Author

From the looks of this we decided not to support that case?

Correct; see this comment on the agent PR.

@viambot viambot added safe to test This pull request is marked safe to test from a trusted zone and removed safe to test This pull request is marked safe to test from a trusted zone labels Sep 30, 2025
@viambot viambot added safe to test This pull request is marked safe to test from a trusted zone and removed safe to test This pull request is marked safe to test from a trusted zone labels Sep 30, 2025
//
// TODO(RSDK-12057): Remove sensitivity to this environment variable once we fully
// remove all NeedsRestart checking logic from viam-server.
ViamAgentHandlesNeedsRestartChecking = "VIAM_AGENT_HANDLES_NEEDS_RESTART_CHECKING"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We now continue to handle checking NeedsRestart in a background goroutine in the server if VIAM_AGENT_HANDLES_NEEDS_RESTART_CHECKING is unset (newer versions of agent will set it unconditionally when launching viam-server). It was determined offline that we do want to support old-agent/new-server setups for a while, and eventually completely remove needs restart checking functionality from the rdk with RSDK-12057.

Thanks to @jmatth for the env var idea 🎉 .

func DroidStopHook() { //nolint:revive
server.ForceRestart = true
// We have no users of this droid code, so we no longer support this method.
logger.Error("DroidStopHook is no longer supported")
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@abe-winter we're not actually removing needs restart checking functionality from viam-server yet, but we will in RSDK-12057. So I don't get confused later, I'm still going to remove the ForceRestart flag and its setting above now if that SGTY.

@benjirewis benjirewis changed the title RSDK-11248 Remove restart checking logic and update restart_status endpoint RSDK-11248 Disable restart checking logic with new agents and update restart_status endpoint Sep 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
safe to test This pull request is marked safe to test from a trusted zone
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants