Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handling Route status when multiple controllers are involved #591

Closed
howardjohn opened this issue Mar 19, 2021 · 5 comments · Fixed by #616
Closed

Handling Route status when multiple controllers are involved #591

howardjohn opened this issue Mar 19, 2021 · 5 comments · Fixed by #616
Assignees
Labels
kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Milestone

Comments

@howardjohn
Copy link
Contributor

Consider a route that selects many different gateways from many different controllers. This may cause issues in writing the route status.

At first glance, you could have each controller only update info about gateways they own. However, this makes it hard to handle removal of Gateways. For example, if I see existing status of gateways: [a, b, c, d], and now I see the route matches gateways a and b owned by my controller, I cannot tell if c and d are gateways controlled by another controller, or if they are gateways that used to be controlled by my controller but have since been removed.

@robscott
Copy link
Member

This is a good catch! What would help with this? Maybe we need a class field in GatewayReference?

@howardjohn
Copy link
Contributor Author

@robscott I think that would reduce but not eliminate the problem. A controller can handle many classes, they could remove one of the classes and we end up with a dangling reference still?

One option would be a controller reference but that feels ugly

@robscott
Copy link
Member

Yeah, controller name feels like the safest way to avoid dangling references. It doesn't feel quite as natural as using something like GatewayClass, but it might be our best option here.

@robscott robscott added the kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. label Mar 19, 2021
@robscott robscott added this to the v0.3.0 milestone Mar 24, 2021
@stevesloka
Copy link
Contributor

I agree controllerName could work. This could also happen if the selector on the Gateway is changed, leaving a set of resources that were once selected but now are not and need the status removed from them.

@hbagdi
Copy link
Contributor

hbagdi commented Apr 23, 2021

Since Rob already has a PR out for this.
/assign @robscott

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Projects
No open projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants