You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Give each part of a network interface's status one clear owner #891
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.
Activity