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

Version skew testing #519

Open
1 of 6 tasks
tallclair opened this issue Aug 30, 2023 · 3 comments
Open
1 of 6 tasks

Version skew testing #519

tallclair opened this issue Aug 30, 2023 · 3 comments
Assignees
Labels
triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@tallclair
Copy link
Contributor

tallclair commented Aug 30, 2023

As we make changes to Konnectivity, it is important that the newer components remain compatible with older components so that the system continues to function during upgrades and other version skew scenarios. However, we currently have no visibility into this. We should add tests that run against skewed versions.

Specifically, we need to test version skew across client/server, and agent/server. I propose we update the tests in the tests directory to run against skewed versions.

Implementation steps:

  • 1. Refactor integration tests to prepare for proxy-server & agent skew testing #520
  • 2. Implement External{ProxyServer,Agent}Runner, which takes an external binary to run for the server/agent, and accesses the measurements through prometheus metrics. Expose test flags to select a binary (or the in-tree version).
  • 3. Implement a version_skew_test script that handles fetching target tagged versions, compiling, and running the tests.
  • 4. Set up CI jobs for skew testing
  • 5. Refactor client operations to enable external client testing via the test-client binary.
  • 6. Implement ExternalClient, update version_skew_test to run tests with the external client

/assign

@jkh52
Copy link
Contributor

jkh52 commented Jan 11, 2024

#553 (github actions using kind) could be an approach here for how to specify the versions under test. (Similar to that, but use real container image registry + version tags).

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 10, 2024
@tallclair
Copy link
Contributor Author

/triage accepted
/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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