Skip to content

Give each part of a network interface's status one clear owner #891

Open

Description

@scotwells

Problem

When a workload starts or stops, several components report the state of its network interface at the same time. The interface, its claim and its attachment can each be updated by up to three components, and some readiness conditions have more than one author.

That causes three problems:

  • Status is hard to trust. When an interface shows the wrong state, nothing says which component reported it.
  • Components collide. They overwrite the same records during workload startup and have to retry. The retries are harmless, but they add work at the moment a workload is waiting on its network, and they are a large part of the noise in Reconcile error floor fires on 34 production controllers #875.
  • The data plane is tied to this project. Galactic reads and writes network-services-operator's APIs directly, so it can't change or ship on its own.

Desired outcome

  • Every piece of interface status has one clear owner.
  • Galactic reports only on its own objects and has no knowledge of network-services-operator. This project reads what Galactic reports and turns it into interface and claim status.
  • Other data planes can plug in the same way.

Done when

  • Each status field and condition on interfaces, claims and attachments has one documented writer.
  • Galactic no longer depends on network-services-operator's APIs or permissions.
  • Workloads become ready at least as fast as they do today.
  • Status conflicts on these objects no longer happen in normal operation.

Related

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

    enhancementNew feature or request

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions