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

Weight changes for two way splits should not trigger a reload #4509

Closed
danielnginx opened this issue Oct 12, 2023 Discussed in #3741 · 1 comment
Closed

Weight changes for two way splits should not trigger a reload #4509

danielnginx opened this issue Oct 12, 2023 Discussed in #3741 · 1 comment
Assignees
Labels
backlog Pull requests/issues that are backlog items story Issues that belong to an epic
Milestone

Comments

@danielnginx
Copy link
Collaborator

danielnginx commented Oct 12, 2023

Discussed in #3741

Originally posted by brianehlert April 10, 2023
When only the weight is changed for upstreams, such as performing a blue/green or canary - NGINX Plus should not be reloaded.
This is possible through the N+ API just like dynamic upstream configuration.
This idea is described here:
https://www.nginx.com/blog/dynamic-a-b-testing-with-nginx-plus/#Using-the-Key-Value-Store-with-Split-Clients
NGINX Ingress Controller already uses Split Clients to implement the weight feature.

  • make weight changes without reloading
  • Plus exclusive feature (changes without reload)
  • NGINX OSS will still reload on weight change

This work should primarily be about using the NGINX Plus API to apply the weight changes when NGINX Plus is present.
If the deployment is using NGINX OSS then a soft reload should still be required.

This work can be split when delivered

VirtualServer docs on configuring splits: https://docs.nginx.com/nginx-ingress-controller/configuration/virtualserver-and-virtualserverroute-resources/#split

### Tasks
- [ ] https://github.com/nginxinc/kubernetes-ingress/issues/4900
- [ ] https://github.com/nginxinc/kubernetes-ingress/issues/4901
- [ ] https://github.com/nginxinc/kubernetes-ingress/issues/5049
@danielnginx danielnginx added the backlog Pull requests/issues that are backlog items label Oct 12, 2023
@danielnginx danielnginx added this to the v3.4.0 milestone Oct 12, 2023
@danielnginx danielnginx reopened this Nov 15, 2023
@shaun-nx shaun-nx self-assigned this Nov 21, 2023
@danielnginx
Copy link
Collaborator Author

Reopened as it is one of the stories to complete #4404

@danielnginx danielnginx added the story Issues that belong to an epic label Nov 21, 2023
@danielnginx danielnginx added the blocked Issues that are blocked by external factors label Nov 29, 2023
@brianehlert brianehlert modified the milestones: v3.4.0, v3.5.0 Nov 29, 2023
@danielnginx danielnginx removed the blocked Issues that are blocked by external factors label Jan 17, 2024
@j1m-ryan j1m-ryan changed the title Weight changes for backends should not trigger a reload Weight changes for two way splits should not trigger a reload Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Pull requests/issues that are backlog items story Issues that belong to an epic
Projects
None yet
Development

No branches or pull requests

4 participants