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
pkg/kubelet/cloudresource: fallback to old addresses if sync loop fails #71727
Conversation
/retest |
func TestNodeAddressesRequest(t *testing.T) { | ||
syncPeriod := 300 * time.Millisecond | ||
maxRetry := 5 | ||
func TestNodeAddressesDelay(t *testing.T) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test is flaky on master. I'm wondering if we should remove the concurrency altogether.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sync.Cond
is tricky to reason about so I strongly recommend having a good concurrent test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, left as is and added a comment about sync.Cond.
0e15007
to
b7acf1e
Compare
/retest |
1 similar comment
/retest |
func TestNodeAddressesRequest(t *testing.T) { | ||
syncPeriod := 300 * time.Millisecond | ||
maxRetry := 5 | ||
func TestNodeAddressesDelay(t *testing.T) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sync.Cond
is tricky to reason about so I strongly recommend having a good concurrent test.
/lgtm |
/retest |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: mikedanese, yujuhong The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/retest Review the full test history for this PR. Silence the bot with an |
5 similar comments
/retest Review the full test history for this PR. Silence the bot with an |
/retest Review the full test history for this PR. Silence the bot with an |
/retest Review the full test history for this PR. Silence the bot with an |
/retest Review the full test history for this PR. Silence the bot with an |
/retest Review the full test history for this PR. Silence the bot with an |
@mikedanese: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. I understand the commands that are listed here. |
I thought we removed kops from release blockers. |
/skip |
return | ||
} | ||
|
||
m.nodeAddressesErr = fmt.Errorf("failed to get node address from cloud provider: %v", err) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should m.nodeAddressesMonitor.Broadcast() be called in this case ?
If so, shouldn't m.nodeAddresses be set before returning ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this line is reached, sync failed an no prior addresses were available.
This will cause all pending NodeAddresses
calls to unblock and return this error.
@mikedanese I just realized that this could've been a simple |
@awly monitors aren't simple? :) feel free to send a PR. |
This does a bit more than the title.
/kind bug
/king sig-node