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

CCM does not update the exiting virtual service if the port name is updated in the service #336

Open
viveksyngh opened this issue Jan 24, 2024 · 5 comments
Labels
bug Something isn't working

Comments

@viveksyngh
Copy link
Member

Describe the bug

CCM does not update the exiting virtual service if the port name is updated in the LoadBalancer service. It reports error saying there is existing virtual service with same IP and port combination.

Reproduction steps

  1. Create a service type of load balancer with multiple ports
  2. Wait for virtual service to get created for each port
  3. Update one of the port name
    ...

Expected behavior

It should update the existing virtual service or delete existing virtual first and then create a new one.

Additional context

No response

@viveksyngh viveksyngh added the bug Something isn't working label Jan 24, 2024
@arunmk
Copy link
Collaborator

arunmk commented Jan 24, 2024

@viveksyngh the issue we have is that, when a name is changed, we do not see it as a rename operation because we do not get an old name. We just get a new name with the same port, and we try to reconcile it.

I will check with the cloud-provider sig about how they usually handle these cases. Maybe the older name can be inferred from soma last applied configuration or so.

@viveksyngh
Copy link
Member Author

Looks like we have same issue when we remove a port from the list of ports from virtual service.

@luisdavim
Copy link

I've seen that when we try to remove a port from a LB service the reconciliation of that service gets stuck until we manually delete the corresponding VirtualService and Pool from VCD......

@viveksyngh
Copy link
Member Author

@arunmk Let us know if you need help. This is becoming a recurring issue for us and we would like to fix this as soon as possible.

We can may be used for some mapping in the annotation of the service to figure out the difference or

we should have some way to select all virtual ports services for a service and then figure out the diff. We can implement this in controller for load balancer if VCD has API to list all virtual services for a kubernetes service.

@arunmk
Copy link
Collaborator

arunmk commented Feb 26, 2024

@viveksyngh can we get a bugzilla also going on for this so that we can prioritize.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants