Skip to content

[rss] Cope with configuration mismatch #724

@smklein

Description

@smklein

Note: This issue tracks follow-up work from #686

RSS configuration, as implemented, causes a number of datasets and services to be implemented on specific sleds. This configuration is read from a config file and transmitted to each sled.

On a "real rack", we expect the RSS to be driven with an operator-in-the-loop. Under testing conditions, however, it is convenient to automatically deploy this configuration throughout the rack. To cope with this, we:

  • Parse a requested configuration file
  • Apply the configuration to a number of sleds
  • Record the configuration we just applied

This way, on subsequent boots of the system:

  1. If the configuration was already applied, it does not need to be re-applied
  2. If the configuration changes, we can detect this has happened

If we find the configuration mismatch (bullet 2), we currently throw an error, requesting a manual re-installation of the system. This was chosen for the sake of simplicity; we plausibly could cause the system to migrate from the old configuration to the new configuration by removing all Oxide datasets, and redeploying them all.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bootstrap servicesFor those occasions where you want the rack to turn on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions