From 4d415cc42ce292a99474f40f7d4c20ede3b268ed Mon Sep 17 00:00:00 2001 From: Saurabh Parekh Date: Thu, 22 Aug 2024 15:25:59 -0700 Subject: [PATCH] Add missing vSphere E2E tests --- .../buildspecs/vsphere-test-eks-a-cli.yml | 2 +- test/e2e/vsphere_test.go | 591 +++++++++++++++++- 2 files changed, 561 insertions(+), 32 deletions(-) diff --git a/cmd/integration_test/build/buildspecs/vsphere-test-eks-a-cli.yml b/cmd/integration_test/build/buildspecs/vsphere-test-eks-a-cli.yml index 2406befb455c..5c607df6c24f 100644 --- a/cmd/integration_test/build/buildspecs/vsphere-test-eks-a-cli.yml +++ b/cmd/integration_test/build/buildspecs/vsphere-test-eks-a-cli.yml @@ -2,7 +2,7 @@ version: 0.2 env: variables: - INTEGRATION_TEST_MAX_EC2_COUNT: 180 + INTEGRATION_TEST_MAX_EC2_COUNT: 200 INTEGRATION_TEST_MAX_CONCURRENT_TEST_COUNT: 80 EKSA_GIT_KNOWN_HOSTS: "/tmp/known_hosts" EKSA_GIT_PRIVATE_KEY: "/tmp/private-key" diff --git a/test/e2e/vsphere_test.go b/test/e2e/vsphere_test.go index 87da1d9d9236..6e4e5560505d 100644 --- a/test/e2e/vsphere_test.go +++ b/test/e2e/vsphere_test.go @@ -848,6 +848,20 @@ func TestVSphereKubernetes128BottleRocketCuratedPackagesClusterAutoscalerSimpleF runAutoscalerWithMetricsServerSimpleFlow(test) } +func TestVSphereKubernetes129BottleRocketRegionalCuratedPackagesClusterAutoscalerSimpleFlow(t *testing.T) { + minNodes := 1 + maxNodes := 2 + framework.CheckCuratedPackagesCredentials(t) + test := framework.NewClusterE2ETest(t, + framework.NewVSphere(t, framework.WithBottleRocket129()), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube129), api.WithWorkerNodeAutoScalingConfig(minNodes, maxNodes)), + framework.WithPackageConfig(t, packageBundleURI(v1alpha1.Kube129), + EksaPackageControllerHelmChartName, EksaPackageControllerHelmURI, + EksaPackageControllerHelmVersion, EksaPackageControllerHelmValues, nil), + ) + runAutoscalerWithMetricsServerSimpleFlow(test) +} + func TestVSphereKubernetes130BottleRocketCuratedPackagesClusterAutoscalerSimpleFlow(t *testing.T) { minNodes := 1 maxNodes := 2 @@ -862,18 +876,18 @@ func TestVSphereKubernetes130BottleRocketCuratedPackagesClusterAutoscalerSimpleF runAutoscalerWithMetricsServerSimpleFlow(test) } -func TestVSphereKubernetes129BottleRocketWorkloadClusterCuratedPackagesClusterAutoscalerUpgradeFlow(t *testing.T) { +func TestVSphereKubernetes130BottleRocketWorkloadClusterCuratedPackagesClusterAutoscalerUpgradeFlow(t *testing.T) { minNodes := 1 maxNodes := 2 framework.CheckCuratedPackagesCredentials(t) - provider := framework.NewVSphere(t, framework.WithBottleRocket129()) + provider := framework.NewVSphere(t, framework.WithBottleRocket130()) test := framework.NewMulticlusterE2ETest( t, framework.NewClusterE2ETest( t, provider, framework.WithClusterFiller( - api.WithKubernetesVersion(v1alpha1.Kube129), + api.WithKubernetesVersion(v1alpha1.Kube130), api.WithControlPlaneCount(1), api.WithWorkerNodeCount(1), api.WithExternalEtcdTopology(1), @@ -883,7 +897,7 @@ func TestVSphereKubernetes129BottleRocketWorkloadClusterCuratedPackagesClusterAu t, provider, framework.WithClusterFiller( - api.WithKubernetesVersion(v1alpha1.Kube129), + api.WithKubernetesVersion(v1alpha1.Kube130), api.WithControlPlaneCount(1), api.WithWorkerNodeCount(1), api.WithExternalEtcdTopology(1), @@ -891,7 +905,7 @@ func TestVSphereKubernetes129BottleRocketWorkloadClusterCuratedPackagesClusterAu ), framework.WithPackageConfig( t, - packageBundleURI(v1alpha1.Kube129), + packageBundleURI(v1alpha1.Kube130), EksaPackageControllerHelmChartName, EksaPackageControllerHelmURI, EksaPackageControllerHelmVersion, @@ -999,6 +1013,18 @@ func TestVSphereKubernetes128BottleRocketCuratedPackagesPrometheusSimpleFlow(t * runCuratedPackagesPrometheusInstallSimpleFlow(test) } +func TestVSphereKubernetes129BottleRocketRegionalCuratedPackagesPrometheusSimpleFlow(t *testing.T) { + framework.CheckCuratedPackagesCredentials(t) + test := framework.NewClusterE2ETest(t, + framework.NewVSphere(t, framework.WithBottleRocket129()), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube129)), + framework.WithPackageConfig(t, packageBundleURI(v1alpha1.Kube129), + EksaPackageControllerHelmChartName, EksaPackageControllerHelmURI, + EksaPackageControllerHelmVersion, EksaPackageControllerHelmValues, nil), + ) + runCuratedPackagesPrometheusInstallSimpleFlow(test) +} + func TestVSphereKubernetes130BottleRocketCuratedPackagesPrometheusSimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) test := framework.NewClusterE2ETest(t, @@ -1018,7 +1044,7 @@ func TestVSphereKubernetes126UbuntuWorkloadClusterCuratedPackagesSimpleFlow(t *t runCuratedPackageRemoteClusterInstallSimpleFlow(test) } -func TestVSphereKubernetes127UbuntuWorkloadClusterCuratedPackagesSimpleFlow(t *testing.T) { +func TestVSphereKubernetes127UbuntuWorkloadClusterRegionalCuratedPackagesSimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) provider := framework.NewVSphere(t, framework.WithUbuntu127()) test := SetupSimpleMultiCluster(t, provider, v1alpha1.Kube127) @@ -1032,7 +1058,7 @@ func TestVSphereKubernetes128UbuntuWorkloadClusterCuratedPackagesSimpleFlow(t *t runCuratedPackageRemoteClusterInstallSimpleFlow(test) } -func TestVSphereKubernetes129UbuntuWorkloadClusterCuratedPackagesSimpleFlow(t *testing.T) { +func TestVSphereKubernetes129UbuntuWorkloadClusterRegionalCuratedPackagesSimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) provider := framework.NewVSphere(t, framework.WithUbuntu129()) test := SetupSimpleMultiCluster(t, provider, v1alpha1.Kube129) @@ -1077,7 +1103,7 @@ func TestVSphereKubernetes126BottleRocketWorkloadClusterCuratedPackagesSimpleFlo runCuratedPackageRemoteClusterInstallSimpleFlow(test) } -func TestVSphereKubernetes127BottleRocketWorkloadClusterCuratedPackagesSimpleFlow(t *testing.T) { +func TestVSphereKubernetes127BottleRocketWorkloadRegionalClusterCuratedPackagesSimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) provider := framework.NewVSphere(t, framework.WithBottleRocket127()) test := SetupSimpleMultiCluster(t, provider, v1alpha1.Kube127) @@ -1091,6 +1117,13 @@ func TestVSphereKubernetes128BottleRocketWorkloadClusterCuratedPackagesSimpleFlo runCuratedPackageRemoteClusterInstallSimpleFlow(test) } +func TestVSphereKubernetes129BottleRocketWorkloadClusterRegionalCuratedPackagesSimpleFlow(t *testing.T) { + framework.CheckCuratedPackagesCredentials(t) + provider := framework.NewVSphere(t, framework.WithBottleRocket129()) + test := SetupSimpleMultiCluster(t, provider, v1alpha1.Kube129) + runCuratedPackageRemoteClusterInstallSimpleFlow(test) +} + func TestVSphereKubernetes130BottleRocketWorkloadClusterCuratedPackagesSimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) provider := framework.NewVSphere(t, framework.WithBottleRocket130()) @@ -1105,7 +1138,7 @@ func TestVSphereKubernetes126UbuntuWorkloadClusterCuratedPackagesEmissarySimpleF runCuratedPackageEmissaryRemoteClusterInstallSimpleFlow(test) } -func TestVSphereKubernetes127UbuntuWorkloadClusterCuratedPackagesEmissarySimpleFlow(t *testing.T) { +func TestVSphereKubernetes127UbuntuWorkloadClusterRegionalCuratedPackagesEmissarySimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) provider := framework.NewVSphere(t, framework.WithUbuntu127()) test := SetupSimpleMultiCluster(t, provider, v1alpha1.Kube127) @@ -1119,6 +1152,13 @@ func TestVSphereKubernetes128UbuntuWorkloadClusterCuratedPackagesEmissarySimpleF runCuratedPackageEmissaryRemoteClusterInstallSimpleFlow(test) } +func TestVSphereKubernetes129UbuntuWorkloadClusterRegionalCuratedPackagesEmissarySimpleFlow(t *testing.T) { + framework.CheckCuratedPackagesCredentials(t) + provider := framework.NewVSphere(t, framework.WithUbuntu129()) + test := SetupSimpleMultiCluster(t, provider, v1alpha1.Kube129) + runCuratedPackageEmissaryRemoteClusterInstallSimpleFlow(test) +} + func TestVSphereKubernetes130UbuntuWorkloadClusterCuratedPackagesEmissarySimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) provider := framework.NewVSphere(t, framework.WithUbuntu130()) @@ -1133,7 +1173,7 @@ func TestVSphereKubernetes126BottleRocketWorkloadClusterCuratedPackagesEmissaryS runCuratedPackageEmissaryRemoteClusterInstallSimpleFlow(test) } -func TestVSphereKubernetes127BottleRocketWorkloadClusterCuratedPackagesEmissarySimpleFlow(t *testing.T) { +func TestVSphereKubernetes127BottleRocketWorkloadClusterRegionalCuratedPackagesEmissarySimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) provider := framework.NewVSphere(t, framework.WithBottleRocket127()) test := SetupSimpleMultiCluster(t, provider, v1alpha1.Kube127) @@ -1147,6 +1187,13 @@ func TestVSphereKubernetes128BottleRocketWorkloadClusterCuratedPackagesEmissaryS runCuratedPackageEmissaryRemoteClusterInstallSimpleFlow(test) } +func TestVSphereKubernetes129BottleRocketWorkloadClusterRegionalCuratedPackagesEmissarySimpleFlow(t *testing.T) { + framework.CheckCuratedPackagesCredentials(t) + provider := framework.NewVSphere(t, framework.WithBottleRocket129()) + test := SetupSimpleMultiCluster(t, provider, v1alpha1.Kube129) + runCuratedPackageEmissaryRemoteClusterInstallSimpleFlow(test) +} + func TestVSphereKubernetes130BottleRocketWorkloadClusterCuratedPackagesEmissarySimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) provider := framework.NewVSphere(t, framework.WithBottleRocket130()) @@ -1162,7 +1209,7 @@ func TestVSphereKubernetes126UbuntuWorkloadClusterCuratedPackagesCertManagerSimp runCertManagerRemoteClusterInstallSimpleFlow(test) } -func TestVSphereKubernetes127UbuntuWorkloadClusterCuratedPackagesCertManagerSimpleFlow(t *testing.T) { +func TestVSphereKubernetes127UbuntuWorkloadClusterRegionalCuratedPackagesCertManagerSimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) framework.CheckCertManagerCredentials(t) provider := framework.NewVSphere(t, framework.WithUbuntu127()) @@ -1178,6 +1225,14 @@ func TestVSphereKubernetes128UbuntuWorkloadClusterCuratedPackagesCertManagerSimp runCertManagerRemoteClusterInstallSimpleFlow(test) } +func TestVSphereKubernetes129UbuntuWorkloadClusterRegionalCuratedPackagesCertManagerSimpleFlow(t *testing.T) { + framework.CheckCuratedPackagesCredentials(t) + framework.CheckCertManagerCredentials(t) + provider := framework.NewVSphere(t, framework.WithUbuntu129()) + test := SetupSimpleMultiCluster(t, provider, v1alpha1.Kube129) + runCertManagerRemoteClusterInstallSimpleFlow(test) +} + func TestVSphereKubernetes130UbuntuWorkloadClusterCuratedPackagesCertManagerSimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) framework.CheckCertManagerCredentials(t) @@ -1194,7 +1249,7 @@ func TestVSphereKubernetes126BottleRocketWorkloadClusterCuratedPackagesCertManag runCertManagerRemoteClusterInstallSimpleFlow(test) } -func TestVSphereKubernetes127BottleRocketWorkloadClusterCuratedPackagesCertManagerSimpleFlow(t *testing.T) { +func TestVSphereKubernetes127BottleRocketWorkloadClusterRegionalCuratedPackagesCertManagerSimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) framework.CheckCertManagerCredentials(t) provider := framework.NewVSphere(t, framework.WithBottleRocket127()) @@ -1210,6 +1265,14 @@ func TestVSphereKubernetes128BottleRocketWorkloadClusterCuratedPackagesCertManag runCertManagerRemoteClusterInstallSimpleFlow(test) } +func TestVSphereKubernetes129BottleRocketWorkloadClusterRegionalCuratedPackagesCertManagerSimpleFlow(t *testing.T) { + framework.CheckCuratedPackagesCredentials(t) + framework.CheckCertManagerCredentials(t) + provider := framework.NewVSphere(t, framework.WithBottleRocket129()) + test := SetupSimpleMultiCluster(t, provider, v1alpha1.Kube129) + runCertManagerRemoteClusterInstallSimpleFlow(test) +} + func TestVSphereKubernetes130BottleRocketWorkloadClusterCuratedPackagesCertManagerSimpleFlow(t *testing.T) { framework.CheckCuratedPackagesCredentials(t) framework.CheckCertManagerCredentials(t) @@ -1232,6 +1295,30 @@ func TestVSphereDownloadArtifacts(t *testing.T) { } // Flux +func TestVSphereKubernetes126GithubFlux(t *testing.T) { + test := framework.NewClusterE2ETest(t, + framework.NewVSphere(t, framework.WithUbuntu126()), + framework.WithFluxGithub(), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + ) + runFluxFlow(test) +} + +func TestVSphereKubernetes127GithubFlux(t *testing.T) { + test := framework.NewClusterE2ETest(t, + framework.NewVSphere(t, framework.WithUbuntu127()), + framework.WithFluxGithub(), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + ) + runFluxFlow(test) +} + func TestVSphereKubernetes128GithubFlux(t *testing.T) { test := framework.NewClusterE2ETest(t, framework.NewVSphere(t, framework.WithUbuntu128()), @@ -1244,6 +1331,54 @@ func TestVSphereKubernetes128GithubFlux(t *testing.T) { runFluxFlow(test) } +func TestVSphereKubernetes129GithubFlux(t *testing.T) { + test := framework.NewClusterE2ETest(t, + framework.NewVSphere(t, framework.WithUbuntu129()), + framework.WithFluxGithub(), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube129)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + ) + runFluxFlow(test) +} + +func TestVSphereKubernetes130GithubFlux(t *testing.T) { + test := framework.NewClusterE2ETest(t, + framework.NewVSphere(t, framework.WithUbuntu130()), + framework.WithFluxGithub(), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube130)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + ) + runFluxFlow(test) +} + +func TestVSphereKubernetes126GitFlux(t *testing.T) { + test := framework.NewClusterE2ETest(t, + framework.NewVSphere(t, framework.WithUbuntu126()), + framework.WithFluxGit(), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + ) + runFluxFlow(test) +} + +func TestVSphereKubernetes127GitFlux(t *testing.T) { + test := framework.NewClusterE2ETest(t, + framework.NewVSphere(t, framework.WithUbuntu127()), + framework.WithFluxGit(), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + ) + runFluxFlow(test) +} + func TestVSphereKubernetes128GitFlux(t *testing.T) { test := framework.NewClusterE2ETest(t, framework.NewVSphere(t, framework.WithUbuntu128()), @@ -1280,6 +1415,30 @@ func TestVSphereKubernetes130GitFlux(t *testing.T) { runFluxFlow(test) } +func TestVSphereKubernetes126BottleRocketGithubFlux(t *testing.T) { + test := framework.NewClusterE2ETest(t, + framework.NewVSphere(t, framework.WithBottleRocket126()), + framework.WithFluxGithub(), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + ) + runFluxFlow(test) +} + +func TestVSphereKubernetes127BottleRocketGithubFlux(t *testing.T) { + test := framework.NewClusterE2ETest(t, + framework.NewVSphere(t, framework.WithBottleRocket127()), + framework.WithFluxGithub(), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + ) + runFluxFlow(test) +} + func TestVSphereKubernetes128BottleRocketGithubFlux(t *testing.T) { test := framework.NewClusterE2ETest(t, framework.NewVSphere(t, framework.WithBottleRocket128()), @@ -1316,6 +1475,30 @@ func TestVSphereKubernetes130BottleRocketGithubFlux(t *testing.T) { runFluxFlow(test) } +func TestVSphereKubernetes126BottleRocketGitFlux(t *testing.T) { + test := framework.NewClusterE2ETest(t, + framework.NewVSphere(t, framework.WithBottleRocket126()), + framework.WithFluxGit(), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + ) + runFluxFlow(test) +} + +func TestVSphereKubernetes127BottleRocketGitFlux(t *testing.T) { + test := framework.NewClusterE2ETest(t, + framework.NewVSphere(t, framework.WithBottleRocket127()), + framework.WithFluxGit(), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + ) + runFluxFlow(test) +} + func TestVSphereKubernetes128BottleRocketGitFlux(t *testing.T) { test := framework.NewClusterE2ETest(t, framework.NewVSphere(t, framework.WithBottleRocket128()), @@ -1352,6 +1535,24 @@ func TestVSphereKubernetes130BottleRocketGitFlux(t *testing.T) { runFluxFlow(test) } +func TestVSphereKubernetes126To127GitFluxUpgrade(t *testing.T) { + provider := framework.NewVSphere(t, framework.WithUbuntu126()) + test := framework.NewClusterE2ETest(t, + provider, + framework.WithFluxGit(), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + ) + runUpgradeFlowWithFlux( + test, + v1alpha1.Kube127, + framework.WithClusterUpgrade(api.WithKubernetesVersion(v1alpha1.Kube127)), + provider.WithProviderUpgrade(provider.Ubuntu127Template()), + ) +} + func TestVSphereKubernetes127To128GitFluxUpgrade(t *testing.T) { provider := framework.NewVSphere(t, framework.WithUbuntu127()) test := framework.NewClusterE2ETest(t, @@ -1581,6 +1782,62 @@ func TestVSphereKubernetes130BottlerocketLabelsUpgradeFlow(t *testing.T) { } // Multicluster +func TestVSphereKubernetes126MulticlusterWorkloadCluster(t *testing.T) { + provider := framework.NewVSphere(t, framework.WithUbuntu126()) + test := framework.NewMulticlusterE2ETest( + t, + framework.NewClusterE2ETest( + t, + provider, + framework.WithClusterFiller( + api.WithKubernetesVersion(v1alpha1.Kube126), + api.WithControlPlaneCount(1), + api.WithWorkerNodeCount(1), + api.WithStackedEtcdTopology(), + ), + ), + framework.NewClusterE2ETest( + t, + provider, + framework.WithClusterFiller( + api.WithKubernetesVersion(v1alpha1.Kube126), + api.WithControlPlaneCount(1), + api.WithWorkerNodeCount(1), + api.WithStackedEtcdTopology(), + ), + ), + ) + runWorkloadClusterFlow(test) +} + +func TestVSphereKubernetes127MulticlusterWorkloadCluster(t *testing.T) { + provider := framework.NewVSphere(t, framework.WithUbuntu127()) + test := framework.NewMulticlusterE2ETest( + t, + framework.NewClusterE2ETest( + t, + provider, + framework.WithClusterFiller( + api.WithKubernetesVersion(v1alpha1.Kube127), + api.WithControlPlaneCount(1), + api.WithWorkerNodeCount(1), + api.WithStackedEtcdTopology(), + ), + ), + framework.NewClusterE2ETest( + t, + provider, + framework.WithClusterFiller( + api.WithKubernetesVersion(v1alpha1.Kube127), + api.WithControlPlaneCount(1), + api.WithWorkerNodeCount(1), + api.WithStackedEtcdTopology(), + ), + ), + ) + runWorkloadClusterFlow(test) +} + func TestVSphereKubernetes128MulticlusterWorkloadCluster(t *testing.T) { provider := framework.NewVSphere(t, framework.WithUbuntu128()) test := framework.NewMulticlusterE2ETest( @@ -1771,26 +2028,54 @@ func TestVSphereKubernetes130OIDC(t *testing.T) { runOIDCFlow(test) } -func TestVSphereKubernetes127To128OIDCUpgrade(t *testing.T) { - provider := framework.NewVSphere(t, framework.WithUbuntu127()) +func TestVSphereKubernetes129To130OIDCUpgrade(t *testing.T) { + provider := framework.NewVSphere(t, framework.WithUbuntu129()) test := framework.NewClusterE2ETest( t, provider, framework.WithOIDC(), - framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube129)), framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), framework.WithClusterFiller(api.WithControlPlaneCount(1)), framework.WithClusterFiller(api.WithWorkerNodeCount(1)), ) runUpgradeFlowWithOIDC( test, - v1alpha1.Kube128, - framework.WithClusterUpgrade(api.WithKubernetesVersion(v1alpha1.Kube128)), - provider.WithProviderUpgrade(provider.Ubuntu128Template()), + v1alpha1.Kube130, + framework.WithClusterUpgrade(api.WithKubernetesVersion(v1alpha1.Kube130)), + provider.WithProviderUpgrade(provider.Ubuntu130Template()), ) } // Proxy config +func TestVSphereKubernetes126UbuntuProxyConfigFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithUbuntu128(), + framework.WithPrivateNetwork()), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube128)), + framework.WithProxy(framework.VsphereProxyRequiredEnvVars), + ) + runProxyConfigFlow(test) +} + +func TestVSphereKubernetes127UbuntuProxyConfigFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithUbuntu128(), + framework.WithPrivateNetwork()), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube128)), + framework.WithProxy(framework.VsphereProxyRequiredEnvVars), + ) + runProxyConfigFlow(test) +} + func TestVSphereKubernetes128UbuntuProxyConfigFlow(t *testing.T) { test := framework.NewClusterE2ETest( t, @@ -1833,6 +2118,34 @@ func TestVSphereKubernetes130UbuntuProxyConfigFlow(t *testing.T) { runProxyConfigFlow(test) } +func TestVSphereKubernetes126BottlerocketProxyConfigFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithBottleRocket126(), + framework.WithPrivateNetwork()), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithProxy(framework.VsphereProxyRequiredEnvVars), + ) + runProxyConfigFlow(test) +} + +func TestVSphereKubernetes127BottlerocketProxyConfigFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithBottleRocket127(), + framework.WithPrivateNetwork()), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithProxy(framework.VsphereProxyRequiredEnvVars), + ) + runProxyConfigFlow(test) +} + func TestVSphereKubernetes128BottlerocketProxyConfigFlow(t *testing.T) { test := framework.NewClusterE2ETest( t, @@ -1876,19 +2189,45 @@ func TestVSphereKubernetes130BottlerocketProxyConfigFlow(t *testing.T) { } // Registry mirror -func TestVSphereKubernetes128UbuntuRegistryMirrorInsecureSkipVerify(t *testing.T) { +func TestVSphereKubernetes130UbuntuRegistryMirrorInsecureSkipVerify(t *testing.T) { test := framework.NewClusterE2ETest( t, - framework.NewVSphere(t, framework.WithUbuntu128(), framework.WithPrivateNetwork()), + framework.NewVSphere(t, framework.WithUbuntu130(), framework.WithPrivateNetwork()), framework.WithClusterFiller(api.WithControlPlaneCount(1)), framework.WithClusterFiller(api.WithWorkerNodeCount(1)), framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), - framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube128)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube130)), framework.WithRegistryMirrorInsecureSkipVerify(constants.VSphereProviderName), ) runRegistryMirrorConfigFlow(test) } +func TestVSphereKubernetes126UbuntuRegistryMirrorAndCert(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithUbuntu126(), framework.WithPrivateNetwork()), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithRegistryMirrorEndpointAndCert(constants.VSphereProviderName), + ) + runRegistryMirrorConfigFlow(test) +} + +func TestVSphereKubernetes127UbuntuRegistryMirrorAndCert(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithUbuntu127(), framework.WithPrivateNetwork()), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithRegistryMirrorEndpointAndCert(constants.VSphereProviderName), + ) + runRegistryMirrorConfigFlow(test) +} + func TestVSphereKubernetes128UbuntuRegistryMirrorAndCert(t *testing.T) { test := framework.NewClusterE2ETest( t, @@ -1928,6 +2267,32 @@ func TestVSphereKubernetes130UbuntuRegistryMirrorAndCert(t *testing.T) { runRegistryMirrorConfigFlow(test) } +func TestVSphereKubernetes126BottlerocketRegistryMirrorAndCert(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithBottleRocket126(), framework.WithPrivateNetwork()), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithRegistryMirrorEndpointAndCert(constants.VSphereProviderName), + ) + runRegistryMirrorConfigFlow(test) +} + +func TestVSphereKubernetes127BottlerocketRegistryMirrorAndCert(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithBottleRocket127(), framework.WithPrivateNetwork()), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithRegistryMirrorEndpointAndCert(constants.VSphereProviderName), + ) + runRegistryMirrorConfigFlow(test) +} + func TestVSphereKubernetes128BottlerocketRegistryMirrorAndCert(t *testing.T) { test := framework.NewClusterE2ETest( t, @@ -1967,6 +2332,32 @@ func TestVSphereKubernetes130BottlerocketRegistryMirrorAndCert(t *testing.T) { runRegistryMirrorConfigFlow(test) } +func TestVSphereKubernetes126UbuntuAuthenticatedRegistryMirror(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithUbuntu126(), framework.WithPrivateNetwork()), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithAuthenticatedRegistryMirror(constants.VSphereProviderName), + ) + runRegistryMirrorConfigFlow(test) +} + +func TestVSphereKubernetes127UbuntuAuthenticatedRegistryMirror(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithUbuntu127(), framework.WithPrivateNetwork()), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithAuthenticatedRegistryMirror(constants.VSphereProviderName), + ) + runRegistryMirrorConfigFlow(test) +} + func TestVSphereKubernetes128UbuntuAuthenticatedRegistryMirror(t *testing.T) { test := framework.NewClusterE2ETest( t, @@ -2088,6 +2479,23 @@ func TestVSphereKubernetes129UbuntuAuthenticatedRegistryMirrorCuratedPackagesSim runCuratedPackageInstallSimpleFlowRegistryMirror(test) } +func TestVSphereKubernetes130UbuntuAuthenticatedRegistryMirrorCuratedPackagesSimpleFlow(t *testing.T) { + framework.CheckCuratedPackagesCredentials(t) + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithUbuntu130(), framework.WithPrivateNetwork()), + framework.WithClusterFiller(api.WithControlPlaneCount(1)), + framework.WithClusterFiller(api.WithWorkerNodeCount(1)), + framework.WithClusterFiller(api.WithExternalEtcdTopology(1)), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube130)), + framework.WithAuthenticatedRegistryMirror(constants.VSphereProviderName), + framework.WithPackageConfig(t, packageBundleURI(v1alpha1.Kube130), + EksaPackageControllerHelmChartName, EksaPackageControllerHelmURI, + EksaPackageControllerHelmVersion, EksaPackageControllerHelmValues, nil), + ) + runCuratedPackageInstallSimpleFlowRegistryMirror(test) +} + // Clone mode func TestVSphereKubernetes128FullClone(t *testing.T) { diskSize := 30 @@ -2463,6 +2871,28 @@ func TestVSphereKubernetes130RedHatSimpleFlow(t *testing.T) { runSimpleFlow(test) } +func TestVSphereKubernetes126ThreeReplicasFiveWorkersSimpleFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithUbuntu126()), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithClusterFiller(api.WithControlPlaneCount(3)), + framework.WithClusterFiller(api.WithWorkerNodeCount(5)), + ) + runSimpleFlow(test) +} + +func TestVSphereKubernetes127ThreeReplicasFiveWorkersSimpleFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithUbuntu127()), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithClusterFiller(api.WithControlPlaneCount(3)), + framework.WithClusterFiller(api.WithWorkerNodeCount(5)), + ) + runSimpleFlow(test) +} + func TestVSphereKubernetes128ThreeReplicasFiveWorkersSimpleFlow(t *testing.T) { test := framework.NewClusterE2ETest( t, @@ -2496,6 +2926,26 @@ func TestVSphereKubernetes130ThreeReplicasFiveWorkersSimpleFlow(t *testing.T) { runSimpleFlow(test) } +func TestVSphereKubernetes126DifferentNamespaceSimpleFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithUbuntu126(), framework.WithVSphereFillers(api.WithVSphereConfigNamespaceForAllMachinesAndDatacenter(clusterNamespace))), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithClusterFiller(api.WithClusterNamespace(clusterNamespace)), + ) + runSimpleFlow(test) +} + +func TestVSphereKubernetes127DifferentNamespaceSimpleFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithUbuntu127(), framework.WithVSphereFillers(api.WithVSphereConfigNamespaceForAllMachinesAndDatacenter(clusterNamespace))), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithClusterFiller(api.WithClusterNamespace(clusterNamespace)), + ) + runSimpleFlow(test) +} + func TestVSphereKubernetes128DifferentNamespaceSimpleFlow(t *testing.T) { test := framework.NewClusterE2ETest( t, @@ -2526,6 +2976,15 @@ func TestVSphereKubernetes130DifferentNamespaceSimpleFlow(t *testing.T) { runSimpleFlow(test) } +func TestVSphereKubernetes126BottleRocketSimpleFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithBottleRocket126()), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + ) + runSimpleFlow(test) +} + func TestVSphereKubernetes127BottleRocketSimpleFlow(t *testing.T) { test := framework.NewClusterE2ETest( t, @@ -2562,6 +3021,28 @@ func TestVSphereKubernetes130BottleRocketSimpleFlow(t *testing.T) { runSimpleFlow(test) } +func TestVSphereKubernetes126BottleRocketThreeReplicasFiveWorkersSimpleFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithBottleRocket126()), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithClusterFiller(api.WithControlPlaneCount(3)), + framework.WithClusterFiller(api.WithWorkerNodeCount(5)), + ) + runSimpleFlow(test) +} + +func TestVSphereKubernetes127BottleRocketThreeReplicasFiveWorkersSimpleFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithBottleRocket127()), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithClusterFiller(api.WithControlPlaneCount(3)), + framework.WithClusterFiller(api.WithWorkerNodeCount(5)), + ) + runSimpleFlow(test) +} + func TestVSphereKubernetes128BottleRocketThreeReplicasFiveWorkersSimpleFlow(t *testing.T) { test := framework.NewClusterE2ETest( t, @@ -2595,6 +3076,28 @@ func TestVSphereKubernetes130BottleRocketThreeReplicasFiveWorkersSimpleFlow(t *t runSimpleFlow(test) } +func TestVSphereKubernetes126BottleRocketDifferentNamespaceSimpleFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithBottleRocket126(), + framework.WithVSphereFillers(api.WithVSphereConfigNamespaceForAllMachinesAndDatacenter(clusterNamespace))), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + framework.WithClusterFiller(api.WithClusterNamespace(clusterNamespace)), + ) + runSimpleFlow(test) +} + +func TestVSphereKubernetes127BottleRocketDifferentNamespaceSimpleFlow(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere(t, framework.WithBottleRocket127(), + framework.WithVSphereFillers(api.WithVSphereConfigNamespaceForAllMachinesAndDatacenter(clusterNamespace))), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + framework.WithClusterFiller(api.WithClusterNamespace(clusterNamespace)), + ) + runSimpleFlow(test) +} + func TestVSphereKubernetes128BottleRocketDifferentNamespaceSimpleFlow(t *testing.T) { test := framework.NewClusterE2ETest( t, @@ -2718,6 +3221,32 @@ func TestVSphereKubernetes130UbuntuWithNTP(t *testing.T) { } // Bottlerocket Configuration test +func TestVSphereKubernetes126BottlerocketWithBottlerocketKubernetesSettings(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere( + t, framework.WithBottleRocket126(), + framework.WithBottlerocketKubernetesSettingsForAllMachines(), + framework.WithSSHAuthorizedKeyForAllMachines(""), // set SSH key to empty + ), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube126)), + ) + runBottlerocketConfigurationFlow(test) +} + +func TestVSphereKubernetes127BottlerocketWithBottlerocketKubernetesSettings(t *testing.T) { + test := framework.NewClusterE2ETest( + t, + framework.NewVSphere( + t, framework.WithBottleRocket127(), + framework.WithBottlerocketKubernetesSettingsForAllMachines(), + framework.WithSSHAuthorizedKeyForAllMachines(""), // set SSH key to empty + ), + framework.WithClusterFiller(api.WithKubernetesVersion(v1alpha1.Kube127)), + ) + runBottlerocketConfigurationFlow(test) +} + func TestVSphereKubernetes128BottlerocketWithBottlerocketKubernetesSettings(t *testing.T) { test := framework.NewClusterE2ETest( t, @@ -3351,7 +3880,7 @@ func TestVSphereKubernetes130Ubuntu2004To2204Upgrade(t *testing.T) { } func TestVSphereKubernetes127UbuntuTo128InPlaceUpgradeCPOnly(t *testing.T) { - provider := framework.NewVSphere(t, framework.WithUbuntu127()) + provider := framework.NewVSphere(t, framework.WithUbuntu129()) kube127 := v1alpha1.Kube127 kube128 := v1alpha1.Kube128 test := framework.NewClusterE2ETest( @@ -3379,20 +3908,20 @@ func TestVSphereKubernetes127UbuntuTo128InPlaceUpgradeCPOnly(t *testing.T) { ) } -func TestVSphereKubernetes127UbuntuTo128InPlaceUpgradeWorkerOnly(t *testing.T) { - provider := framework.NewVSphere(t, framework.WithUbuntu127()) - kube127 := v1alpha1.Kube127 - kube128 := v1alpha1.Kube128 +func TestVSphereKubernetes129UbuntuTo130InPlaceUpgradeWorkerOnly(t *testing.T) { + provider := framework.NewVSphere(t, framework.WithUbuntu129()) + kube129 := v1alpha1.Kube129 + kube130 := v1alpha1.Kube130 test := framework.NewClusterE2ETest( t, provider, framework.WithEnvVar(features.VSphereInPlaceEnvVar, "true"), ).WithClusterConfig( api.ClusterToConfigFiller( - api.WithKubernetesVersion(kube128), + api.WithKubernetesVersion(kube129), api.WithControlPlaneCount(1), api.WithWorkerNodeCount(1), - api.WithWorkerKubernetesVersion(nodeGroupLabel1, &kube127), + api.WithWorkerKubernetesVersion(nodeGroupLabel1, &kube129), api.WithStackedEtcdTopology(), api.WithInPlaceUpgradeStrategy(), ), @@ -3401,12 +3930,12 @@ func TestVSphereKubernetes127UbuntuTo128InPlaceUpgradeWorkerOnly(t *testing.T) { ), ) test.UpdateClusterConfig( - provider.WithKubeVersionAndOSMachineConfig(providers.GetControlPlaneNodeName(test.ClusterName), kube128, framework.Ubuntu2004), + provider.WithKubeVersionAndOSMachineConfig(providers.GetControlPlaneNodeName(test.ClusterName), kube130, framework.Ubuntu2004), ) runInPlaceUpgradeFlow( test, - framework.WithClusterUpgrade(api.WithWorkerKubernetesVersion(nodeGroupLabel1, &kube128)), - provider.WithProviderUpgrade(provider.Ubuntu128Template()), // this will just set everything to 1.28 as expected + framework.WithClusterUpgrade(api.WithWorkerKubernetesVersion(nodeGroupLabel1, &kube130)), + provider.WithProviderUpgrade(provider.Ubuntu130Template()), // this will just set everything to 1.30 as expected ) }