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

Automated cherry pick of #112806: test: demote service ClientIP affinity timeout tests from #112990

Conversation

dcbw
Copy link
Member

@dcbw dcbw commented Oct 11, 2022

Cherry pick of #112806 on release-1.25.

#112806: test: demote service ClientIP affinity timeout tests from

For details on the cherry pick process, see the cherry pick requests page.


During the September 29th, 2022 SIG-Network meeting we decided to
demote the two affinity timeout conformance tests. This was because:

(a) there is no documented correct behavior for these tests other than
"what kube-proxy does"
(b) even the kube-proxy behavior differs depending on the backend implementation
of iptables, IPVS, or [win]userspace (and winkernel doesn't at all)
(c) iptables uses only srcip matching, while userspace and IPVS use srcip+srcport
(d) IPVS and iptables have different minimum timeouts and we had
to hack up the test itself to make IPVS pass
(e) popular 3rd party network plugins also vary in their implementation

Our plan is to deprecate the current affinity options and re-add specific
options for various behaviors so it's clear exactly what plugins support
and which behavior (if any) we want to require for conformance in the future.

Signed-off-by: Dan Williams <dcbw@redhat.com>
@k8s-ci-robot k8s-ci-robot added this to the v1.25 milestone Oct 11, 2022
@k8s-ci-robot k8s-ci-robot added do-not-merge/cherry-pick-not-approved Indicates that a PR is not yet approved to merge into a release branch. do-not-merge/blocked-paths Indicates that a PR should not merge because it touches files in blocked paths. labels Oct 11, 2022
@k8s-ci-robot
Copy link
Contributor

@dcbw: Adding label: do-not-merge/blocked-paths because PR changes a protected file.

Reasons for blocking this PR:

[test/conformance/testdata/conformance.yaml cannot be updated on release branches.]

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.

@k8s-ci-robot
Copy link
Contributor

@dcbw: This cherry pick PR is for a release branch and has not yet been approved by Release Managers.
Adding the do-not-merge/cherry-pick-not-approved label.

To merge this cherry pick, it must first be approved (/lgtm + /approve) by the relevant OWNERS.

AFTER it has been approved by code owners, please leave the following comment on a line by itself, with no leading whitespace: /cc kubernetes/release-managers

(This command will request a cherry pick review from Release Managers and should work for all GitHub users, whether they are members of the Kubernetes GitHub organization or not.)

For details on the patch release process and schedule, see the Patch Releases page.

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.

@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/needs-kind Indicates a PR lacks a `kind/foo` label and requires one. do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. labels Oct 11, 2022
@dcbw
Copy link
Member Author

dcbw commented Oct 11, 2022

/sig network
/sig conformance
/kind cleanup
/triage accepted

@k8s-ci-robot k8s-ci-robot added the area/conformance Issues or PRs related to kubernetes conformance tests label Oct 11, 2022
@k8s-ci-robot k8s-ci-robot added area/test sig/network Categorizes an issue or PR as relevant to SIG Network. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. sig/testing Categorizes an issue or PR as relevant to SIG Testing. triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Oct 11, 2022
@k8s-ci-robot
Copy link
Contributor

@dcbw: The label(s) sig/conformance cannot be applied, because the repository doesn't have them.

In response to this:

/sig network
/sig conformance
/kind cleanup
/triage accepted

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.

@k8s-ci-robot k8s-ci-robot removed do-not-merge/needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Oct 11, 2022
@dcbw
Copy link
Member Author

dcbw commented Oct 11, 2022

@aojea @johnbelamaric @thockin @danwinship
So here's a 1.25 backport. But does #112990 (comment) indicate that it's not possible (either technically or by policy) to change existing release conformance tests?

@spiffxp
Copy link
Member

spiffxp commented Oct 22, 2022

it's not possible (either technically or by policy) to change existing release conformance tests

Correct. I followed some breadcrumbs, there's a long slack thread linked in kubernetes/test-infra#21082

Basically changing the conformance test metadata (inclusion/exclusion, name) post-release messes with the CNCF conformance certification process.

Now it's been a while since we did that, let's say maybe the technical reasons resolved... I would still be extremely conservative about changing conformance tests post-release anyway. What's the reasoning for the necessity of the backport?

@dcbw
Copy link
Member Author

dcbw commented Oct 26, 2022

@aojea wanted a ping on this one too...

@dcbw
Copy link
Member Author

dcbw commented Nov 2, 2022

@spiffxp could you elaborate on the tooling problems?

re "What's the reasoning for the necessity of the backport?" see #112806 (comment) . We've all agreed this test is bad and should be demoted, because a number of 3rd party network plugins have trouble implementing it exactly the same way that iptables/ipvs do (which don't implement it the same way either!).

I'm happy to dedicate some resources to working through the problem, I just need to know what to help with :)

@smarterclayton
Copy link
Contributor

I opened kubernetes/community#7071 to cover the change, sig-arch will review and then assuming we merge that we'll do quick round of consensus on the decision. Ultimately the definition of conformance is owned by the project, and since we have agreed to demote the tests for release N I believe it is unreasonable to hold a conformant distribution in N from being conformant in N-1 when the cause is due to an oversight.

@abhat
Copy link

abhat commented Jan 30, 2023

@hh @spiffxp the changes covering the demotion process are now merged. Can you please have another look at this PR and provide any inputs around @dcbw's comments?

@derekwaynecarr
Copy link
Member

/assign @johnbelamaric

@aojea
Copy link
Member

aojea commented Feb 2, 2023

@aojea wanted a ping on this one too...

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 2, 2023
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 03043e8b076c04e47299d418e9fe2959bc95ab51

@johnbelamaric
Copy link
Member

@Riaankl @heyste Can you answer the question regarding the conformance automation? Will this cause problems? If so, what needs to be done to fix it?

@heyste
Copy link
Member

heyste commented Feb 6, 2023

The conformance bot processes the results provided by sonobuoy which uses this list of e2e tests for each patch release of Kubernetes.

AFAIK, after the PR has merged, the sonobuoy team need to update the e2e files for 1.25 and then publish a new version of sonobuoy. I've asked for some clarification about this in the sonobuoy slack channel.

@riaankleinhans
Copy link
Contributor

@dcbw would this also be done for 1.24?
There is still submissions for 1.24 conformance PRs that is affected by it.

@abhat
Copy link

abhat commented Feb 6, 2023

@Riaankl yes indeed. #115510 is for the demotion of the test in 1.24

Thanks for the help here.

@abhat
Copy link

abhat commented Feb 8, 2023

@Riaankl @heyste any chances of getting the clarity on conformance automation soon? it will be great if we can get this and #115510 landed before the Feb 10 monthly release cut-off.

@riaankleinhans
Copy link
Contributor

@dcbw I have added this for discussion to the SIG Arch meeting agenda for tomorrow.

@riaankleinhans
Copy link
Contributor

riaankleinhans commented Feb 12, 2023

This was discussed in SIG Arch meeting. From a conformance point of this PR can be merge. The only issue the that there is no clear trigger system to enforce the updating of Sonobuoy to match.

@johnbelamaric
Copy link
Member

/approve

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 13, 2023
@xmudrii
Copy link
Member

xmudrii commented Apr 4, 2023

Pinging some folks involved with this PR, but also who are root-approvers...
@Riaankl @johnbelamaric @aojea @dims @liggitt Are we confident with this PR and do we want to remove the blocked-paths label? Same goes for #115510

@dims
Copy link
Member

dims commented Apr 4, 2023

/approve
/lgtm

ok to remove blocked-paths tags

(#112806 (comment))

Copy link
Member

@xmudrii xmudrii left a comment

Choose a reason for hiding this comment

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

For RelEng:
/lgtm
/approve

@xmudrii xmudrii added the cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. label Apr 4, 2023
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/cherry-pick-not-approved Indicates that a PR is not yet approved to merge into a release branch. label Apr 4, 2023
@xmudrii xmudrii removed the do-not-merge/blocked-paths Indicates that a PR should not merge because it touches files in blocked paths. label Apr 4, 2023
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: aojea, dcbw, dims, johnbelamaric, xmudrii

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@riaankleinhans
Copy link
Contributor

/test pull-kubernetes-e2e-gce-ubuntu-containerd

@k8s-ci-robot k8s-ci-robot merged commit 5da8c2d into kubernetes:release-1.25 Apr 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/conformance Issues or PRs related to kubernetes conformance tests area/test cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/testing Categorizes an issue or PR as relevant to SIG Testing. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet