apiserver-network-proxy icon indicating copy to clipboard operation
apiserver-network-proxy copied to clipboard

Version skew testing

Open tallclair opened this issue 2 years ago • 5 comments

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:

  • [x] 1. https://github.com/kubernetes-sigs/apiserver-network-proxy/pull/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).
    • https://github.com/kubernetes-sigs/apiserver-network-proxy/pull/552
  • [ ] 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

tallclair avatar Aug 30 '23 18:08 tallclair

https://github.com/kubernetes-sigs/apiserver-network-proxy/pull/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).

jkh52 avatar Jan 11 '24 22:01 jkh52

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-triage-robot avatar Apr 10 '24 23:04 k8s-triage-robot

/triage accepted /remove-lifecycle stale

tallclair avatar Apr 24 '24 23:04 tallclair