-
Notifications
You must be signed in to change notification settings - Fork 2
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
Research how a network interface could be removed from loadbalancing without changing user-facing onmetal objects (LB/machine) #42
Comments
Update from today meeting
something like this:
[Monday 14:31] Stößel, Manuel Hi Kapil, I don't think you really need point 1, you already have a machineref in the networkinterfacespec as we saw in the code. If that's used, every controller can just look up the status of the referenced machine itself. I don't think we need to copy a machineref plus machine status to the networkinterface status. But maybe I didn't completely understood what your reasons were for that. #point 1 is not needed
|
Implementation is done: https://github.com/onmetal/onmetal-api/compare/feature/lb_health_check?expand=1 waiting for lab access to onmetal-api cluster |
Greetings, |
@LanDeleih, I need to access to the test lab so that I can deploy change to onmetal-api cluster, controller to be deployed. |
Hello. |
@LanDeleih it is not the right repo actually, as per our recent discussion I think this issue will be moved to dp-service. Is possible to change repo now ? I tried but I could not do that. |
This is not dp-service related. Please talk to me first before moving issues to dp-service. @LanDeleih @KapilYadava |
As discussed with @KapilYadava, removing of LBs is already supported in dp-service. It is on the orchestration to actually do it based on health checks. One possible solution is to implement it in metalbond with a tiny change to metalnet, but that is not something that can be decided in this (dp-service) project. |
Had discussion today with onmetal-api and virtualization team
Further discussion
Solution:
Watches( &source.Kind{Type: &computev1alpha1.Machine{}}, handler.Funcs{ UpdateFunc: func(event event.UpdateEvent, queue workqueue.RateLimitingInterface) { machine := event.ObjectNew.(*computev1alpha1.Machine) for _, nic := range machine.Spec.NetworkInterfaces { queue.Add(ctrl.Request{NamespacedName: types.NamespacedName{Name: nic.Name}}) } } }, }, ).
The text was updated successfully, but these errors were encountered: