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

feat: load balancer class support #1840

Merged
merged 1 commit into from
Aug 29, 2023
Merged

Conversation

wondersd
Copy link
Contributor

What type of PR is this?

fix: fixes stuck controller when loadBalancerClass mutators exist and use of loadBalancerClass when mutators do not exist

What this PR does / why we need it:

updates EP CR to include ability to specify Service.spec.loadBalancerClass

Which issue(s) this PR fixes:

Fixes #1793

Think this includes everything. My go is not well practiced so may be off. Still working on setting up for e2e test

@wondersd wondersd requested a review from a team as a code owner August 28, 2023 14:31
@wondersd wondersd force-pushed the loadbalancerClass branch 2 times, most recently from 2c109c3 to 9d0776f Compare August 28, 2023 14:41
@wondersd wondersd changed the title load balancer class support feat: load balancer class support Aug 28, 2023
@arkodg arkodg requested a review from qicz August 28, 2023 19:03
@arkodg
Copy link
Contributor

arkodg commented Aug 28, 2023

hi @wondersd , thanks for raising a PR for this feature.
the PR looks good, but it looks like EG will have issues when a service has been created/deployed and user updates the EnvoyProxy spec with this new field, and EG will be unable to set this field since it cannot be mutated ?

@wondersd
Copy link
Contributor Author

@arkodg Yes that is correct. Assuming the user modifies it via a mutator on creation or otherwise deletes/recreates the service, the only presented option here would be to allow syncing what EG expects to reality.

It could be possible to update EG to destroy the Service to force sync this field to what EG expects. I figured this was out-of-scope and should have some more thought as it would guarantee cause downtime and would cascade into resource provisioning/de-provisioning. With just being able to alter what EG expects we can at least sync EGs exceptions with the reality.

Signed-off-by: Don Wonders <wonders.don@gmail.com>
@arkodg
Copy link
Contributor

arkodg commented Aug 28, 2023

sure, once this PR is merged, can you raise a follow up issue to handle the mutate case which will probably need a delete + create

@codecov
Copy link

codecov bot commented Aug 28, 2023

Codecov Report

Merging #1840 (633194a) into main (3999cdd) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1840      +/-   ##
==========================================
+ Coverage   65.16%   65.19%   +0.02%     
==========================================
  Files          86       86              
  Lines       12469    12472       +3     
==========================================
+ Hits         8126     8131       +5     
+ Misses       3825     3823       -2     
  Partials      518      518              
Files Changed Coverage Δ
...frastructure/kubernetes/proxy/resource_provider.go 86.39% <100.00%> (ø)
...tructure/kubernetes/ratelimit/resource_provider.go 97.20% <100.00%> (+0.03%) ⬆️
...nal/infrastructure/kubernetes/resource/resource.go 96.29% <100.00%> (+0.06%) ⬆️

... and 1 file with indirect coverage changes

Copy link
Contributor

@arkodg arkodg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM thanks !
ptal @qicz

@arkodg arkodg requested review from a team, zhaohuabing and chauhanshubham and removed request for a team August 29, 2023 01:11
@zirain zirain merged commit de2befb into envoyproxy:main Aug 29, 2023
18 checks passed
@wondersd wondersd deleted the loadbalancerClass branch August 29, 2023 13:08
nicksieger added a commit to nicksieger/gateway that referenced this pull request Oct 5, 2023
load balancer class support

Signed-off-by: Don Wonders <wonders.don@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow setting envoy proxy service spec.loadbalancerClass
3 participants