nginx-gateway-fabric icon indicating copy to clipboard operation
nginx-gateway-fabric copied to clipboard

If another Gateway API implementation removes NGF from statuses of resources, NGF will not immediately restore it

Open pleshakov opened this issue 1 year ago • 2 comments

If another controllers changes the status of the Gateway/HTTPRoute resource so that the information set by our Gateway is removed, our Gateway will not restore the status until the EventLoop invokes the StatusUpdater as a result of processing some other new change to a resource(s).

Corresponds to the FIXME in the StatusUpdater

pleshakov avatar Apr 05 '24 21:04 pleshakov

Is this within our realm of responsibility? If the user wants to install two Gateway API control planes in the same scope, I would expect this kind of behavior.

mpstefan avatar Apr 18 '24 20:04 mpstefan

Statuses of Gateway API resources are designed so that multiple controllers can update them independently and do not overwrite each other updates. For example, for HTTPRoute, each Controller will create its own entry and set the ControllerName to its name https://github.com/kubernetes-sigs/gateway-api/blob/6b93e6effdcbf48a4e8424e20d1152094eb4e3eb/apis/v1/shared_types.go#L454

pleshakov avatar Apr 18 '24 21:04 pleshakov