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

Operator & CRD upgrade test harness #155

Closed
2 tasks done
pmalek opened this issue Oct 19, 2023 · 1 comment
Closed
2 tasks done

Operator & CRD upgrade test harness #155

pmalek opened this issue Oct 19, 2023 · 1 comment
Assignees
Labels
area/tests migrated-from-archive Issues migrated from the archived KGO repository
Milestone

Comments

@pmalek
Copy link
Member

pmalek commented Oct 19, 2023

Problem statement

Currently operator has 1 E2E tests which tests the upgrade path

// TestDeployAndUpgradeFromLatestTagToOverride tests an upgrade path from latest
// released tag to an override version provided by environment variables.
// The reason we need and override is to not test against latest main build because
// that would not provide accurate test results because when one changes code in
// a PR, the intention is to test this very code through CI, not a prior version
// without this change.
//
// CI already has this override provided in
// https://github.com/Kong/gateway-operator/blob/0f3b726c33/.github/workflows/tests.yaml#L180-L190
// so anyone pushing changes can expect those changes to be tested in this test.
func TestDeployAndUpgradeFromLatestTagToOverride(t *testing.T) {
.

This is not comprehensive enough since it only tests "latest tag" to current version upgrade path and it doesn't test CRD upgrades (is installing new version of CRDs safe and non-breaking?).

This issue tracks the effort of adding a new test suite which will test operator upgrades.
For example it could test upgrades from a known, predefined list of tags to a a known, predefined list of tags. Additionally this suite would also test installing new CRD versions so that those do not bring breakage.

Acceptance criteria

  • New testing harness is added which tests upgrades from known operators tags to known operator tags, using a way of deployment closest to the one used by the end users.
  • As a developer I can be sure that the changes I introduce will not break during upgrades from an older version to the version I'm developping.
@pmalek pmalek self-assigned this Apr 15, 2024
@pmalek pmalek transferred this issue from another repository Apr 15, 2024
@pmalek pmalek added the migrated-from-archive Issues migrated from the archived KGO repository label Apr 15, 2024
@czeslavo czeslavo transferred this issue from another repository Apr 23, 2024
@pmalek pmalek added this to the KGO v1.3.x milestone Apr 23, 2024
@pmalek
Copy link
Member Author

pmalek commented May 13, 2024

Merging of those PRs will conclude this issue. Further development of upgrade tests using helm can be tracked in separate issues and PRs.

@pmalek pmalek closed this as completed May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/tests migrated-from-archive Issues migrated from the archived KGO repository
Projects
None yet
Development

No branches or pull requests

2 participants