solo-io / gloo

The Feature-rich, Kubernetes-native, Next-Generation API Gateway Built on Envoy

Home Page:https://docs.solo.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gloo Edge resource statuses not updated when fixing "missing Upstream".

DuncanDoyle opened this issue · comments

Gloo Edge Product

Enterprise

Gloo Edge Version

1.16.5

Kubernetes Version

1.26.12

Describe the bug

When I remove an Upstream from the platform, the "Route Warning: InvalidDestinationWarning. Reason:*v1.Upstream { gloo-system.httpbin2-8000 } not found" warning is printed in the VirtualService (and all other VirtualServices and RouteTables in the system for that matter) and the service is no longer accessible.

When I then reapply the Upstream, the service becomes accessible again. However, the statuses of the Gloo VirtualServices, RouteTables and Gateway keep printing the aforementioned "warning", even though the system is back in a correct state.

When you now apply a completely unrelated change to one of these resources, for example applying a label to a completely unrelated RouteTable, the statuses of all the aforementioned resources are updated and now correctly reflect the state of the system.

This kind of behaviour makes it pretty hard to debug a system when things go wrong, and to get the status of the overall system back to the correct state after applying a fix.

Expected Behavior

The status of the full system is correctly reflected in the GE CR "status" fields after fixing a given problem.

Steps to reproduce the bug

Full reproducer here: https://github.com/DuncanDoyle/ge-status-test

Additional Environment Detail

No response

Additional Context

No response