From a913d9c799d4a153ab6f684f82c33b5ec3438ee6 Mon Sep 17 00:00:00 2001 From: Travis Raines <571832+rainest@users.noreply.github.com> Date: Wed, 27 Mar 2024 13:46:46 -0700 Subject: [PATCH] wip(e2e) use more modern Kuma setup Set the Kuma version and use a more modern addon builder. Currently uses an unreleased KTF version. --- go.mod | 2 +- go.sum | 4 ++-- test/e2e/kuma_test.go | 21 +++++++++++++++++++-- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index d2503d05ae..910e7e1e37 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( github.com/kong/deck v1.26.1 github.com/kong/go-kong v0.48.0 github.com/kong/kubernetes-telemetry v0.1.1 - github.com/kong/kubernetes-testing-framework v0.39.1 + github.com/kong/kubernetes-testing-framework v0.39.2-0.20240327202446-20b270f85f42 github.com/lithammer/dedent v1.1.0 github.com/miekg/dns v1.1.56 github.com/mitchellh/mapstructure v1.5.0 diff --git a/go.sum b/go.sum index 2721d4ad3c..e035d4c473 100644 --- a/go.sum +++ b/go.sum @@ -253,8 +253,8 @@ github.com/kong/go-kong v0.48.0 h1:vK1OpoxO50qlKdwPfmx9ChvkTKRsoCCB3b3iHo1umLc= github.com/kong/go-kong v0.48.0/go.mod h1:qH4CEFqT83ywmu1TlMZX09clQH4B8/dX88CtT/jdv/E= github.com/kong/kubernetes-telemetry v0.1.1 h1:q8iABCuonO16p5q6QVygr7J39G5o5jK5Y3w3ZlE8JC4= github.com/kong/kubernetes-telemetry v0.1.1/go.mod h1:0yzRZVPwKeOQUFMWbROEJzUE1z8WWngWiujoYtdEEPA= -github.com/kong/kubernetes-testing-framework v0.39.1 h1:30dTVe0Muda3r6NAMQHvdGLuB+nkhZRXnJA8AJjuvO4= -github.com/kong/kubernetes-testing-framework v0.39.1/go.mod h1:12TQ5gAkZhuxh47IJcW03iumky1X/T7ZCStuClQ1vzs= +github.com/kong/kubernetes-testing-framework v0.39.2-0.20240327202446-20b270f85f42 h1:mf06+/5Lvv3+OeLbjA325iOJYvX7joO7iJ0N/Z3/3rs= +github.com/kong/kubernetes-testing-framework v0.39.2-0.20240327202446-20b270f85f42/go.mod h1:12TQ5gAkZhuxh47IJcW03iumky1X/T7ZCStuClQ1vzs= github.com/kong/semver/v4 v4.0.1 h1:DIcNR8W3gfx0KabFBADPalxxsp+q/5COwIFkkhrFQ2Y= github.com/kong/semver/v4 v4.0.1/go.mod h1:LImQ0oT15pJvSns/hs2laLca2zcYoHu5EsSNY0J6/QA= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= diff --git a/test/e2e/kuma_test.go b/test/e2e/kuma_test.go index a04d035ca2..e61064e6ae 100644 --- a/test/e2e/kuma_test.go +++ b/test/e2e/kuma_test.go @@ -7,6 +7,7 @@ import ( "fmt" "testing" + "github.com/blang/semver/v4" "github.com/kong/kubernetes-testing-framework/pkg/clusters/addons/kuma" "github.com/kong/kubernetes-testing-framework/pkg/environments" "github.com/stretchr/testify/require" @@ -18,7 +19,7 @@ import ( func TestDeployAllInOneDBLESSKuma(t *testing.T) { t.Log("configuring all-in-one-dbless.yaml manifest test") t.Parallel() - ctx, env := setupE2ETest(t, kuma.New()) + ctx, env := setupE2ETest(t, buildKumaAddon(t)) t.Log("deploying kong components") manifest := getDBLessTestManifestByControllerImageEnv(t) @@ -41,7 +42,7 @@ func TestDeployAllInOnePostgresKuma(t *testing.T) { t.Log("configuring all-in-one-postgres.yaml manifest test") t.Parallel() - ctx, env := setupE2ETest(t, kuma.New()) + ctx, env := setupE2ETest(t, buildKumaAddon(t)) t.Log("deploying kong components") deployments := ManifestDeploy{Path: postgresPath}.Run(ctx, t, env) @@ -64,6 +65,22 @@ func TestDeployAllInOnePostgresKuma(t *testing.T) { verifyIngressWithEchoBackends(ctx, t, env, numberOfEchoBackends) } +// rawKumaVersion is the Kuma version used for E2E tests. This is pinned in the 2.12.x LTS branch because it does +// not have Renovate set up. +const rawKumaVersion = "2.6.2" + +// buildKumaAddon returns a Kuma addon with mTLS enabled and the version specified in the test dependencies file. +func buildKumaAddon(t *testing.T) *kuma.Addon { + kumaVersion, err := semver.Parse(rawKumaVersion) + require.NoError(t, err) + + t.Logf("Installing Kuma addon, version=%s", kumaVersion) + return kuma.NewBuilder(). + WithMTLS(). + WithVersion(kumaVersion). + Build() +} + func verifyKuma(ctx context.Context, t *testing.T, env environments.Environment) { svcClient := env.Cluster().Client().CoreV1().Services(corev1.NamespaceDefault) const svcName = "echo"