Skip to content

[sled-agent] Improve Error Messages! #966

@smklein

Description

@smklein

@jgallagher brought up a good point last week, that our errors in Omicron (often making use of thiserror, to merely propagate errors) lose a fair bit of context.

This issue tracks auditing error messages for the following criteria:

  • If an error is propagated, it it clear where it came from?
  • If an error is propagated, is it clear what caused it to fail?

Often, merely attaching an auxiliary "message string" is sufficient to uncover this context.

To be audited (this is serving as a checklist for me as I work through):

  • ./src/illumos/dladm.rs:pub enum Error {
  • ./src/illumos/zone.rs:pub enum Error {
  • ./src/illumos/zpool.rs:pub enum ParseError {
  • ./src/illumos/zpool.rs:pub enum Error {
  • ./src/illumos/addrobj.rs:pub enum Error {
  • ./src/illumos/running_zone.rs:pub enum Error {
  • ./src/illumos/mod.rs:pub enum ExecutionError {
  • ./src/illumos/zfs.rs:pub enum Error {
  • ./src/bootstrap/agent.rs:pub enum BootstrapError {
  • ./src/bootstrap/trust_quorum/error.rs:pub enum TrustQuorumError {
  • ./src/bootstrap/spdm/error.rs:pub enum SpdmError {
    • Ignoring intentionally; SPDM is planned to be deprecated
  • ./src/bootstrap/params.rs:pub enum SubnetError {
  • ./src/rack_setup/service.rs:pub enum SetupServiceError {
  • ./src/storage_manager.rs:pub enum Error {
  • ./src/instance.rs:pub enum Error {
  • ./src/updates.rs:pub enum Error {
  • ./src/services.rs:pub enum Error {
  • ./src/instance_manager.rs:pub enum Error {
  • ./src/config.rs:pub enum ConfigError {
  • ./src/sled_agent.rs:pub enum Error {

Metadata

Metadata

Assignees

Labels

Sled AgentRelated to the Per-Sled Configuration and Management

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions