Skip to content
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

[sled agent] Figure out how to store/manage Service Bundles #1599

Closed
3 tasks
Tracked by #1600
smklein opened this issue Aug 16, 2022 · 3 comments · Fixed by #6782
Closed
3 tasks
Tracked by #1600

[sled agent] Figure out how to store/manage Service Bundles #1599

smklein opened this issue Aug 16, 2022 · 3 comments · Fixed by #6782
Assignees
Labels
Debugging For when you want better data in debugging an issue (log messages, post mortem debugging, and more)
Milestone

Comments

@smklein
Copy link
Collaborator

smklein commented Aug 16, 2022

#1598 proposes extracting service bundles from zones, and putting them somewhere in the global zone.

Service bundles would presumably include log files, and they'd take up disk space, which is a finite resource.

This issue tracks coming up with a design for:

  • Determining where to store these bundles
  • Determining how to apply backpressure when they consume excessive disk space
  • Determining how to extract the bundles off-device + make them useful for inspection
@smklein smklein added the Sled Agent Related to the Per-Sled Configuration and Management label Aug 16, 2022
@smklein
Copy link
Collaborator Author

smklein commented Oct 28, 2022

As discussed in the 10/28 Control Plane Huddle, it would be nice if this storage mechanism could also store coreadm dumps too

@leftwo
Copy link
Contributor

leftwo commented Oct 28, 2022

Specifically we need configuration and storage of both core files, and kernel dumps (coreadm and dumpadm)
Both of these are dynamic, in that the location where things will be stored is on an SSD that could be removed or fail.
The configuration will need to be updated to reflect whatever new location is decided on.

@jclulow
Copy link
Collaborator

jclulow commented Oct 28, 2022

Note that in the kernel crash dump case, we probably don't need to update the dump save location like we do with coreadm. There is at most one crash dump per OS boot (if the OS crashed again we overwrite the dump device in place), which we can save at an explicit moment with savecore(8). Once that's done we don't need to do it again until next boot.

We do need to make sure an appropriate slice on one of the M.2 devices is configured as the dump device though, via dumpadm(8), and that might change one of the devices fails while the system is up, say -- but otherwise those are not hot-pluggable.

@askfongjojo askfongjojo added Debugging For when you want better data in debugging an issue (log messages, post mortem debugging, and more) and removed Sled Agent Related to the Per-Sled Configuration and Management labels Jan 2, 2024
@morlandi7 morlandi7 modified the milestones: 7, 8 Mar 8, 2024
@askfongjojo askfongjojo modified the milestones: 8, 9 May 7, 2024
@morlandi7 morlandi7 modified the milestones: 9, 10 Jun 27, 2024
@askfongjojo askfongjojo modified the milestones: 10, 11 Aug 22, 2024
@morlandi7 morlandi7 modified the milestones: 11, 12 Oct 11, 2024
smklein added a commit that referenced this issue Nov 21, 2024
This library is used as a part of
#1599 , I'm pulling it
out of #6782 to help make
the diff smaller.

This PR adds a `range-requests` crate for dropshot-based range requests.

Heavily inspired by @jclulow 's work in
https://github.com/oxidecomputer/buildomat/blob/main/download/src/lib.rs
@morlandi7 morlandi7 modified the milestones: 12, 13 Nov 22, 2024
smklein added a commit that referenced this issue Nov 25, 2024
This PR implements raw bundle storage for support bundles.

In the future, I expect that Nexus will invoke these APIs to store and
later access portions of storage bundles.

- Provides an API to create, list, query, and delete support bundles
- Implements range request support for these APIs

Fixes #1599
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Debugging For when you want better data in debugging an issue (log messages, post mortem debugging, and more)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants