@@ -28,6 +28,7 @@ import (
28
28
"k8s.io/utils/ptr"
29
29
30
30
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
31
+ "sigs.k8s.io/cluster-api/test/framework/kubernetesversions"
31
32
)
32
33
33
34
var (
@@ -325,3 +326,31 @@ var _ = Describe("When testing clusterctl upgrades using ClusterClass (v1.7=>cur
325
326
}
326
327
})
327
328
})
329
+
330
+ var _ = Describe ("When testing clusterctl upgrades using ClusterClass (v1.7=>current) on K8S latest ci mgmt cluster [ClusterClass]" , func () {
331
+ // Get v1.7 latest stable release
332
+ version := "1.7"
333
+ stableRelease , err := GetStableReleaseOfMinor (ctx , version )
334
+ Expect (err ).ToNot (HaveOccurred (), "Failed to get stable version for minor release : %s" , version )
335
+ ClusterctlUpgradeSpec (ctx , func () ClusterctlUpgradeSpecInput {
336
+ initKubernetesVersion , err := kubernetesversions .ResolveVersion (ctx , e2eConfig .GetVariable ("KUBERNETES_VERSION_LATEST_CI" ))
337
+ Expect (err ).ToNot (HaveOccurred ())
338
+ return ClusterctlUpgradeSpecInput {
339
+ E2EConfig : e2eConfig ,
340
+ ClusterctlConfigPath : clusterctlConfigPath ,
341
+ BootstrapClusterProxy : bootstrapClusterProxy ,
342
+ ArtifactFolder : artifactFolder ,
343
+ SkipCleanup : skipCleanup ,
344
+ InfrastructureProvider : ptr .To ("docker" ),
345
+ InitWithBinary : fmt .Sprintf (clusterctlDownloadURL , stableRelease ),
346
+ InitWithProvidersContract : "v1beta1" ,
347
+ // Note: InitWithKubernetesVersion should be the latest of the next supported kubernetes version by the target Cluster API version.
348
+ // Note: WorkloadKubernetesVersion should be the highest mgmt cluster version supported by the source Cluster API version.
349
+ InitWithKubernetesVersion : initKubernetesVersion ,
350
+ WorkloadKubernetesVersion : "v1.30.0" ,
351
+ MgmtFlavor : "topology" ,
352
+ WorkloadFlavor : "topology" ,
353
+ UseKindForManagementCluster : true ,
354
+ }
355
+ })
356
+ })
0 commit comments