-
Notifications
You must be signed in to change notification settings - Fork 67
Implement firmware upgrade in scout #484
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6403,6 +6403,7 @@ message ScoutStreamApiBoundMessage { | |
| mlx_device.MlxDeviceConfigSyncResponse mlx_device_config_sync_response = 12; | ||
| mlx_device.MlxDeviceConfigCompareResponse mlx_device_config_compare_response = 13; | ||
| ScoutStreamAgentPingResponse scout_stream_agent_ping_response = 14; | ||
| ScoutRemoteExecResponse scout_remote_exec_response = 15; | ||
| } | ||
| } | ||
|
|
||
|
|
@@ -6432,6 +6433,7 @@ message ScoutStreamScoutBoundMessage { | |
| mlx_device.MlxDeviceConfigSyncRequest mlx_device_config_sync_request = 13; | ||
| mlx_device.MlxDeviceConfigCompareRequest mlx_device_config_compare_request = 14; | ||
| ScoutStreamAgentPingRequest scout_stream_agent_ping_request = 15; | ||
| ScoutRemoteExecRequest scout_remote_exec_request = 16; | ||
| } | ||
| } | ||
|
|
||
|
|
@@ -6493,6 +6495,30 @@ message ScoutStreamAgentPingResponse { | |
| } | ||
| } | ||
|
|
||
| // ScoutRemoteExecRequest is sent from carbide-api to the scout agent | ||
| // to download files and execute a script on the host. | ||
| message ScoutRemoteExecRequest { | ||
| string component_type = 1; | ||
| string target_version = 2; | ||
| string script_url = 3; | ||
| uint32 timeout_seconds = 4; | ||
| // Files to download before running the script. | ||
| // Keys are download URLs, values are expected SHA-256 hex checksums. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd make this a
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I like this, will add. |
||
| // Scout will verify each file after download and reject execution | ||
| // if any checksum does not match. | ||
| map<string, string> download_files = 5; | ||
| } | ||
|
|
||
| // ScoutRemoteExecResponse is the result of a scout remote execution, | ||
| // sent from scout back to carbide-api. | ||
| message ScoutRemoteExecResponse { | ||
| bool success = 1; | ||
| int32 exit_code = 2; | ||
| string stdout = 3; | ||
| string stderr = 4; | ||
| string error = 5; | ||
| } | ||
|
|
||
| // ScoutStreamConnectionInfo contains information about an | ||
| // active scout agent connection. | ||
| message ScoutStreamConnectionInfo { | ||
|
|
@@ -6696,4 +6722,4 @@ message DPFStateResponse { | |
|
|
||
| message GetDPFStateRequest { | ||
| repeated common.MachineId machine_ids = 1; | ||
| } | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a very long running request. I am not sure if it fits the "scout stream" model best.
My understanding was a bit of:
ForgeAgentControlwould be the mechanism to tell scout what to doMaybe @chet who introduced scout stream can help figuring out where it fits best.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, I thought we were moving towards the stream model because it seemed much cleaner than
ForgeAgentControl. Let's see what @chet has to say.Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey Matthias, I have created this PR with the polling approach: #590. If we go with the polling approach, I will close this PR. It also includes your other suggestions (file_artifacts, timeouts). Would appreciate your input there.