-
Notifications
You must be signed in to change notification settings - Fork 40k
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
Service controller deletes and re-adds AWS ELB listeners when it starts up #47067
Comments
@marshallbrekka There are no sig labels on this issue. Please add a sig label by: |
@kubernetes/sig-aws-misc |
@marshallbrekka: Reiterating the mentions to trigger a notification: In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/sig aws |
I should also add, this caused downtime for us, as we run a decent amount of ELB services, we were getting rate limited on the delete and create listener requests, which resulted in the listeners being deleted for a long time before they were re-added.
|
Sorry for the delay @marshallbrekka, and thank you so much for the excellent bug report. I agree with the approach, and because of the timelines I put up a PR at #47391. If you also want to submit a PR, I'll happily LGTM it though! Thanks again for finding this! |
Your PR looks good, thanks for getting a fix together so quickly! |
Automatic merge from submit-queue (batch tested with PRs 46929, 47391, 47399, 47428, 47274) AWS: Perform ELB listener comparison in case-insensitive manner Fix #47067 ```release-note AWS: Avoid spurious ELB listener recreation - ignore case when matching protocol ```
Is this a request for help?: NO
What keywords did you search in Kubernetes issues before filing this one?:
AWS, ELB
Is this a BUG REPORT or FEATURE REQUEST? (choose one): BUG REPORT
Kubernetes version (use
kubectl version
): 1.4.8 (pretty sure problem exists in master)Environment:
uname -a
): 4.9.24What happened:
The service controller deletes and re-adds the ELB listeners when it starts up (or becomes the master).
What you expected to happen:
It should only modify the listeners if they have actually changed.
How to reproduce it (as minimally and precisely as possible):
LoadBalancer
Anything else we need to know:
I believe this is caused by this for loop in the
ensureLoadBalancer
function which compares the desired listener properties to the actual listener properties.The problem is that K8 uses lowercase strings 1, 2 for the protocols, but AWS returns uppercase protocols when describing the listeners (see the two example outputs below).
I believe the simplest fix is to lowercase the protocols in the for loop when performing the comparison, which I can submit as a PR if others agree with that solution.
From AWS CLI:
From Go
elb.DescribeLoadBalancers(request)
outputs
The text was updated successfully, but these errors were encountered: