Skip to content

retire "services" table #4947

@davepacheco

Description

@davepacheco

The services table stores information about Omicron zones deployed by RSS. I think the intent was so that Nexus would know what was supposed to exist so that over time it could reconfigure the set of zones deployed. Unfortunately, we discovered this table doesn't have enough information to fully specify these zones so it cannot be used (by itself) to describe either what zones do exist nor what zones should exist. But fortunately we've already addressed this problem:

  • A fuller specification of each Omicron zone is fetched from each sled agent as part of the inventory process. This allows Nexus to know what zones are actually out there (as of some particular collection).
  • Blueprints include this same representation of Omicron zones. This allows Nexus to know what zones are supposed to be out there.
  • We use this representation in sled agent's PUT /omicron-zones API so we know it's sufficient to fully specify these zones.
  • I think we've built enough of a blueprint planner to have some confidence that the overall representation works to evolve the set of deployed zones.

Given that, I think we can just drop the services table altogether. There is only one thing that uses it as far as I know, and that's DNS propagation. After #4889, we should be free to drop this table altogether.

CC @smklein does this sound reasonable?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions