-
Notifications
You must be signed in to change notification settings - Fork 114
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
Bug 1900989: Move idle check from endpoints to service #225
Bug 1900989: Move idle check from endpoints to service #225
Conversation
/hold |
@frobware: This pull request references Bugzilla bug 1900989, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker. 3 validation(s) were run on this bug
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. |
/test e2e-upgrade |
/test images |
@frobware: The following test failed, say
Full PR test history. Your PR dashboard. 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. |
/retest |
Is it at all possible to have |
This was my first thought too. And this is how I initially implemented it. But it turns out that the endpointslice is managed by the endpoints/endpointslice mirroring service so although you can annotate the endpointslice and, with good luck/timing you do see that delivered, it is soon overwritten by the mirroring service. I got caught out when testing this because the first few times it worked (as in I received and endpointslice with the expected annotation) but sometimes I was stepping through the behaviour in the debugger and I noticed that sometimes the annotation had disappeared. |
We may be better off carrying kubernetes/kubernetes#98116 |
|
/hold |
/cc |
25378d0
to
5d6ea11
Compare
@frobware: This pull request references Bugzilla bug 1900989, which is valid. 3 validation(s) were run on this bug
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. |
5d6ea11
to
85160a4
Compare
/hold cancel |
We're now annotating the service; see openshift/oc#720 |
svcSubset := kapi.EndpointSubset{ | ||
Addresses: []kapi.EndpointAddress{ | ||
{ | ||
IP: service.Spec.ClusterIP, |
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.
just FYI, with dual stack this will be an slice service.Spec.ClusterIPs
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.
Spoke with @frobware, we can address this in a follow-up
for i := range subsets { | ||
if len(subsets[i].Addresses) > 0 { |
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.
for i := range subsets { | |
if len(subsets[i].Addresses) > 0 { | |
for _, subset := range subsets { | |
if len(subset.Addresses) > 0 { |
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.
Why bother with the copy? It's not zero cost vis-a-vis accessing via the index.
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.
Consistency, I guess. But you do bring up a point about the copy, so I don't feel strongly enough to contend.
As we have moved to endpointslices we now check the service for the idled annotation. `oc idle` has been updated to annotate the service.
b873ba1
to
3b24611
Compare
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: frobware, sgreene570 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 Please review the full test history for this PR and help us cut down flakes. |
1 similar comment
/retest Please review the full test history for this PR and help us cut down flakes. |
@frobware: Some pull requests linked via external trackers have merged: The following pull requests linked via external trackers have not merged:
These pull request must merge or be unlinked from the Bugzilla bug in order for it to move to the next state. Once unlinked, request a bug refresh with Bugzilla bug 1900989 has not been moved to the MODIFIED state. 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. |
The router (in 4.7) has moved to using endpointslices. Rather than annotating both endpoints and endpointslices oc/idle will now annotate the service associated with the endpoints. Similarly unidling now needs to remove those idle annotations from the service. - openshift/oc#720 - openshift/router#225
oc/idle is now updating the service in addition to the endpoints when idling. Related PRs: - openshift/openshift-controller-manager#165 - openshift/oc#720 - openshift/router#225 - openshift/sdn#252
oc/idle will now additionally annotate the service. The test explicitly deletes it so removing that call so that we can verify the following PRs, all related to annotating the service when idling. - openshift/oc#720 - openshift/router#225 - openshift/sdn#252 - openshift/openshift-apiserver#180 - openshift/openshift-controller-manager#165
oc/idle is now updating the service in addition to the endpoints when idling. Related PRs: - openshift/openshift-controller-manager#165 - openshift/oc#720 - openshift/router#225 - openshift/sdn#252
The router (in 4.7) has moved to using endpointslices. Rather than annotating both endpoints and endpointslices oc/idle will now annotate the service associated with the endpoints. Similarly unidling now needs to remove those idle annotations from the service. - openshift/oc#720 - openshift/router#225
/cherry-pick release-4.6 |
@frobware: new pull request created: #253 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. |
As we have moved to endpointslices we now check the service for the
idled annotation.
oc idle
has been updated to annotate the service.Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1900989