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

Compatibility Versions E2E tests failing for v1.33 with "emulation version 1.31 is not between [1.32, 1.33.0-alpha.0.1+0e1abc4d18e353]" #129060

Open
aaron-prindle opened this issue Dec 2, 2024 · 4 comments
Assignees
Labels
kind/bug Categorizes issue or PR as related to a bug. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@aaron-prindle
Copy link
Contributor

What happened?

Currently the Compatibility Versions E2E tests are failing when run against v1.33 with the below error:

> 2024-11-27T02:30:24.881212795Z stderr F E1127 02:30:24.881143       1 run.go:72] "command failed" err="emulation version 1.31 is not between [1.32, 1.33.0-alpha.0.1+0e1abc4d18e353]"

This test is catching a bug where currently it seems that there is some logic in k8s with the validation for --emulated-version where it is not allowing n-2 versions even though Compatibility Versions supports up to n-3

Related kube-apiserver logs link:
https://storage.googleapis.com/kubernetes-ci-logs/logs/ci-kubernetes-e2e-kind-compatibility-versions/1861594576398061568/artifacts/kind-control-plane/containers/kube-apiserver-kind-control-plane_kube-system_kube-apiserver-842342e203722dea42f37c832c5b10193a08bca734ad290c3a1ee3c32921e560.log

Associated TestGrid Alert Information Below + Additional Links:
New TestGrid alerts at sig-testing-kind#compatibility-version-test since commit/0e1abc4d1.

Found 1 failing rows in compatibility-version-test: 1 new, 0 other 1 new Test Failures in compatibility-version-test.
Test ci-kubernetes-e2e-kind-compatibility-versions.Overall has failed 3 times since it last passed at commit/8770bd58d. It started failing between commit/8770bd58d (Tue Nov 26 12:16 PST) and commit/0e1abc4d1 (Tue Nov 26 18:16 PST): .

TestGrid Link: https://testgrid.k8s.io/sig-testing-kind#compatibility-version-test

Prow CI Link For First Failing Test:
https://prow.k8s.io/view/gs/kubernetes-ci-logs/logs/ci-kubernetes-e2e-kind-compatibility-versions/1861594576398061568a

Commits that caused test breakage:
8770bd5...0e1abc4
^ this is associated with creating a new git tag for the v1.32 RC which modifies the k8s version output by git describe/hack/print-workspace-status.sh. Eg: master is now v1.33.0-alpha.0.1+0e1abc4d18e353 with this commit

What did you expect to happen?

K8s v1.33 should work with --emulated-version=1.31

How can we reproduce it (as minimally and precisely as possible)?

See test-grid test above. I am not sure why but this doesn't repro locally using hack/local-up-cluster.sh (perhaps the current version of k8s is calculated differently using this script?)

Anything else we need to know?

/assign
/sig api-machinery

Kubernetes version

$ kubectl version
# paste output here

Cloud provider

OS version

# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here

# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here

Install tools

Container runtime (CRI) and version (if applicable)

Related plugins (CNI, CSI, ...) and versions (if applicable)

@aaron-prindle aaron-prindle added the kind/bug Categorizes issue or PR as related to a bug. label Dec 2, 2024
@k8s-ci-robot k8s-ci-robot added sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Dec 2, 2024
@aaron-prindle
Copy link
Contributor Author

Related:
#127514

@aaron-prindle
Copy link
Contributor Author

/triage accepted

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Dec 2, 2024
@BenTheElder
Copy link
Member

This test is catching a bug where currently it seems that there is some logic in k8s with the validation for --emulated-version where it is not allowing n-2 versions even though Compatibility Versions supports up to n-3

xref: https://github.com/kubernetes/kubernetes/pull/128279/files#diff-071fe221d086c3e75d93daa166134d618ed3f90e811c651e8b582313fda12d53

If it's a sliding window, we should clamp the test based on the oldest version instead of manually patching it.

@Jefftree
Copy link
Member

fyi this should be fixed by #129208

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

4 participants