Skip to content

Ownership records outlive the records they describe #5

Description

@ecv

Ownership records outlive the records they describe. When a record is deleted at its source, the companion record marking who owns it can be left behind, and nothing removes it afterwards.

The result accumulates. Each stranded ownership record refers to a name that no longer exists, and the only way anyone finds them is by going looking.

A related shape appeared during a recent production change. Moving ownership records to a new naming scheme rebuilt the registry under the new names and left the entire old set in place, 1,140 records, rather than migrating them. Both behaviours come down to the same thing: ownership records are written, but their removal depends on something else happening.

What needs to happen

  • Deleting a record removes its ownership record in the same operation, with no manual step and no dependency on the process restarting
  • Changing the ownership naming scheme migrates the existing records rather than duplicating them
  • An ownership record that refers to a name with no record behind it is detectable without a manual sweep

Warnings

The evidence does not yet discriminate where this goes wrong. External-dns may not be sending the deletion, or this provider may not be applying it. That is worth settling before anyone designs a fix, because the answer decides whether this is ours or upstream. Whoever picks it up should watch a single record deletion end to end rather than reasoning from the accumulated count.

The cleanup of the existing production backlog is tracked separately in https://github.com/datum-cloud/infra/issues/1770 and does not depend on this being fixed first, though the backlog will rebuild if it is not.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions