Skip to content

Version skew testing #519

Open
Open
@tallclair

Description

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

Metadata

Assignees

Labels

triage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions